Re: Unable to read memory mapped PCI memory the second time ==

B. James Phillippe (bryan@terran.org)
Sat, 10 Jul 1999 10:50:21 -0700 (PDT)


On Sat, 10 Jul 1999, Klaus Nielsen wrote:

> Aloha guys
>
> I am writing an Ethernet driver for a Internal PCI cable modem with
> some onboard memory that I have mapped using ioremap.
...
> It is mapped using:
>
> // Remap physical PCI controller LCR memory to virtual memory
> if(((char*)(global_lcr_vmemaddr = (u32) ioremap(global_pci_lcr_memaddr, ...
...
> return -EAGAIN;
>
> // Remap physical PCI memory to virtual memory
> if((((char*)global_vmemaddr = (u32) ioremap(global_pci_memaddr,...
>

I don't know what the problem is, but I couldn't help noticing these lines
of code look deliberately un-64bit-clean. Is there a reason for this?

BTW, just for sanity check, where did these addresses "global_pci_memaddr"
come from? They were read using pcibios_read_config_dword, right?

> I have tried changing compiler (to gcc 2.7.2.3), changing the
> modem board with one that works with my WinNT driver, adding
> udelay(60) between accesses, using readb() instead of direct access -
> no change.

Silly question, but as Jeff suggested, when you tried readb you also tried
writeb, yes? :-)

-bp

--
# bryan at terran dot org
# http://www.terran.org/~bryan

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/