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
491 /* ethtool_ops: DaVinci EMAC Ethtool structure
493 * Ethtool support for EMAC adapter
508 * @priv: The DaVinci EMAC private adapter structure
600 * @priv: The DaVinci EMAC private adapter structure
615 dev_err(emac_dev, "DaVinci EMAC: emac_hash_add(): Invalid "\ in emac_hash_add()
642 * @priv: The DaVinci EMAC private adapter structure
676 /* EMAC multicast operation */
683 * emac_add_mcast - Set multicast address in the EMAC adapter (Internal)
684 * @priv: The DaVinci EMAC private adapter structure
688 * Set multicast addresses in EMAC adapter - internal function
718 dev_err(emac_dev, "DaVinci EMAC: add_mcast"\ in emac_add_mcast()
731 * emac_dev_mcast_set - Set multicast address in the EMAC adapter
732 * @ndev: The DaVinci EMAC network adapter
734 * Set multicast addresses in EMAC adapter
757 /* program multicast address list into EMAC hardware */ in emac_dev_mcast_set()
772 * EMAC Hardware manipulation
776 * emac_int_disable - Disable EMAC module interrupt (from adapter)
777 * @priv: The DaVinci EMAC private adapter structure
779 * Disable EMAC interrupt on the adapter
816 * emac_int_enable - Enable EMAC module interrupt (from adapter)
817 * @priv: The DaVinci EMAC private adapter structure
819 * Enable EMAC interrupt on the adapter
843 * emac_irq - EMAC interrupt handler
845 * @dev_id: EMAC network adapter data structure ptr
847 * EMAC Interrupt handler - we only schedule NAPI and not process any packets
936 * emac_dev_xmit - EMAC Transmit function
938 * @ndev: The DaVinci EMAC network adapter
941 * EMAC hardware transmit queue
954 dev_err(emac_dev, "DaVinci EMAC: No link to transmit"); in emac_dev_xmit()
961 dev_err(emac_dev, "DaVinci EMAC: packet pad failed"); in emac_dev_xmit()
971 dev_err(emac_dev, "DaVinci EMAC: desc submit failed"); in emac_dev_xmit()
990 * emac_dev_tx_timeout - EMAC Transmit timeout function
991 * @ndev: The DaVinci EMAC network adapter
1006 dev_err(emac_dev, "DaVinci EMAC: xmit timeout, restarting TX"); in emac_dev_tx_timeout()
1016 * emac_set_type0addr - Set EMAC Type0 mac address
1017 * @priv: The DaVinci EMAC private adapter structure
1043 * emac_set_type1addr - Set EMAC Type1 mac address
1044 * @priv: The DaVinci EMAC private adapter structure
1065 * emac_set_type2addr - Set EMAC Type2 mac address
1066 * @priv: The DaVinci EMAC private adapter structure
1092 * @priv: The DaVinci EMAC private adapter structure
1115 dev_err(emac_dev, "DaVinci EMAC: Wrong addressing\n"); in emac_setmac()
1121 * @ndev: The DaVinci EMAC network adapter
1137 /* Store mac addr in priv and rx channel and set it in EMAC hw */ in emac_dev_setmac_addr()
1147 dev_notice(emac_dev, "DaVinci EMAC: emac_dev_setmac_addr %pM\n", in emac_dev_setmac_addr()
1154 * emac_hw_enable - Enable EMAC hardware for packet transmission/reception
1155 * @priv: The DaVinci EMAC private adapter structure
1157 * Enables EMAC hardware for packet processing - enables PHY, enables RX
1224 * emac_poll - EMAC NAPI Poll function
1225 * @napi: pointer to the napi_struct containing The DaVinci EMAC network adapter
1272 dev_err(emac_dev, "DaVinci EMAC: Fatal Hardware Error\n"); in emac_poll()
1306 * emac_poll_controller - EMAC Poll controller function
1307 * @ndev: The DaVinci EMAC network adapter
1365 * emac_devioctl - EMAC adapter ioctl
1366 * @ndev: The DaVinci EMAC network adapter
1370 * EMAC driver ioctl function
1397 * emac_dev_open - EMAC device open
1398 * @ndev: The DaVinci EMAC network adapter
1457 "DaVinci EMAC: request_irq() failed\n"); in emac_dev_open()
1469 /* Start/Enable EMAC hardware */ in emac_dev_open()
1539 dev_notice(emac_dev, "DaVinci EMAC: Opened %s\n", ndev->name); in emac_dev_open()
1568 * emac_dev_stop - EMAC device stop
1569 * @ndev: The DaVinci EMAC network adapter
1574 * We return the statistics in net_device_stats structure pulled from emac
1604 dev_notice(emac_dev, "DaVinci EMAC: %s stopped\n", ndev->name); in emac_dev_stop()
1611 * emac_dev_getnetstats - EMAC get statistics function
1612 * @ndev: The DaVinci EMAC network adapter
1616 * We return the statistics in net_device_stats structure pulled from emac
1633 /* update emac hardware stats and reset the registers*/ in emac_dev_getnetstats()
1770 * davinci_emac_probe - EMAC device probe
1771 * @pdev: The DaVinci EMAC device that we are removing
1773 * Called when probing for emac devicesr. We get details of instances and
1791 /* obtain emac clock from kernel */ in davinci_emac_probe()
1794 dev_err(&pdev->dev, "failed to get EMAC clock\n"); in davinci_emac_probe()
1832 /* Get EMAC platform data */ in davinci_emac_probe()
1946 dev_notice(&pdev->dev, "DaVinci EMAC Probe found device " in davinci_emac_probe()
1972 * davinci_emac_remove - EMAC device remove
1973 * @pdev: The DaVinci EMAC device that we are removing
1984 dev_notice(&ndev->dev, "DaVinci EMAC: davinci_emac_remove()\n"); in davinci_emac_remove()
2037 {.compatible = "ti,davinci-dm6467-emac", },
2038 {.compatible = "ti,am3517-emac", .data = &am3517_emac_data, },
2039 {.compatible = "ti,dm816-emac", .data = &dm816_emac_data, },
2044 /* davinci_emac_driver: EMAC platform driver structure */
2056 * davinci_emac_init - EMAC driver module init
2068 * davinci_emac_exit - EMAC driver module exit
2080 MODULE_AUTHOR("DaVinci EMAC Maintainer: Anant Gole <anantgole@ti.com>");
2081 MODULE_AUTHOR("DaVinci EMAC Maintainer: Chaithrika U S <chaithrika@ti.com>");
2082 MODULE_DESCRIPTION("DaVinci EMAC Ethernet driver");