[eepro100] Slef Test Failed

Donald Becker becker at scyld.com
Wed Feb 1 15:03:19 PST 2006


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 level
> i noticed there are two lines before self test in driver
>  
>                                     self_test_results[0] = 0;
>                                     self_test_results[1] = -1;
>  
> Now when
>                           outl(tx_ring_dma | PortSelfTest, ioaddr +
> SCBPort);
> statement is executed which i  think may be changing both 
> self_test_results[0] and  self_test_results[1] that is total of 8 bytes.

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  self_test_results[1]  then
>  
>                                     self_test_results[0] = 0x4f4518b;
>                                     self_test_results[1] = -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 
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 
bus transaction correctly.  Or there might be a 32/64 bit address or 
data transfer issue. 


-- 
Donald Becker				becker at scyld.com
Scyld Software	 			Scyld Beowulf cluster systems
914 Bay Ridge Road, Suite 220		www.scyld.com
Annapolis MD 21403			410-990-9993



More information about the eepro100 mailing list