Lines 86-91
Link Here
|
86 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_13 0x0269 |
86 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_13 0x0269 |
87 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_14 0x0372 |
87 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_14 0x0372 |
88 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_15 0x0373 |
88 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_15 0x0373 |
|
|
89 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_16 0x03e5 |
90 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_17 0x03e6 |
91 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_18 0x03ee |
92 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_19 0x03ef |
93 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_20 0x0450 |
94 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_21 0x0451 |
95 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_22 0x0452 |
96 |
#define PCI_DEVICE_ID_NVIDIA_NVENET_23 0x0453 |
89 |
|
97 |
|
90 |
|
98 |
|
91 |
/* |
99 |
/* |
Lines 173-179
Link Here
|
173 |
NvRegRingSizes = 0x108, |
181 |
NvRegRingSizes = 0x108, |
174 |
#define NVREG_RINGSZ_TXSHIFT 0 |
182 |
#define NVREG_RINGSZ_TXSHIFT 0 |
175 |
#define NVREG_RINGSZ_RXSHIFT 16 |
183 |
#define NVREG_RINGSZ_RXSHIFT 16 |
176 |
NvRegUnknownTransmitterReg = 0x10c, |
184 |
NvRegTransmitPoll = 0x10c, |
|
|
185 |
#define NVREG_TRANSMITPOLL_MAC_ADDR_REV 0x00008000 |
177 |
NvRegLinkSpeed = 0x110, |
186 |
NvRegLinkSpeed = 0x110, |
178 |
#define NVREG_LINKSPEED_FORCE 0x10000 |
187 |
#define NVREG_LINKSPEED_FORCE 0x10000 |
179 |
#define NVREG_LINKSPEED_10 1000 |
188 |
#define NVREG_LINKSPEED_10 1000 |
Lines 729-735
Link Here
|
729 |
"stop_tx: TransmitterStatus remained busy"); |
738 |
"stop_tx: TransmitterStatus remained busy"); |
730 |
|
739 |
|
731 |
nv_udelay(NV_TXSTOP_DELAY2); |
740 |
nv_udelay(NV_TXSTOP_DELAY2); |
732 |
writel(0, base + NvRegUnknownTransmitterReg); |
741 |
writel(readl(base + NvRegTransmitPoll) & NVREG_TRANSMITPOLL_MAC_ADDR_REV, base + NvRegTransmitPoll); |
733 |
} |
742 |
} |
734 |
|
743 |
|
735 |
static void mac_reset(struct nic *dev) |
744 |
static void mac_reset(struct nic *dev) |
Lines 1035-1041
Link Here
|
1035 |
init_ring(nic); |
1044 |
init_ring(nic); |
1036 |
|
1045 |
|
1037 |
writel(0, base + NvRegLinkSpeed); |
1046 |
writel(0, base + NvRegLinkSpeed); |
1038 |
writel(0, base + NvRegUnknownTransmitterReg); |
1047 |
writel(readl(base + NvRegTransmitPoll) & NVREG_TRANSMITPOLL_MAC_ADDR_REV, base + NvRegTransmitPoll); |
1039 |
txrx_reset(nic); |
1048 |
txrx_reset(nic); |
1040 |
writel(0, base + NvRegUnknownSetupReg6); |
1049 |
writel(0, base + NvRegUnknownSetupReg6); |
1041 |
|
1050 |
|
Lines 1359-1370
Link Here
|
1359 |
np->orig_mac[0] = readl(base + NvRegMacAddrA); |
1368 |
np->orig_mac[0] = readl(base + NvRegMacAddrA); |
1360 |
np->orig_mac[1] = readl(base + NvRegMacAddrB); |
1369 |
np->orig_mac[1] = readl(base + NvRegMacAddrB); |
1361 |
|
1370 |
|
1362 |
nic->node_addr[0] = (np->orig_mac[1] >> 8) & 0xff; |
1371 |
/* check the workaround bit for correct mac address order */ |
1363 |
nic->node_addr[1] = (np->orig_mac[1] >> 0) & 0xff; |
1372 |
if (readl(base + NvRegTransmitPoll) & NVREG_TRANSMITPOLL_MAC_ADDR_REV) { |
1364 |
nic->node_addr[2] = (np->orig_mac[0] >> 24) & 0xff; |
1373 |
/* mac address is already in correct order */ |
1365 |
nic->node_addr[3] = (np->orig_mac[0] >> 16) & 0xff; |
1374 |
nic->node_addr[0] = (np->orig_mac[0] >> 0) & 0xff; |
1366 |
nic->node_addr[4] = (np->orig_mac[0] >> 8) & 0xff; |
1375 |
nic->node_addr[1] = (np->orig_mac[0] >> 8) & 0xff; |
1367 |
nic->node_addr[5] = (np->orig_mac[0] >> 0) & 0xff; |
1376 |
nic->node_addr[2] = (np->orig_mac[0] >> 16) & 0xff; |
|
|
1377 |
nic->node_addr[3] = (np->orig_mac[0] >> 24) & 0xff; |
1378 |
nic->node_addr[4] = (np->orig_mac[1] >> 0) & 0xff; |
1379 |
nic->node_addr[5] = (np->orig_mac[1] >> 8) & 0xff; |
1380 |
} else { |
1381 |
/* need to reverse mac address to correct order */ |
1382 |
nic->node_addr[0] = (np->orig_mac[1] >> 8) & 0xff; |
1383 |
nic->node_addr[1] = (np->orig_mac[1] >> 0) & 0xff; |
1384 |
nic->node_addr[2] = (np->orig_mac[0] >> 24) & 0xff; |
1385 |
nic->node_addr[3] = (np->orig_mac[0] >> 16) & 0xff; |
1386 |
nic->node_addr[4] = (np->orig_mac[0] >> 8) & 0xff; |
1387 |
nic->node_addr[5] = (np->orig_mac[0] >> 0) & 0xff; |
1388 |
} |
1368 |
#ifdef LINUX |
1389 |
#ifdef LINUX |
1369 |
if (!is_valid_ether_addr(dev->dev_addr)) { |
1390 |
if (!is_valid_ether_addr(dev->dev_addr)) { |
1370 |
/* |
1391 |
/* |
Lines 1448-1453
Link Here
|
1448 |
case 0x0372: |
1469 |
case 0x0372: |
1449 |
/* Fall Through */ |
1470 |
/* Fall Through */ |
1450 |
case 0x0373: |
1471 |
case 0x0373: |
|
|
1472 |
/* Fall Through */ |
1473 |
case 0x03e5: |
1474 |
/* Fall Through */ |
1475 |
case 0x03e6: |
1476 |
/* Fall Through */ |
1477 |
case 0x03ee: |
1478 |
/* Fall Through */ |
1479 |
case 0x03ef: |
1480 |
/* Fall Through */ |
1481 |
case 0x0450: |
1482 |
/* Fall Through */ |
1483 |
case 0x0451: |
1484 |
/* Fall Through */ |
1485 |
case 0x0452: |
1486 |
/* Fall Through */ |
1487 |
case 0x0453: |
1451 |
//np->register_size = NV_PCI_REGSZ_VER2; |
1488 |
//np->register_size = NV_PCI_REGSZ_VER2; |
1452 |
|
1489 |
|
1453 |
pci_read_config_byte(pci, PCI_REVISION_ID, &revision_id); |
1490 |
pci_read_config_byte(pci, PCI_REVISION_ID, &revision_id); |
Lines 1543-1548
Link Here
|
1543 |
PCI_ROM(0x10de, 0x0269, "nforce13", "nForce NVENET_13 Ethernet Controller"), |
1580 |
PCI_ROM(0x10de, 0x0269, "nforce13", "nForce NVENET_13 Ethernet Controller"), |
1544 |
PCI_ROM(0x10de, 0x0372, "nforce14", "nForce NVENET_14 Ethernet Controller"), |
1581 |
PCI_ROM(0x10de, 0x0372, "nforce14", "nForce NVENET_14 Ethernet Controller"), |
1545 |
PCI_ROM(0x10de, 0x0373, "nforce15", "nForce NVENET_15 Ethernet Controller"), |
1582 |
PCI_ROM(0x10de, 0x0373, "nforce15", "nForce NVENET_15 Ethernet Controller"), |
|
|
1583 |
PCI_ROM(0x10de, 0x03e5, "nforce16", "nForce NVENET_16 Ethernet Controller"), |
1584 |
PCI_ROM(0x10de, 0x03e6, "nforce17", "nForce NVENET_17 Ethernet Controller"), |
1585 |
PCI_ROM(0x10de, 0x03ee, "nforce18", "nForce NVENET_18 Ethernet Controller"), |
1586 |
PCI_ROM(0x10de, 0x03ef, "nforce19", "nForce NVENET_19 Ethernet Controller"), |
1587 |
PCI_ROM(0x10de, 0x0450, "nforce20", "nForce NVENET_20 Ethernet Controller"), |
1588 |
PCI_ROM(0x10de, 0x0451, "nforce21", "nForce NVENET_21 Ethernet Controller"), |
1589 |
PCI_ROM(0x10de, 0x0452, "nforce22", "nForce NVENET_22 Ethernet Controller"), |
1590 |
PCI_ROM(0x10de, 0x0453, "nforce23", "nForce NVENET_23 Ethernet Controller"), |
1546 |
}; |
1591 |
}; |
1547 |
static struct pci_driver forcedeth_driver __pci_driver = { |
1592 |
static struct pci_driver forcedeth_driver __pci_driver = { |
1548 |
.type = NIC_DRIVER,.name = "forcedeth",.probe = |
1593 |
.type = NIC_DRIVER,.name = "forcedeth",.probe = |