Lines Matching full:macb

3  * Cadence MACB/GEM Ethernet Controller driver
39 #include "macb.h"
41 /* This structure is only used for MACB on SiFive FU540 devices */
125 static unsigned int macb_dma_desc_get_size(struct macb *bp) in macb_dma_desc_get_size()
152 static unsigned int macb_adj_dma_desc_idx(struct macb *bp, unsigned int desc_idx) in macb_adj_dma_desc_idx()
171 static struct macb_dma_desc_64 *macb_64b_desc(struct macb *bp, struct macb_dma_desc *desc) in macb_64b_desc()
179 static unsigned int macb_tx_ring_wrap(struct macb *bp, unsigned int index) in macb_tx_ring_wrap()
208 static unsigned int macb_rx_ring_wrap(struct macb *bp, unsigned int index) in macb_rx_ring_wrap()
227 static u32 hw_readl_native(struct macb *bp, int offset) in hw_readl_native()
232 static void hw_writel_native(struct macb *bp, int offset, u32 value) in hw_writel_native()
237 static u32 hw_readl(struct macb *bp, int offset) in hw_readl()
242 static void hw_writel(struct macb *bp, int offset, u32 value) in hw_writel()
276 static void macb_set_hwaddr(struct macb *bp) in macb_set_hwaddr()
300 static void macb_get_hwaddr(struct macb *bp) in macb_get_hwaddr()
329 static int macb_mdio_wait_for_idle(struct macb *bp) in macb_mdio_wait_for_idle()
339 struct macb *bp = bus->priv; in macb_mdio_read_c22()
372 struct macb *bp = bus->priv; in macb_mdio_read_c45()
418 struct macb *bp = bus->priv; in macb_mdio_write_c22()
451 struct macb *bp = bus->priv; in macb_mdio_write_c45()
493 static void macb_init_buffers(struct macb *bp) in macb_init_buffers()
516 * @bp: pointer to struct macb
519 static void macb_set_tx_clk(struct macb *bp, int speed) in macb_set_tx_clk()
556 struct macb *bp = container_of(pcs, struct macb, phylink_usx_pcs); in macb_usx_pcs_link_up()
571 struct macb *bp = container_of(pcs, struct macb, phylink_usx_pcs); in macb_usx_pcs_get_state()
591 struct macb *bp = container_of(pcs, struct macb, phylink_usx_pcs); in macb_usx_pcs_config()
635 struct macb *bp = netdev_priv(ndev); in macb_mac_config()
693 struct macb *bp = netdev_priv(ndev); in macb_mac_link_down()
717 struct macb *bp = netdev_priv(ndev); in macb_mac_link_up()
783 struct macb *bp = netdev_priv(ndev); in macb_mac_select_pcs()
807 static int macb_phylink_connect(struct macb *bp) in macb_phylink_connect()
842 struct macb *bp = netdev_priv(ndev); in macb_get_pcs_fixed_state()
850 struct macb *bp = netdev_priv(dev); in macb_mii_probe()
904 static int macb_mdiobus_register(struct macb *bp, struct device_node *mdio_np) in macb_mdiobus_register()
932 static int macb_mii_init(struct macb *bp) in macb_mii_init()
939 * In that case, some devices may be attached to the MACB's MDIO bus. in macb_mii_init()
986 static void macb_update_stats(struct macb *bp) in macb_update_stats()
988 u64 *p = &bp->hw_stats.macb.rx_pause_frames; in macb_update_stats()
989 u64 *end = &bp->hw_stats.macb.tx_pause_frames + 1; in macb_update_stats()
998 static int macb_halt_tx(struct macb *bp) in macb_halt_tx()
1011 static void macb_tx_unmap(struct macb *bp, struct macb_tx_skb *tx_skb, int budget) in macb_tx_unmap()
1029 static void macb_set_addr(struct macb *bp, struct macb_dma_desc *desc, dma_addr_t addr) in macb_set_addr()
1047 static dma_addr_t macb_get_addr(struct macb *bp, struct macb_dma_desc *desc) in macb_get_addr()
1071 struct macb *bp = queue->bp; in macb_tx_error_task()
1089 * network engine about the macb/gem being halted. in macb_tx_error_task()
1099 * macb/gem must be halted to write TBQP register in macb_tx_error_task()
1224 struct macb *bp = queue->bp; in macb_tx_complete()
1304 struct macb *bp = queue->bp; in gem_rx_refill()
1386 struct macb *bp = queue->bp; in gem_rx()
1482 struct macb *bp = queue->bp; in macb_rx_frame()
1558 struct macb *bp = queue->bp; in macb_init_rx_ring()
1577 struct macb *bp = queue->bp; in macb_rx()
1655 struct macb *bp = queue->bp; in macb_rx_pending()
1671 struct macb *bp = queue->bp; in macb_rx_poll()
1708 struct macb *bp = queue->bp; in macb_tx_restart()
1750 struct macb *bp = queue->bp; in macb_tx_poll()
1792 struct macb *bp = from_work(bp, work, hresp_err_bh_work); in macb_hresp_error_task()
1832 struct macb *bp = queue->bp; in macb_wol_interrupt()
1845 netdev_vdbg(bp->dev, "MACB WoL: queue = %u, isr = 0x%08lx\n", in macb_wol_interrupt()
1861 struct macb *bp = queue->bp; in gem_wol_interrupt()
1890 struct macb *bp = queue->bp; in macb_interrupt()
1986 bp->hw_stats.macb.rx_overruns++; in macb_interrupt()
2014 struct macb *bp = netdev_priv(dev); in macb_poll_controller()
2026 static unsigned int macb_tx_map(struct macb *bp, in macb_tx_map()
2307 struct macb *bp = netdev_priv(dev); in macb_start_xmit()
2408 static void macb_init_rx_buffer_size(struct macb *bp, size_t size) in macb_init_rx_buffer_size()
2428 static void gem_free_rx_buffers(struct macb *bp) in gem_free_rx_buffers()
2461 static void macb_free_rx_buffers(struct macb *bp) in macb_free_rx_buffers()
2473 static void macb_free_consistent(struct macb *bp) in macb_free_consistent()
2505 static int gem_alloc_rx_buffers(struct macb *bp) in gem_alloc_rx_buffers()
2524 static int macb_alloc_rx_buffers(struct macb *bp) in macb_alloc_rx_buffers()
2541 static int macb_alloc_consistent(struct macb *bp) in macb_alloc_consistent()
2593 static void macb_init_tieoff(struct macb *bp) in macb_init_tieoff()
2606 static void gem_init_rings(struct macb *bp) in gem_init_rings()
2632 static void macb_init_rings(struct macb *bp) in macb_init_rings()
2651 static void macb_reset_hw(struct macb *bp) in macb_reset_hw()
2683 static u32 gem_mdc_clk_div(struct macb *bp) in gem_mdc_clk_div()
2708 static u32 macb_mdc_clk_div(struct macb *bp) in macb_mdc_clk_div()
2733 static u32 macb_dbw(struct macb *bp) in macb_dbw()
2756 static void macb_configure_dma(struct macb *bp) in macb_configure_dma()
2802 static void macb_init_hw(struct macb *bp) in macb_init_hw()
2899 struct macb *bp = netdev_priv(dev); in macb_sethashtable()
2917 struct macb *bp = netdev_priv(dev); in macb_set_rx_mode()
2959 struct macb *bp = netdev_priv(dev); in macb_open()
3019 struct macb *bp = netdev_priv(dev); in macb_close()
3074 static void gem_update_stats(struct macb *bp) in gem_update_stats()
3103 static void gem_get_stats(struct macb *bp, struct rtnl_link_stats64 *nstat) in gem_get_stats()
3144 struct macb *bp = netdev_priv(dev); in gem_get_ethtool_stats()
3155 struct macb *bp = netdev_priv(dev); in gem_get_sset_count()
3168 struct macb *bp = netdev_priv(dev); in gem_get_ethtool_strings()
3193 struct macb *bp = netdev_priv(dev); in macb_get_stats()
3194 struct macb_stats *hwstat = &bp->hw_stats.macb; in macb_get_stats()
3243 struct macb *bp = netdev_priv(dev); in macb_get_pause_stats()
3244 struct macb_stats *hwstat = &bp->hw_stats.macb; in macb_get_pause_stats()
3256 struct macb *bp = netdev_priv(dev); in gem_get_pause_stats()
3269 struct macb *bp = netdev_priv(dev); in macb_get_eth_mac_stats()
3270 struct macb_stats *hwstat = &bp->hw_stats.macb; in macb_get_eth_mac_stats()
3294 struct macb *bp = netdev_priv(dev); in gem_get_eth_mac_stats()
3327 struct macb *bp = netdev_priv(dev); in macb_get_eth_phy_stats()
3328 struct macb_stats *hwstat = &bp->hw_stats.macb; in macb_get_eth_phy_stats()
3339 struct macb *bp = netdev_priv(dev); in gem_get_eth_phy_stats()
3352 struct macb *bp = netdev_priv(dev); in macb_get_rmon_stats()
3353 struct macb_stats *hwstat = &bp->hw_stats.macb; in macb_get_rmon_stats()
3378 struct macb *bp = netdev_priv(dev); in gem_get_rmon_stats()
3412 struct macb *bp = netdev_priv(dev); in macb_get_regs()
3444 struct macb *bp = netdev_priv(netdev); in macb_get_wol()
3449 /* Add macb wolopts to phy wolopts */ in macb_get_wol()
3455 struct macb *bp = netdev_priv(netdev); in macb_set_wol()
3476 struct macb *bp = netdev_priv(netdev); in macb_get_link_ksettings()
3484 struct macb *bp = netdev_priv(netdev); in macb_set_link_ksettings()
3494 struct macb *bp = netdev_priv(netdev); in macb_get_ringparam()
3508 struct macb *bp = netdev_priv(netdev); in macb_set_ringparam()
3544 static unsigned int gem_get_tsu_rate(struct macb *bp) in gem_get_tsu_rate()
3569 struct macb *bp = netdev_priv(dev); in gem_get_ts_info()
3609 struct macb *bp = netdev_priv(netdev); in macb_get_ts_info()
3617 static void gem_enable_flow_filters(struct macb *bp, bool enable) in gem_enable_flow_filters()
3663 static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) in gem_prog_cmp_regs()
3749 struct macb *bp = netdev_priv(netdev); in gem_add_flow_filter()
3804 struct macb *bp = netdev_priv(netdev); in gem_del_flow_filter()
3840 struct macb *bp = netdev_priv(netdev); in gem_get_flow_entry()
3855 struct macb *bp = netdev_priv(netdev); in gem_get_all_flow_entries()
3874 struct macb *bp = netdev_priv(netdev); in gem_get_rxnfc()
3901 struct macb *bp = netdev_priv(netdev); in gem_set_rxnfc()
3966 struct macb *bp = netdev_priv(dev); in macb_ioctl()
3977 struct macb *bp = netdev_priv(dev); in macb_hwtstamp_get()
3992 struct macb *bp = netdev_priv(dev); in macb_hwtstamp_set()
4003 static inline void macb_set_txcsum_feature(struct macb *bp, in macb_set_txcsum_feature()
4020 static inline void macb_set_rxcsum_feature(struct macb *bp, in macb_set_rxcsum_feature()
4038 static inline void macb_set_rxflow_feature(struct macb *bp, in macb_set_rxflow_feature()
4050 struct macb *bp = netdev_priv(netdev); in macb_set_features()
4068 static void macb_restore_features(struct macb *bp) in macb_restore_features()
4109 static void macb_configure_caps(struct macb *bp, in macb_configure_caps()
4155 /* is it macb or gem ? in macb_probe_queues()
4272 struct macb *bp = netdev_priv(dev); in macb_init()
4442 static int at91ether_alloc_coherent(struct macb *lp) in at91ether_alloc_coherent()
4469 static void at91ether_free_coherent(struct macb *lp) in at91ether_free_coherent()
4491 static int at91ether_start(struct macb *lp) in at91ether_start()
4536 static void at91ether_stop(struct macb *lp) in at91ether_stop()
4560 struct macb *lp = netdev_priv(dev); in at91ether_open()
4596 struct macb *lp = netdev_priv(dev); in at91ether_close()
4612 struct macb *lp = netdev_priv(dev); in at91ether_start_xmit()
4649 struct macb *lp = netdev_priv(dev); in at91ether_rx()
4693 struct macb *lp = netdev_priv(dev); in at91ether_interrupt()
4792 struct macb *bp = netdev_priv(dev); in at91ether_init()
4922 struct macb *bp = netdev_priv(dev); in init_reset_optional()
5128 { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
5129 { .compatible = "cdns,macb" },
5130 { .compatible = "cdns,np4-macb", .data = &np4_config },
5133 { .compatible = "cdns,sam9x60-macb", .data = &at91sam9260_config },
5137 { .compatible = "atmel,sama5d3-macb", .data = &sama5d3macb_config },
5144 { .compatible = "microchip,mpfs-macb", .data = &mpfs_config },
5183 struct macb *bp; in macb_probe()
5354 macb_is_gem(bp) ? "GEM" : "MACB", macb_readl(bp, MID), in macb_probe()
5384 struct macb *bp; in macb_remove()
5411 struct macb *bp = netdev_priv(netdev); in macb_suspend()
5542 struct macb *bp = netdev_priv(netdev); in macb_resume()
5625 struct macb *bp = netdev_priv(netdev); in macb_runtime_suspend()
5638 struct macb *bp = netdev_priv(netdev); in macb_runtime_resume()
5662 .name = "macb",
5671 MODULE_DESCRIPTION("Cadence MACB/GEM Ethernet driver");
5673 MODULE_ALIAS("platform:macb");