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