Re: Slef Test Failed

Donald Becker <[email protected]> Wed, 1 Feb 2006 15:03:19 -0800 (PST)
Newsgroups gmane.linux.drivers.eepro100.devel
Message-ID <[email protected]>
On Wed, 1 Feb 2006, aman-ul- haq wrote:

> i am working with eepro driver on mips processor with my out own
> manufactured PCI controller. we have been able to configure card get it=
's
> configuration space and read etc. When driver is loaded eeprom checksum
> is passed but self test is gets failed. When is dig it down to bit leve=
l
> i noticed there are two lines before self test in driver
> =A0
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 self_test_results[0] =3D 0;
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 self_test_results[1] =3D -1;
> =A0
> Now when
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0 outl(tx_ring_dma | PortSelfTest, ioaddr +
> SCBPort);
> statement is executed which i=A0 think may be changing both=A0
> self_test_results[0] and=A0 self_test_results[1] that is total of 8 byt=
es.

I think that you already know the answer here...

> But when i return from this statement STATUS register in my controller
> states that master abort has occured

...Which means a PCI transaction did not complete...

> and through debugger when i print
> the values of self_test_results[0] and=A0 self_test_results[1]=A0 then
> =A0
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0self_test_results[0] =3D 0x4f4518b;
> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 self_test_results[1] =3D -1;
> which means that IO has been done on self_test_results[0] that now
> contains checksum but nothing has been done to self_test_results[1] ,
> that's why checksum fails.
> Is this the problem of my settings in controller register?

Almost certainly yes.  The chip did not complete one of the bus=20
transactions.  The master abort confirms this.

> Is my
> controller is not dealing with multibyte transfers?

That would be my first guess.  But it also might not be completing a PCI=20
bus transaction correctly.  Or there might be a 32/64 bit address or=20
data transfer issue.=20


--=20
Donald Becker				[email protected]
Scyld Software	 			Scyld Beowulf cluster systems
914 Bay Ridge Road, Suite 220		www.scyld.com
Annapolis MD 21403			410-990-9993