Lines Matching full:emac

5  * DaVinci EMAC is based upon CPPI 3.0 TI DMA engine
63 MODULE_PARM_DESC(debug_level, "DaVinci EMAC debug level (NETIF_MSG bits)");
87 static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
91 #define EMAC_DEF_QOS_EN (0) /* EMAC proprietary QoS disabled */
119 /* EMAC register related defines */
146 /* EMAC register definitions/bit maps used */
154 /* EMAC mac_control register */
166 /* EMAC mac_status register */
176 /* EMAC RX register masks */
207 /* EMAC Peripheral Device Register Memory Layout structure */
238 /* EMAC statistics registers */
270 /* EMAC DM644x control registers */
274 /* EMAC DM644x control module masks */
279 /* EMAC DM646X control module registers */
286 /* EMAC DM646X control module masks */
295 /* EMAC EOI codes for C0 */
299 /* EMAC Stats Clear Mask */
302 /* emac_priv: EMAC private data structure
304 * EMAC adapter private data structure
340 /* EMAC TX Host Error description strings */
349 /* EMAC RX Host Error description strings */
365 * emac_get_drvinfo - Get EMAC driver information
366 * @ndev: The DaVinci EMAC network adapter
369 * Returns EMAC driver information (name and version)
381 * @ndev : The DaVinci EMAC network adapter
403 * @ndev : The DaVinci EMAC network adapter
496 /* ethtool_ops: DaVinci EMAC Ethtool structure
498 * Ethtool support for EMAC adapter
513 * @priv: The DaVinci EMAC private adapter structure
605 * @priv: The DaVinci EMAC private adapter structure
620 dev_err(emac_dev, "DaVinci EMAC: emac_hash_add(): Invalid "\ in emac_hash_add()
647 * @priv: The DaVinci EMAC private adapter structure
681 /* EMAC multicast operation */
688 * emac_add_mcast - Set multicast address in the EMAC adapter (Internal)
689 * @priv: The DaVinci EMAC private adapter structure
693 * Set multicast addresses in EMAC adapter - internal function
723 dev_err(emac_dev, "DaVinci EMAC: add_mcast"\ in emac_add_mcast()
736 * emac_dev_mcast_set - Set multicast address in the EMAC adapter
737 * @ndev: The DaVinci EMAC network adapter
739 * Set multicast addresses in EMAC adapter
762 /* program multicast address list into EMAC hardware */ in emac_dev_mcast_set()
777 * EMAC Hardware manipulation
781 * emac_int_disable - Disable EMAC module interrupt (from adapter)
782 * @priv: The DaVinci EMAC private adapter structure
784 * Disable EMAC interrupt on the adapter
821 * emac_int_enable - Enable EMAC module interrupt (from adapter)
822 * @priv: The DaVinci EMAC private adapter structure
824 * Enable EMAC interrupt on the adapter
848 * emac_irq - EMAC interrupt handler
850 * @dev_id: EMAC network adapter data structure ptr
852 * EMAC Interrupt handler - we only schedule NAPI and not process any packets
941 * emac_dev_xmit - EMAC Transmit function
943 * @ndev: The DaVinci EMAC network adapter
946 * EMAC hardware transmit queue
959 dev_err(emac_dev, "DaVinci EMAC: No link to transmit"); in emac_dev_xmit()
966 dev_err(emac_dev, "DaVinci EMAC: packet pad failed"); in emac_dev_xmit()
976 dev_err(emac_dev, "DaVinci EMAC: desc submit failed"); in emac_dev_xmit()
995 * emac_dev_tx_timeout - EMAC Transmit timeout function
996 * @ndev: The DaVinci EMAC network adapter
1011 dev_err(emac_dev, "DaVinci EMAC: xmit timeout, restarting TX"); in emac_dev_tx_timeout()
1021 * emac_set_type0addr - Set EMAC Type0 mac address
1022 * @priv: The DaVinci EMAC private adapter structure
1048 * emac_set_type1addr - Set EMAC Type1 mac address
1049 * @priv: The DaVinci EMAC private adapter structure
1070 * emac_set_type2addr - Set EMAC Type2 mac address
1071 * @priv: The DaVinci EMAC private adapter structure
1097 * @priv: The DaVinci EMAC private adapter structure
1120 dev_err(emac_dev, "DaVinci EMAC: Wrong addressing\n"); in emac_setmac()
1126 * @ndev: The DaVinci EMAC network adapter
1142 /* Store mac addr in priv and rx channel and set it in EMAC hw */ in emac_dev_setmac_addr()
1152 dev_notice(emac_dev, "DaVinci EMAC: emac_dev_setmac_addr %pM\n", in emac_dev_setmac_addr()
1159 * emac_hw_enable - Enable EMAC hardware for packet transmission/reception
1160 * @priv: The DaVinci EMAC private adapter structure
1162 * Enables EMAC hardware for packet processing - enables PHY, enables RX
1229 * emac_poll - EMAC NAPI Poll function
1230 * @napi: pointer to the napi_struct containing The DaVinci EMAC network adapter
1277 dev_err(emac_dev, "DaVinci EMAC: Fatal Hardware Error\n"); in emac_poll()
1311 * emac_poll_controller - EMAC Poll controller function
1312 * @ndev: The DaVinci EMAC network adapter
1370 * emac_devioctl - EMAC adapter ioctl
1371 * @ndev: The DaVinci EMAC network adapter
1375 * EMAC driver ioctl function
1402 * emac_dev_open - EMAC device open
1403 * @ndev: The DaVinci EMAC network adapter
1460 dev_err(emac_dev, "DaVinci EMAC: request_irq() failed\n"); in emac_dev_open()
1470 dev_err(emac_dev, "DaVinci EMAC: request_irq() failed\n"); in emac_dev_open()
1481 /* Start/Enable EMAC hardware */ in emac_dev_open()
1551 dev_notice(emac_dev, "DaVinci EMAC: Opened %s\n", ndev->name); in emac_dev_open()
1588 * emac_dev_stop - EMAC device stop
1589 * @ndev: The DaVinci EMAC network adapter
1594 * We return the statistics in net_device_stats structure pulled from emac
1639 dev_notice(emac_dev, "DaVinci EMAC: %s stopped\n", ndev->name); in emac_dev_stop()
1646 * emac_dev_getnetstats - EMAC get statistics function
1647 * @ndev: The DaVinci EMAC network adapter
1651 * We return the statistics in net_device_stats structure pulled from emac
1667 /* update emac hardware stats and reset the registers*/ in emac_dev_getnetstats()
1796 * davinci_emac_probe - EMAC device probe
1797 * @pdev: The DaVinci EMAC device that we are removing
1799 * Called when probing for emac devicesr. We get details of instances and
1817 /* obtain emac clock from kernel */ in davinci_emac_probe()
1820 dev_err(&pdev->dev, "failed to get EMAC clock\n"); in davinci_emac_probe()
1858 /* Get EMAC platform data */ in davinci_emac_probe()
1969 dev_notice(&pdev->dev, "DaVinci EMAC Probe found device " in davinci_emac_probe()
1995 * davinci_emac_remove - EMAC device remove
1996 * @pdev: The DaVinci EMAC device that we are removing
2007 dev_notice(&ndev->dev, "DaVinci EMAC: davinci_emac_remove()\n"); in davinci_emac_remove()
2058 {.compatible = "ti,davinci-dm6467-emac", },
2059 {.compatible = "ti,am3517-emac", .data = &am3517_emac_data, },
2060 {.compatible = "ti,dm816-emac", .data = &dm816_emac_data, },
2065 /* davinci_emac_driver: EMAC platform driver structure */
2077 * davinci_emac_init - EMAC driver module init
2089 * davinci_emac_exit - EMAC driver module exit
2101 MODULE_AUTHOR("DaVinci EMAC Maintainer: Anant Gole <anantgole@ti.com>");
2102 MODULE_AUTHOR("DaVinci EMAC Maintainer: Chaithrika U S <chaithrika@ti.com>");
2103 MODULE_DESCRIPTION("DaVinci EMAC Ethernet driver");