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 */
121 /* EMAC register related defines */
148 /* EMAC register definitions/bit maps used */
156 /* EMAC mac_control register */
168 /* EMAC mac_status register */
178 /* EMAC RX register masks */
209 /* EMAC Peripheral Device Register Memory Layout structure */
240 /* EMAC statistics registers */
272 /* EMAC DM644x control registers */
276 /* EMAC DM644x control module masks */
281 /* EMAC DM646X control module registers */
288 /* EMAC DM646X control module masks */
297 /* EMAC EOI codes for C0 */
301 /* EMAC Stats Clear Mask */
304 /* emac_priv: EMAC private data structure
306 * EMAC adapter private data structure
342 /* EMAC TX Host Error description strings */
351 /* EMAC RX Host Error description strings */
367 * emac_get_drvinfo - Get EMAC driver information
368 * @ndev: The DaVinci EMAC network adapter
371 * Returns EMAC driver information (name and version)
383 * @ndev : The DaVinci EMAC network adapter
405 * @ndev : The DaVinci EMAC network adapter
498 /* ethtool_ops: DaVinci EMAC Ethtool structure
500 * Ethtool support for EMAC adapter
515 * @priv: The DaVinci EMAC private adapter structure
607 * @priv: The DaVinci EMAC private adapter structure
622 dev_err(emac_dev, "DaVinci EMAC: emac_hash_add(): Invalid "\ in emac_hash_add()
649 * @priv: The DaVinci EMAC private adapter structure
683 /* EMAC multicast operation */
690 * emac_add_mcast - Set multicast address in the EMAC adapter (Internal)
691 * @priv: The DaVinci EMAC private adapter structure
695 * Set multicast addresses in EMAC adapter - internal function
725 dev_err(emac_dev, "DaVinci EMAC: add_mcast"\ in emac_add_mcast()
738 * emac_dev_mcast_set - Set multicast address in the EMAC adapter
739 * @ndev: The DaVinci EMAC network adapter
741 * Set multicast addresses in EMAC adapter
764 /* program multicast address list into EMAC hardware */ in emac_dev_mcast_set()
779 * EMAC Hardware manipulation
783 * emac_int_disable - Disable EMAC module interrupt (from adapter)
784 * @priv: The DaVinci EMAC private adapter structure
786 * Disable EMAC interrupt on the adapter
823 * emac_int_enable - Enable EMAC module interrupt (from adapter)
824 * @priv: The DaVinci EMAC private adapter structure
826 * Enable EMAC interrupt on the adapter
850 * emac_irq - EMAC interrupt handler
852 * @dev_id: EMAC network adapter data structure ptr
854 * EMAC Interrupt handler - we only schedule NAPI and not process any packets
943 * emac_dev_xmit - EMAC Transmit function
945 * @ndev: The DaVinci EMAC network adapter
948 * EMAC hardware transmit queue
961 dev_err(emac_dev, "DaVinci EMAC: No link to transmit"); in emac_dev_xmit()
968 dev_err(emac_dev, "DaVinci EMAC: packet pad failed"); in emac_dev_xmit()
978 dev_err(emac_dev, "DaVinci EMAC: desc submit failed"); in emac_dev_xmit()
997 * emac_dev_tx_timeout - EMAC Transmit timeout function
998 * @ndev: The DaVinci EMAC network adapter
1013 dev_err(emac_dev, "DaVinci EMAC: xmit timeout, restarting TX"); in emac_dev_tx_timeout()
1023 * emac_set_type0addr - Set EMAC Type0 mac address
1024 * @priv: The DaVinci EMAC private adapter structure
1050 * emac_set_type1addr - Set EMAC Type1 mac address
1051 * @priv: The DaVinci EMAC private adapter structure
1072 * emac_set_type2addr - Set EMAC Type2 mac address
1073 * @priv: The DaVinci EMAC private adapter structure
1099 * @priv: The DaVinci EMAC private adapter structure
1122 dev_err(emac_dev, "DaVinci EMAC: Wrong addressing\n"); in emac_setmac()
1128 * @ndev: The DaVinci EMAC network adapter
1144 /* Store mac addr in priv and rx channel and set it in EMAC hw */ in emac_dev_setmac_addr()
1154 dev_notice(emac_dev, "DaVinci EMAC: emac_dev_setmac_addr %pM\n", in emac_dev_setmac_addr()
1161 * emac_hw_enable - Enable EMAC hardware for packet transmission/reception
1162 * @priv: The DaVinci EMAC private adapter structure
1164 * Enables EMAC hardware for packet processing - enables PHY, enables RX
1231 * emac_poll - EMAC NAPI Poll function
1232 * @napi: pointer to the napi_struct containing The DaVinci EMAC network adapter
1279 dev_err(emac_dev, "DaVinci EMAC: Fatal Hardware Error\n"); in emac_poll()
1313 * emac_poll_controller - EMAC Poll controller function
1314 * @ndev: The DaVinci EMAC network adapter
1372 * emac_devioctl - EMAC adapter ioctl
1373 * @ndev: The DaVinci EMAC network adapter
1377 * EMAC driver ioctl function
1404 * emac_dev_open - EMAC device open
1405 * @ndev: The DaVinci EMAC network adapter
1462 dev_err(emac_dev, "DaVinci EMAC: request_irq() failed\n"); in emac_dev_open()
1472 dev_err(emac_dev, "DaVinci EMAC: request_irq() failed\n"); in emac_dev_open()
1483 /* Start/Enable EMAC hardware */ in emac_dev_open()
1553 dev_notice(emac_dev, "DaVinci EMAC: Opened %s\n", ndev->name); in emac_dev_open()
1590 * emac_dev_stop - EMAC device stop
1591 * @ndev: The DaVinci EMAC network adapter
1596 * We return the statistics in net_device_stats structure pulled from emac
1641 dev_notice(emac_dev, "DaVinci EMAC: %s stopped\n", ndev->name); in emac_dev_stop()
1648 * emac_dev_getnetstats - EMAC get statistics function
1649 * @ndev: The DaVinci EMAC network adapter
1653 * We return the statistics in net_device_stats structure pulled from emac
1669 /* update emac hardware stats and reset the registers*/ in emac_dev_getnetstats()
1802 * davinci_emac_probe - EMAC device probe
1803 * @pdev: The DaVinci EMAC device that we are removing
1805 * Called when probing for emac devicesr. We get details of instances and
1823 /* obtain emac clock from kernel */ in davinci_emac_probe()
1826 dev_err(&pdev->dev, "failed to get EMAC clock\n"); in davinci_emac_probe()
1864 /* Get EMAC platform data */ in davinci_emac_probe()
1973 dev_notice(&pdev->dev, "DaVinci EMAC Probe found device " in davinci_emac_probe()
1999 * davinci_emac_remove - EMAC device remove
2000 * @pdev: The DaVinci EMAC device that we are removing
2011 dev_notice(&ndev->dev, "DaVinci EMAC: davinci_emac_remove()\n"); in davinci_emac_remove()
2064 {.compatible = "ti,davinci-dm6467-emac", },
2065 {.compatible = "ti,am3517-emac", .data = &am3517_emac_data, },
2066 {.compatible = "ti,dm816-emac", .data = &dm816_emac_data, },
2071 /* davinci_emac_driver: EMAC platform driver structure */
2083 * davinci_emac_init - EMAC driver module init
2095 * davinci_emac_exit - EMAC driver module exit
2107 MODULE_AUTHOR("DaVinci EMAC Maintainer: Anant Gole <anantgole@ti.com>");
2108 MODULE_AUTHOR("DaVinci EMAC Maintainer: Chaithrika U S <chaithrika@ti.com>");
2109 MODULE_DESCRIPTION("DaVinci EMAC Ethernet driver");