8260 FCC Ethernet problem

Rune Torgersen runet at innovsys.com
Wed Sep 15 05:22:52 EST 2004


I just found that there is a problem in the FCC driver.
This was fixed in some versions of the 2.4 source....

Th Local Protect Bit is not set when enterring Full Duplex mode. This
causes the 
FCC to turn off the transmitter when packets are received, and also
causes 
NonOctet frame errors and CRC errors (late collission)

This diff is agains the 2.6.7 sources, but should apply cleanly against
top of source.

===== arch/ppc/8260_io/fcc_enet.c 1.20 vs edited =====
--- 1.20/arch/ppc/8260_io/fcc_enet.c    2004-07-06 16:44:29 -05:00
+++ edited/arch/ppc/8260_io/fcc_enet.c  2004-09-10 14:44:05 -05:00
@@ -2013,9 +2013,9 @@
        fccp = fcp->fccp;

        if (duplex)
-               fccp->fcc_fpsmr |= FCC_PSMR_FDE;
+               fccp->fcc_fpsmr |= FCC_PSMR_FDE | FCC_PSMR_LPB;
        else
-               fccp->fcc_fpsmr &= ~FCC_PSMR_FDE;
+               fccp->fcc_fpsmr &= ~(FCC_PSMR_FDE | FCC_PSMR_LPB);

        /* Enable transmit/receive */
        fccp->fcc_gfmr |= FCC_GFMR_ENR | FCC_GFMR_ENT;


Rune Torgersen
System Developer
Innovative Systems LLC
1000 Innovative Drive
Mitchell, SD 57301
Ph: 605-995-6120
www.innovsys.com



More information about the Linuxppc-dev mailing list