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

Klaus Nielsen (jimbo@zorland.dk)
Sat, 10 Jul 1999 17:11:06 +0200


Mr. Garzik,

thank you for your suggestion. But unfortunately, as I mention in the
previous post I have already tried readb() with the same result.
Actually I think that they both results in a "movb" instruction on
the Intel/x86 architecture.

Maybe it's a compatibility problem between the motherboard chipset
and the PLX9052 PCI controller on the card.

It seems like the first read succeeds but leaves the card in a wrong
state for subsequent reads. Well,- the subsequent reads actually seem
to succeed. But when accessing the location in memory, to which data
were moved from the PCI memory, with a conditional statement or for
putting on a call stack - the system blocks. As if the memory are not
yet ready to respond after the move operation.

I am puzzeled.

PS: The memory access flag in the card PCI COMMAND register is
enabled. If not, it would have frozen on the actual 'movb' instruction
that attempted to read from the card memory. And the first one at
that.

On Sat, 10 Jul 1999, Jeff Garzik wrote:
> Read linux/Documentation/IO-mapping.txt, and then use read?() and
> write?() for MMIO. For example:
>
> byArgh = readb(global_vmemaddr);
> if(byArgh==0) printk(KERN_DEBUG "byArgh\n");
> writeb (0x5a, global_vmemaddr);
> byArgh = readb(global_vmemaddr);

--
                      Best regards, Klaus.
----------------------------------------------------
     Klaus J. O. Nielsen
 System Engineer, COCOM A/S, www.cocom.dk
 Personal web: http://www.zorland.dk/jimbo
 PGP public key: http://www.zorland.dk/jimbo/kjn.asc

- 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/