mirror of
https://github.com/ipxe/ipxe
synced 2025-12-22 21:11:03 +03:00
Finished by hand
This commit is contained in:
@@ -2875,7 +2875,7 @@ static int tg3_get_device_address(struct tg3 *tp)
|
||||
struct nic *nic = tp->nic;
|
||||
uint32_t hi, lo, mac_offset;
|
||||
|
||||
if (PCI_FUNC(tp->pdev->devfn) == 0)
|
||||
if (PCI_FUNC(tp->pdev->busdevfn) == 0)
|
||||
mac_offset = 0x7c;
|
||||
else
|
||||
mac_offset = 0xcc;
|
||||
@@ -3219,28 +3219,65 @@ static void tg3_irq(struct nic *nic __unused, irq_action_t action __unused)
|
||||
}
|
||||
}
|
||||
|
||||
static struct nic_operations tg3_operations = {
|
||||
.connect = dummy_connect,
|
||||
.poll = tg3_poll,
|
||||
.transmit = tg3_transmit,
|
||||
.irq = tg3_irq,
|
||||
.disable = tg3_disable,
|
||||
};
|
||||
|
||||
|
||||
static struct pci_id tg3_nics[] = {
|
||||
PCI_ROM(0x14e4, 0x1644, "tg3-5700", "Broadcom Tigon 3 5700"),
|
||||
PCI_ROM(0x14e4, 0x1645, "tg3-5701", "Broadcom Tigon 3 5701"),
|
||||
PCI_ROM(0x14e4, 0x1646, "tg3-5702", "Broadcom Tigon 3 5702"),
|
||||
PCI_ROM(0x14e4, 0x1647, "tg3-5703", "Broadcom Tigon 3 5703"),
|
||||
PCI_ROM(0x14e4, 0x1648, "tg3-5704", "Broadcom Tigon 3 5704"),
|
||||
PCI_ROM(0x14e4, 0x164d, "tg3-5702FE", "Broadcom Tigon 3 5702FE"),
|
||||
PCI_ROM(0x14e4, 0x1653, "tg3-5705", "Broadcom Tigon 3 5705"),
|
||||
PCI_ROM(0x14e4, 0x1654, "tg3-5705_2", "Broadcom Tigon 3 5705_2"),
|
||||
PCI_ROM(0x14e4, 0x165d, "tg3-5705M", "Broadcom Tigon 3 5705M"),
|
||||
PCI_ROM(0x14e4, 0x165e, "tg3-5705M_2", "Broadcom Tigon 3 5705M_2"),
|
||||
PCI_ROM(0x14e4, 0x1677, "tg3-5751", "Broadcom Tigon 3 5751"),
|
||||
PCI_ROM(0x14e4, 0x1696, "tg3-5782", "Broadcom Tigon 3 5782"),
|
||||
PCI_ROM(0x14e4, 0x169c, "tg3-5788", "Broadcom Tigon 3 5788"),
|
||||
PCI_ROM(0x14e4, 0x16a6, "tg3-5702X", "Broadcom Tigon 3 5702X"),
|
||||
PCI_ROM(0x14e4, 0x16a7, "tg3-5703X", "Broadcom Tigon 3 5703X"),
|
||||
PCI_ROM(0x14e4, 0x16a8, "tg3-5704S", "Broadcom Tigon 3 5704S"),
|
||||
PCI_ROM(0x14e4, 0x16c6, "tg3-5702A3", "Broadcom Tigon 3 5702A3"),
|
||||
PCI_ROM(0x14e4, 0x16c7, "tg3-5703A3", "Broadcom Tigon 3 5703A3"),
|
||||
PCI_ROM(0x14e4, 0x170d, "tg3-5901", "Broadcom Tigon 3 5901"),
|
||||
PCI_ROM(0x14e4, 0x170e, "tg3-5901_2", "Broadcom Tigon 3 5901_2"),
|
||||
PCI_ROM(0x1148, 0x4400, "tg3-9DXX", "Syskonnect 9DXX"),
|
||||
PCI_ROM(0x1148, 0x4500, "tg3-9MXX", "Syskonnect 9MXX"),
|
||||
PCI_ROM(0x173b, 0x03e8, "tg3-ac1000", "Altima AC1000"),
|
||||
PCI_ROM(0x173b, 0x03e9, "tg3-ac1001", "Altima AC1001"),
|
||||
PCI_ROM(0x173b, 0x03ea, "tg3-ac9100", "Altima AC9100"),
|
||||
PCI_ROM(0x173b, 0x03eb, "tg3-ac1003", "Altima AC1003"),
|
||||
};
|
||||
|
||||
static struct pci_driver tg3_driver =
|
||||
PCI_DRIVER ( "TG3", tg3_nics, PCI_NO_CLASS );
|
||||
|
||||
/**************************************************************************
|
||||
PROBE - Look for an adapter, this routine's visible to the outside
|
||||
You should omit the last argument struct pci_device * for a non-PCI NIC
|
||||
***************************************************************************/
|
||||
static int tg3_probe ( struct dev *dev ) {
|
||||
|
||||
struct nic *nic = nic_device ( dev );
|
||||
|
||||
struct pci_device *pdev = pci_device ( dev );
|
||||
struct tg3 *tp = &tg3;
|
||||
unsigned long tg3reg_base, tg3reg_len;
|
||||
int i, err, pm_cap;
|
||||
|
||||
if (pdev == 0)
|
||||
if ( ! find_pci_device ( pdev, &tg3_driver ) )
|
||||
return 0;
|
||||
|
||||
memset(tp, 0, sizeof(*tp));
|
||||
|
||||
adjust_pci_device(pdev);
|
||||
|
||||
nic->irqno = 0;
|
||||
nic->ioaddr = pdev->ioaddr & ~3;
|
||||
nic->ioaddr = pdev->ioaddr;
|
||||
|
||||
/* Find power-management capability. */
|
||||
pm_cap = pci_find_capability(pdev, PCI_CAP_ID_PM);
|
||||
@@ -3340,14 +3377,7 @@ static int tg3_probe ( struct dev *dev ) {
|
||||
printf("Valid link not established\n");
|
||||
goto err_out_disable;
|
||||
}
|
||||
static struct nic_operations tg3_operations;
|
||||
static struct nic_operations tg3_operations = {
|
||||
.connect = dummy_connect,
|
||||
.poll = tg3_poll,
|
||||
.transmit = tg3_transmit,
|
||||
.irq = tg3_irq,
|
||||
.disable = tg3_disable,
|
||||
};
|
||||
|
||||
nic->nic_op = &tg3_operations;
|
||||
|
||||
return 1;
|
||||
@@ -3356,40 +3386,8 @@ static struct nic_operations tg3_operations = {
|
||||
iounmap((void *)tp->regs);
|
||||
return 0;
|
||||
err_out_disable:
|
||||
tg3_disable(dev);
|
||||
tg3_disable(nic);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct pci_id tg3_nics[] = {
|
||||
PCI_ROM(0x14e4, 0x1644, "tg3-5700", "Broadcom Tigon 3 5700"),
|
||||
PCI_ROM(0x14e4, 0x1645, "tg3-5701", "Broadcom Tigon 3 5701"),
|
||||
PCI_ROM(0x14e4, 0x1646, "tg3-5702", "Broadcom Tigon 3 5702"),
|
||||
PCI_ROM(0x14e4, 0x1647, "tg3-5703", "Broadcom Tigon 3 5703"),
|
||||
PCI_ROM(0x14e4, 0x1648, "tg3-5704", "Broadcom Tigon 3 5704"),
|
||||
PCI_ROM(0x14e4, 0x164d, "tg3-5702FE", "Broadcom Tigon 3 5702FE"),
|
||||
PCI_ROM(0x14e4, 0x1653, "tg3-5705", "Broadcom Tigon 3 5705"),
|
||||
PCI_ROM(0x14e4, 0x1654, "tg3-5705_2", "Broadcom Tigon 3 5705_2"),
|
||||
PCI_ROM(0x14e4, 0x165d, "tg3-5705M", "Broadcom Tigon 3 5705M"),
|
||||
PCI_ROM(0x14e4, 0x165e, "tg3-5705M_2", "Broadcom Tigon 3 5705M_2"),
|
||||
PCI_ROM(0x14e4, 0x1677, "tg3-5751", "Broadcom Tigon 3 5751"),
|
||||
PCI_ROM(0x14e4, 0x1696, "tg3-5782", "Broadcom Tigon 3 5782"),
|
||||
PCI_ROM(0x14e4, 0x169c, "tg3-5788", "Broadcom Tigon 3 5788"),
|
||||
PCI_ROM(0x14e4, 0x16a6, "tg3-5702X", "Broadcom Tigon 3 5702X"),
|
||||
PCI_ROM(0x14e4, 0x16a7, "tg3-5703X", "Broadcom Tigon 3 5703X"),
|
||||
PCI_ROM(0x14e4, 0x16a8, "tg3-5704S", "Broadcom Tigon 3 5704S"),
|
||||
PCI_ROM(0x14e4, 0x16c6, "tg3-5702A3", "Broadcom Tigon 3 5702A3"),
|
||||
PCI_ROM(0x14e4, 0x16c7, "tg3-5703A3", "Broadcom Tigon 3 5703A3"),
|
||||
PCI_ROM(0x14e4, 0x170d, "tg3-5901", "Broadcom Tigon 3 5901"),
|
||||
PCI_ROM(0x14e4, 0x170e, "tg3-5901_2", "Broadcom Tigon 3 5901_2"),
|
||||
PCI_ROM(0x1148, 0x4400, "tg3-9DXX", "Syskonnect 9DXX"),
|
||||
PCI_ROM(0x1148, 0x4500, "tg3-9MXX", "Syskonnect 9MXX"),
|
||||
PCI_ROM(0x173b, 0x03e8, "tg3-ac1000", "Altima AC1000"),
|
||||
PCI_ROM(0x173b, 0x03e9, "tg3-ac1001", "Altima AC1001"),
|
||||
PCI_ROM(0x173b, 0x03ea, "tg3-ac9100", "Altima AC9100"),
|
||||
PCI_ROM(0x173b, 0x03eb, "tg3-ac1003", "Altima AC1003"),
|
||||
};
|
||||
|
||||
static struct pci_driver tg3_driver =
|
||||
PCI_DRIVER ( "TG3", tg3_nics, PCI_NO_CLASS );
|
||||
|
||||
BOOT_DRIVER ( "TG3", tg3_probe );
|
||||
|
||||
Reference in New Issue
Block a user