[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4D93917F.6090309@danielpalmer.co.uk>
Date: Wed, 30 Mar 2011 21:24:31 +0100
From: Daniel Palmer <me@...ielpalmer.co.uk>
To: Arnd Bergmann <arnd@...db.de>
CC: Alan Cox <alan@...rguk.ukuu.org.uk>, linux-ide@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: PATA_ARTOP reads byte from PCI IO port without mapping it to
the right address.
> Is this an ARM machine? The platform specific mach/io.h header
Sorry, I should have mentioned it more explicitly.
The machine is an SH4 based (The processor model is SH7751R, board is
landisk.. in /arch/sh/include/mach-landisk/).
> You have to ioremap() the physical address 0xfe240000 to a virtual
> address, and then add the base address to the number inside of the
> __io macro, e.g.
>
>
>
-- snip --
Ok, that makes a lot of sense. This is the first time I've ever touched
PCI.
I've looked around and I can't right now see where that matches up with
the SH/board specific code but I'll have a better look later.
We've been trying to work this out for a few days.. we were fudging the
io port base address in arch/sh/kernel/ioport.c to the start of the PCI
space. But we didn't think that was the right thing to be doing.
We have another board with the same processor and e100 NIC that uses the
same mapping to 0x1400 and uses io ports but worked fine. So we guessed
it was pata_artops use of inb() .. the person that did a lot of changes
to this board's code recently also wrote that he thought it was
pata_artops fault when I asked on the linux-sh list.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists