aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/netxen/netxen_nic_main.c64
1 files changed, 0 insertions, 64 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 3b17a7936147..e02fe5ad2154 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -372,67 +372,6 @@ static void netxen_set_port_mode(struct netxen_adapter *adapter)
372 } 372 }
373} 373}
374 374
375#define PCI_CAP_ID_GEN 0x10
376
377static void netxen_pcie_strap_init(struct netxen_adapter *adapter)
378{
379 u32 pdevfuncsave;
380 u32 c8c9value = 0;
381 u32 chicken = 0;
382 u32 control = 0;
383 int i, pos;
384 struct pci_dev *pdev;
385
386 pdev = adapter->pdev;
387
388 adapter->hw_read_wx(adapter,
389 NETXEN_PCIE_REG(PCIE_CHICKEN3), &chicken, 4);
390 /* clear chicken3.25:24 */
391 chicken &= 0xFCFFFFFF;
392 /*
393 * if gen1 and B0, set F1020 - if gen 2, do nothing
394 * if gen2 set to F1000
395 */
396 pos = pci_find_capability(pdev, PCI_CAP_ID_GEN);
397 if (pos == 0xC0) {
398 pci_read_config_dword(pdev, pos + 0x10, &control);
399 if ((control & 0x000F0000) != 0x00020000) {
400 /* set chicken3.24 if gen1 */
401 chicken |= 0x01000000;
402 }
403 printk(KERN_INFO "%s Gen2 strapping detected\n",
404 netxen_nic_driver_name);
405 c8c9value = 0xF1000;
406 } else {
407 /* set chicken3.24 if gen1 */
408 chicken |= 0x01000000;
409 printk(KERN_INFO "%s Gen1 strapping detected\n",
410 netxen_nic_driver_name);
411 if (adapter->ahw.revision_id == NX_P3_B0)
412 c8c9value = 0xF1020;
413 else
414 c8c9value = 0;
415
416 }
417 adapter->hw_write_wx(adapter,
418 NETXEN_PCIE_REG(PCIE_CHICKEN3), &chicken, 4);
419
420 if (!c8c9value)
421 return;
422
423 pdevfuncsave = pdev->devfn;
424 if (pdevfuncsave & 0x07)
425 return;
426
427 for (i = 0; i < 8; i++) {
428 pci_read_config_dword(pdev, pos + 8, &control);
429 pci_read_config_dword(pdev, pos + 8, &control);
430 pci_write_config_dword(pdev, pos + 8, c8c9value);
431 pdev->devfn++;
432 }
433 pdev->devfn = pdevfuncsave;
434}
435
436static void netxen_set_msix_bit(struct pci_dev *pdev, int enable) 375static void netxen_set_msix_bit(struct pci_dev *pdev, int enable)
437{ 376{
438 u32 control; 377 u32 control;
@@ -812,9 +751,6 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
812 } 751 }
813 netxen_load_firmware(adapter); 752 netxen_load_firmware(adapter);
814 753
815 if (NX_IS_REVISION_P3(revision_id))
816 netxen_pcie_strap_init(adapter);
817
818 if (NX_IS_REVISION_P2(revision_id)) { 754 if (NX_IS_REVISION_P2(revision_id)) {
819 755
820 /* Initialize multicast addr pool owners */ 756 /* Initialize multicast addr pool owners */