equal
deleted
inserted
replaced
341 {0,} |
341 {0,} |
342 }; |
342 }; |
343 |
343 |
344 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
344 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
345 |
345 |
|
346 /* prevent driver from being loaded automatically */ |
346 //MODULE_DEVICE_TABLE (pci, rtl8139_pci_tbl); |
347 //MODULE_DEVICE_TABLE (pci, rtl8139_pci_tbl); |
347 |
348 |
348 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
349 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
349 |
350 |
350 static struct { |
351 static struct { |
668 unsigned long fifo_copy_timeout; |
669 unsigned long fifo_copy_timeout; |
669 }; |
670 }; |
670 |
671 |
671 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
672 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
672 |
673 |
673 MODULE_AUTHOR("Wilhelm Hagemeister <hm@igh-essen.com>," |
674 MODULE_AUTHOR("Florian Pose <fp@igh-essen.com>"); |
674 " Florian Pose <fp@igh-essen.com>"); |
675 MODULE_DESCRIPTION("RealTek RTL-8139 EtherCAT driver"); |
675 MODULE_DESCRIPTION("RealTek RTL-8139 Fast Ethernet" |
|
676 " driver with EtherCAT functionality"); |
|
677 MODULE_LICENSE("GPL"); |
676 MODULE_LICENSE("GPL"); |
678 MODULE_VERSION(COMPILE_INFO); |
677 MODULE_VERSION(COMPILE_INFO); |
679 |
678 |
680 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
679 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
681 |
680 |
1414 int retval; |
1413 int retval; |
1415 void __iomem *ioaddr = tp->mmio_addr; |
1414 void __iomem *ioaddr = tp->mmio_addr; |
1416 |
1415 |
1417 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
1416 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
1418 |
1417 |
1419 #ifdef EC_DEBUG |
|
1420 printk(KERN_DEBUG "%s: open\n", dev->name); |
|
1421 #endif |
|
1422 |
|
1423 if (dev != rtl_ec_net_dev) { |
1418 if (dev != rtl_ec_net_dev) { |
1424 retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev); |
1419 retval = request_irq(dev->irq, rtl8139_interrupt, |
|
1420 SA_SHIRQ, dev->name, dev); |
1425 if (retval) |
1421 if (retval) |
1426 return retval; |
1422 return retval; |
1427 } |
1423 } |
1428 |
1424 |
1429 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
1425 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
1820 i == tp->dirty_tx % NUM_TX_DESC ? |
1816 i == tp->dirty_tx % NUM_TX_DESC ? |
1821 " (queue head)" : ""); |
1817 " (queue head)" : ""); |
1822 |
1818 |
1823 tp->xstats.tx_timeouts++; |
1819 tp->xstats.tx_timeouts++; |
1824 |
1820 |
1825 /* EtherCAT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/ |
|
1826 |
|
1827 printk(KERN_DEBUG "%s: tx_timeout\n", dev->name); |
|
1828 |
|
1829 /* EtherCAT <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/ |
|
1830 |
|
1831 /* disable Tx ASAP, if not already */ |
1821 /* disable Tx ASAP, if not already */ |
1832 tmp8 = RTL_R8 (ChipCmd); |
1822 tmp8 = RTL_R8 (ChipCmd); |
1833 if (tmp8 & CmdTxEnb) |
1823 if (tmp8 & CmdTxEnb) |
1834 RTL_W8 (ChipCmd, CmdRxEnb); |
1824 RTL_W8 (ChipCmd, CmdRxEnb); |
1835 |
1825 |