[eepro100] 82557 driver can drive 82559..?
atul srivastava
atul srivastava" <atulsrivastava9@rediffmail.com
Fri Aug 30 09:48:00 2002
I am using eepro100 driver of etherboot package.
my driver strangley hangs on codes like loading or storing from
SCBStatus , SCBPointer or SCBCmd.
this driver is minimised verson of normal linux one ,
and has only one recv. descriptor that is swcanned with
polling.
currently it is hanging on ,
outl(virt_to_bus(txfd.status), ioaddr+SCBPointer);
all these points through some sort of PCI issues.
but reason i put my query on eepro100 list is that this
hang is only when i receive a packet before etherboot
sends a BOOTP request otherwise it goes fine and goes on
sending bootp request MAX_TRY times.
PCI BARS initialisation seems to be o.k , also i am able
to read the MAC address and correctly checksum the
Eeprom.
what kind of PCI or card initialisation issue is possible..?
Best Regards,
Ashish Anand
On Wed, 28 Aug 2002 Donald Becker wrote :
>On 28 Aug 2002, atul srivastava wrote:
>
> > this driver is written for 82557 but i am using 82559
> > card .
> > my question is that can a 82557 driver aplicable to both 82559
>and
> > 82559ER ?
>
>For the most part, yes. The '559 and '559ER were designed to be
>fully
>backwards compatible, with new features. But, as is typical with
>such
>things, they do their own set of bugs.
>
> > also my card reports status 0090 before and after Transmit
>command
> > that as per manual indicates no resources,
>
>There are various bugs that trigger a "no resources" report. In
>this
>case my guess is that you have encountered the timing bug when
>loading
>the SCBPointer, RxAddrLoad or CUCmdBase. These operations used
>to be
>effectively instantaneous (less than a PCI bus transaction). But
>a
>firmware change in a later chip caused them to take an
>unpredictable (or
>just undocumented) amount of time.
>
> outl(0, ioaddr + SCBPointer);
> inl(ioaddr + SCBPointer); /* Flush to PCI. */
> udelay(10); /* Bogus, but it avoids the bug. */
> /* Note: these next two operations can take a while. */
> do_slow_command(dev, RxAddrLoad);
> do_slow_command(dev, CUCmdBase);
>
>
>--
>Donald Becker becker@scyld.com
>Scyld Computing Corporation http://www.scyld.com
>410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
>Annapolis MD 21403 410-990-9993
>
__________________________________________________________
Give your Company an email address like
ravi @ ravi-exports.com. Sign up for Rediffmail Pro today!
Know more. http://www.rediffmailpro.com/signup/