wait_for_cmd_done timeout because of bus mastering..

"Ashish anand" <[email protected]> Tue, 22 Apr 2003 19:40:02 +0530
Newsgroups gmane.linux.drivers.eepro100.devel
Message-ID <[email protected]>
Hello Donald,


> > But my card reports wait_for_cmd_done timeout from very begining
> after the
> > first ifconfig and there is no load at all...whether sleep-mode bit
> i
> > relevant in my case...
> 
> The "high load" is specific PCI bus traffic.  It might occur with one
> chipset+configuration and not with a similar chipset+configuration.
> 
> My guess is that you actually have bus-master problems.

YES THIS WAS THE PROBLEM OF MISCONFIGURATION OF PCI-BRIDGE AND HENCE
BUSMASTERING..THANKS FOR GUIDING ME.
 
now after eepro100 card works well under linux i  was using etherboot
eepro100.c  in my bootloader for tftp download.

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,
  CmdConfigure = 2,
  CmdMulticastList = 3,
  CmdTx = 4,
  CmdTDR = 5,
  CmdDump = 6,
  CmdDiagnose = 7,
   CmdSuspend = 0x4000,      
  CmdIntr = 0x2000,         
  CmdTxFlex = 0x0008,       
};

and in linux version commandbits are defined like,
enum commands {
        CmdNOp = 0, CmdIASetup = 0x10000, CmdConfigure = 0x20000,
        CmdMulticastList = 0x30000, CmdTx = 0x40000, CmdTDR = 0x50000,
        CmdDump = 0x60000, CmdDiagnose = 0x70000,
        CmdSuspend = 0x40000000,        /* Suspend after completion. */
        CmdIntr = 0x20000000,           /* Interrupt after completion. */
        CmdTxFlex = 0x00080000,         /* Use "Flexible mode" for CmdTx
command. */
};

I was just wondering how two definition can be used for driving same
chip..?

Best Regards,
Ashish Anand