devices/8139too.c
changeset 273 e7d4579617af
parent 272 efb1c792a6a4
child 382 72500991bcc3
equal deleted inserted replaced
272:efb1c792a6a4 273:e7d4579617af
   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