Lines Matching full:emac

5  * DaVinci EMAC is based upon CPPI 3.0 TI DMA engine
65 MODULE_PARM_DESC(debug_level, "DaVinci EMAC debug level (NETIF_MSG bits)");
89 static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
93 #define EMAC_DEF_QOS_EN (0) /* EMAC proprietary QoS disabled */
122 /* EMAC register related defines */
149 /* EMAC register definitions/bit maps used */
157 /* EMAC mac_control register */
169 /* EMAC mac_status register */
179 /* EMAC RX register masks */
210 /* EMAC Peripheral Device Register Memory Layout structure */
241 /* EMAC statistics registers */
273 /* EMAC DM644x control registers */
277 /* EMAC DM644x control module masks */
282 /* EMAC DM646X control module registers */
289 /* EMAC DM646X control module masks */
298 /* EMAC EOI codes for C0 */
302 /* EMAC Stats Clear Mask */
305 /* emac_priv: EMAC private data structure
307 * EMAC adapter private data structure
343 /* EMAC TX Host Error description strings */
352 /* EMAC RX Host Error description strings */
368 * emac_get_drvinfo - Get EMAC driver information
369 * @ndev: The DaVinci EMAC network adapter
372 * Returns EMAC driver information (name and version)
384 * @ndev : The DaVinci EMAC network adapter
402 * @ndev : The DaVinci EMAC network adapter
479 /* ethtool_ops: DaVinci EMAC Ethtool structure
481 * Ethtool support for EMAC adapter
496 * @priv: The DaVinci EMAC private adapter structure
588 * @priv: The DaVinci EMAC private adapter structure
603 dev_err(emac_dev, "DaVinci EMAC: emac_hash_add(): Invalid "\ in emac_hash_add()
630 * @priv: The DaVinci EMAC private adapter structure
664 /* EMAC multicast operation */
671 * emac_add_mcast - Set multicast address in the EMAC adapter (Internal)
672 * @priv: The DaVinci EMAC private adapter structure
676 * Set multicast addresses in EMAC adapter - internal function
706 dev_err(emac_dev, "DaVinci EMAC: add_mcast"\ in emac_add_mcast()
719 * emac_dev_mcast_set - Set multicast address in the EMAC adapter
720 * @ndev: The DaVinci EMAC network adapter
722 * Set multicast addresses in EMAC adapter
745 /* program multicast address list into EMAC hardware */ in emac_dev_mcast_set()
760 * EMAC Hardware manipulation
764 * emac_int_disable - Disable EMAC module interrupt (from adapter)
765 * @priv: The DaVinci EMAC private adapter structure
767 * Disable EMAC interrupt on the adapter
804 * emac_int_enable - Enable EMAC module interrupt (from adapter)
805 * @priv: The DaVinci EMAC private adapter structure
807 * Enable EMAC interrupt on the adapter
831 * emac_irq - EMAC interrupt handler
833 * @dev_id: EMAC network adapter data structure ptr
835 * EMAC Interrupt handler - we only schedule NAPI and not process any packets
924 * emac_dev_xmit - EMAC Transmit function
926 * @ndev: The DaVinci EMAC network adapter
929 * EMAC hardware transmit queue
942 dev_err(emac_dev, "DaVinci EMAC: No link to transmit"); in emac_dev_xmit()
949 dev_err(emac_dev, "DaVinci EMAC: packet pad failed"); in emac_dev_xmit()
959 dev_err(emac_dev, "DaVinci EMAC: desc submit failed"); in emac_dev_xmit()
978 * emac_dev_tx_timeout - EMAC Transmit timeout function
979 * @ndev: The DaVinci EMAC network adapter
994 dev_err(emac_dev, "DaVinci EMAC: xmit timeout, restarting TX"); in emac_dev_tx_timeout()
1004 * emac_set_type0addr - Set EMAC Type0 mac address
1005 * @priv: The DaVinci EMAC private adapter structure
1031 * emac_set_type1addr - Set EMAC Type1 mac address
1032 * @priv: The DaVinci EMAC private adapter structure
1053 * emac_set_type2addr - Set EMAC Type2 mac address
1054 * @priv: The DaVinci EMAC private adapter structure
1080 * @priv: The DaVinci EMAC private adapter structure
1103 dev_err(emac_dev, "DaVinci EMAC: Wrong addressing\n"); in emac_setmac()
1109 * @ndev: The DaVinci EMAC network adapter
1125 /* Store mac addr in priv and rx channel and set it in EMAC hw */ in emac_dev_setmac_addr()
1135 dev_notice(emac_dev, "DaVinci EMAC: emac_dev_setmac_addr %pM\n", in emac_dev_setmac_addr()
1142 * emac_hw_enable - Enable EMAC hardware for packet transmission/reception
1143 * @priv: The DaVinci EMAC private adapter structure
1145 * Enables EMAC hardware for packet processing - enables PHY, enables RX
1212 * emac_poll - EMAC NAPI Poll function
1213 * @napi: pointer to the napi_struct containing The DaVinci EMAC network adapter
1260 dev_err(emac_dev, "DaVinci EMAC: Fatal Hardware Error\n"); in emac_poll()
1294 * emac_poll_controller - EMAC Poll controller function
1295 * @ndev: The DaVinci EMAC network adapter
1353 * emac_devioctl - EMAC adapter ioctl
1354 * @ndev: The DaVinci EMAC network adapter
1358 * EMAC driver ioctl function
1385 * emac_dev_open - EMAC device open
1386 * @ndev: The DaVinci EMAC network adapter
1445 "DaVinci EMAC: request_irq() failed\n"); in emac_dev_open()
1457 /* Start/Enable EMAC hardware */ in emac_dev_open()
1527 dev_notice(emac_dev, "DaVinci EMAC: Opened %s\n", ndev->name); in emac_dev_open()
1556 * emac_dev_stop - EMAC device stop
1557 * @ndev: The DaVinci EMAC network adapter
1562 * We return the statistics in net_device_stats structure pulled from emac
1592 dev_notice(emac_dev, "DaVinci EMAC: %s stopped\n", ndev->name); in emac_dev_stop()
1599 * emac_dev_getnetstats - EMAC get statistics function
1600 * @ndev: The DaVinci EMAC network adapter
1604 * We return the statistics in net_device_stats structure pulled from emac
1621 /* update emac hardware stats and reset the registers*/ in emac_dev_getnetstats()
1758 * davinci_emac_probe - EMAC device probe
1759 * @pdev: The DaVinci EMAC device that we are removing
1761 * Called when probing for emac devicesr. We get details of instances and
1779 /* obtain emac clock from kernel */ in davinci_emac_probe()
1782 dev_err(&pdev->dev, "failed to get EMAC clock\n"); in davinci_emac_probe()
1820 /* Get EMAC platform data */ in davinci_emac_probe()
1934 dev_notice(&pdev->dev, "DaVinci EMAC Probe found device " in davinci_emac_probe()
1960 * davinci_emac_remove - EMAC device remove
1961 * @pdev: The DaVinci EMAC device that we are removing
1972 dev_notice(&ndev->dev, "DaVinci EMAC: davinci_emac_remove()\n"); in davinci_emac_remove()
2025 {.compatible = "ti,davinci-dm6467-emac", },
2026 {.compatible = "ti,am3517-emac", .data = &am3517_emac_data, },
2027 {.compatible = "ti,dm816-emac", .data = &dm816_emac_data, },
2032 /* davinci_emac_driver: EMAC platform driver structure */
2044 * davinci_emac_init - EMAC driver module init
2056 * davinci_emac_exit - EMAC driver module exit
2068 MODULE_AUTHOR("DaVinci EMAC Maintainer: Anant Gole <anantgole@ti.com>");
2069 MODULE_AUTHOR("DaVinci EMAC Maintainer: Chaithrika U S <chaithrika@ti.com>");
2070 MODULE_DESCRIPTION("DaVinci EMAC Ethernet driver");