lkml.org 
[lkml]   [2000]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectProblem autonegotiation with tulip driver?
From
Date
In the current version (and may previous versions) of the tulip driver
in media.c in the function tulip_select_media() with mleaf->type being
2 or 4, we have the following code:

if (p[1] & 0x40) { /* SIA (CSR13-15) setup values are provided. */
csr13val = setup[0];
csr14val = setup[1];
csr15dir = (setup[3]<<16) | setup[2];
csr15val = (setup[4]<<16) | setup[2];
outl(0, ioaddr + CSR13);
outl(csr14val, ioaddr + CSR14);
outl(csr15dir, ioaddr + CSR15); /* Direction */
outl(csr15val, ioaddr + CSR15); /* Data */
outl(csr13val, ioaddr + CSR13);
} else {
csr13val = 1;
csr14val = 0x0003FF7F;
^^^^^^^^^^
csr15dir = (setup[0]<<16) | 0x0008;
csr15val = (setup[1]<<16) | 0x0008;

In the value underscored above, autonegotiation of the media is turned
off if the eeprom doesn't provide the CSR14 value. This doesn't seem
right (and doesn't work on our Ramix cards), it seems like you would
want to leave autonegotiation on here (the value would be 0x0003FFFF).
Without this, our Ramix cards will not autonegotiate. With the
change, they work great.

Corey
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:45    [W:0.020 / U:1.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site