Re: wait_for_cmd_done timeout because of bus mastering..

Donald Becker <[email protected]> Tue, 22 Apr 2003 10:39:07 -0400 (EDT)
Newsgroups gmane.linux.drivers.eepro100.devel
Message-ID <[email protected]>
On Tue, 22 Apr 2003, Ashish anand wrote:

> > > But my card reports wait_for_cmd_done timeout from very begining
> YES THIS WAS THE PROBLEM OF MISCONFIGURATION OF PCI-BRIDGE AND HENCE
> BUSMASTERING..THANKS FOR GUIDING ME.

Good, problem solved.

> I observed that the in etherboot version the first two fields of
> TxFD structure is status and command ( both 16 bits)
> while in linux version it is only one field status ( 32 bits)
> secondly in etherboot commandbits are defined like..
> enum commands {
>   CmdNOp = 0,
>   CmdIASetup = 1,
..
> and in linux version commandbits are defined like,
> enum commands {
>         CmdNOp = 0, CmdIASetup = 0x10000, CmdConfigure = 0x20000,

I made this change several years ago.  Consistently using 32 bit values
in the descriptors makes endian correction easier to verify, and
operations slightly more efficient -- we clear the old status when
writing the new command.

-- 
Donald Becker				[email protected]
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993