Messages in this thread | | | Date | Sat, 10 Jul 1999 10:50:21 -0700 (PDT) | From | "B. James Phillippe" <> | Subject | Re: Unable to read memory mapped PCI memory the second time == freezeup.. |
| |
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/
| |