| /linux/drivers/net/ethernet/ti/icssg/ |
| H A D | icssg_prueth.c | 58 static int emac_get_tx_ts(struct prueth_emac *emac, in emac_get_tx_ts() argument 61 struct prueth *prueth = emac->prueth; in emac_get_tx_ts() 62 int slice = prueth_emac_slice(emac); in emac_get_tx_ts() 78 static void tx_ts_work(struct prueth_emac *emac) in tx_ts_work() argument 89 ret = emac_get_tx_ts(emac, &tsr); in tx_ts_work() 94 !emac->tx_ts_skb[tsr.cookie]) { in tx_ts_work() 95 netdev_err(emac->ndev, "Invalid TX TS cookie 0x%x\n", in tx_ts_work() 100 skb = emac->tx_ts_skb[tsr.cookie]; in tx_ts_work() 101 emac->tx_ts_skb[tsr.cookie] = NULL; /* free slot */ in tx_ts_work() 103 netdev_err(emac->ndev, "Driver Bug! got NULL skb\n"); in tx_ts_work() [all …]
|
| H A D | icssg_ethtool.c | 14 struct prueth_emac *emac = netdev_priv(ndev); in emac_get_drvinfo() local 15 struct prueth *prueth = emac->prueth; in emac_get_drvinfo() 24 struct prueth_emac *emac = netdev_priv(ndev); in emac_get_msglevel() local 26 return emac->msg_enable; in emac_get_msglevel() 31 struct prueth_emac *emac = netdev_priv(ndev); in emac_set_msglevel() local 33 emac->msg_enable = value; in emac_set_msglevel() 71 struct prueth_emac *emac = netdev_priv(ndev); in emac_get_sset_count() local 74 if (emac->prueth->pa_stats) in emac_get_sset_count() 85 struct prueth_emac *emac = netdev_priv(ndev); in emac_get_strings() local 94 if (emac->prueth->pa_stats) in emac_get_strings() [all …]
|
| H A D | icssg_switchdev.c | 22 struct prueth_emac *emac; member 26 static int prueth_switchdev_stp_state_set(struct prueth_emac *emac, in prueth_switchdev_stp_state_set() argument 47 icssg_set_port_state(emac, emac_state); in prueth_switchdev_stp_state_set() 48 netdev_dbg(emac->ndev, "STP state: %u\n", emac_state); in prueth_switchdev_stp_state_set() 53 static int prueth_switchdev_attr_br_flags_set(struct prueth_emac *emac, in prueth_switchdev_attr_br_flags_set() argument 64 netdev_dbg(emac->ndev, "BR_MCAST_FLOOD: %d port %u\n", in prueth_switchdev_attr_br_flags_set() 65 emac_state, emac->port_id); in prueth_switchdev_attr_br_flags_set() 67 icssg_set_port_state(emac, emac_state); in prueth_switchdev_attr_br_flags_set() 85 struct prueth_emac *emac = netdev_priv(ndev); in prueth_switchdev_attr_set() local 88 netdev_dbg(ndev, "attr: id %u port: %u\n", attr->id, emac->port_id); in prueth_switchdev_attr_set() [all …]
|
| H A D | icssg_common.c | 44 void prueth_cleanup_rx_chns(struct prueth_emac *emac, in prueth_cleanup_rx_chns() argument 61 void prueth_cleanup_tx_chns(struct prueth_emac *emac) in prueth_cleanup_tx_chns() argument 65 for (i = 0; i < emac->tx_ch_num; i++) { in prueth_cleanup_tx_chns() 66 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; in prueth_cleanup_tx_chns() 82 void prueth_ndev_del_tx_napi(struct prueth_emac *emac, int num) in prueth_ndev_del_tx_napi() argument 87 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; in prueth_ndev_del_tx_napi() 96 static void emac_xsk_xmit_zc(struct prueth_emac *emac, in emac_xsk_xmit_zc() argument 99 struct prueth_tx_chn *tx_chn = &emac->tx_chns[q_idx]; in emac_xsk_xmit_zc() 101 struct net_device *ndev = emac->ndev; in emac_xsk_xmit_zc() 141 dst_tag_id = emac in emac_xsk_xmit_zc() 210 emac_tx_complete_packets(struct prueth_emac * emac,int chn,int budget,bool * tdown) emac_tx_complete_packets() argument 321 struct prueth_emac *emac = tx_chn->emac; emac_napi_tx_poll() local 358 prueth_ndev_add_tx_napi(struct prueth_emac * emac) prueth_ndev_add_tx_napi() argument 387 prueth_init_tx_chns(struct prueth_emac * emac) prueth_init_tx_chns() argument 468 prueth_create_page_pool(struct prueth_emac * emac,struct device * dma_dev,int size) prueth_create_page_pool() argument 491 prueth_init_rx_chns(struct prueth_emac * emac,struct prueth_rx_chn * rx_chn,char * name,u32 max_rflows,u32 max_desc_num) prueth_init_rx_chns() argument 610 prueth_dma_rx_push_mapped(struct prueth_emac * emac,struct prueth_rx_chn * rx_chn,struct page * page,u32 buf_len) prueth_dma_rx_push_mapped() argument 658 emac_rx_timestamp(struct prueth_emac * emac,struct sk_buff * skb,u32 * psdata) emac_rx_timestamp() argument 687 emac_xmit_xdp_frame(struct prueth_emac * emac,struct xdp_frame * xdpf,unsigned int q_idx,enum prueth_tx_buff_type buff_type) emac_xmit_xdp_frame() argument 779 emac_run_xdp(struct prueth_emac * emac,struct xdp_buff * xdp,u32 * len) emac_run_xdp() argument 836 prueth_dma_rx_push_mapped_zc(struct prueth_emac * emac,struct prueth_rx_chn * rx_chn,struct xdp_buff * xdp) prueth_dma_rx_push_mapped_zc() argument 868 prueth_rx_alloc_zc(struct prueth_emac * emac,int budget) prueth_rx_alloc_zc() argument 890 emac_dispatch_skb_zc(struct prueth_emac * emac,struct xdp_buff * xdp,u32 * psdata) emac_dispatch_skb_zc() argument 921 emac_rx_packet_zc(struct prueth_emac * emac,u32 flow_id,int budget) emac_rx_packet_zc() argument 1014 emac_rx_packet(struct prueth_emac * emac,u32 flow_id,u32 * xdp_state) emac_rx_packet() argument 1154 prueth_tx_ts_cookie_get(struct prueth_emac * emac) prueth_tx_ts_cookie_get() argument 1184 struct prueth_emac *emac = netdev_priv(ndev); icssg_ndo_start_xmit() local 1391 struct prueth_emac *emac = dev_id; prueth_rx_irq() local 1401 prueth_cleanup_tx_ts(struct prueth_emac * emac) prueth_cleanup_tx_ts() argument 1416 struct prueth_emac *emac = prueth_napi_to_emac(napi_rx); icssg_napi_rx_poll() local 1468 prueth_prepare_rx_chan(struct prueth_emac * emac,struct prueth_rx_chn * chn,int buf_size) prueth_prepare_rx_chan() argument 1522 prueth_reset_tx_chan(struct prueth_emac * emac,int ch_num,bool free_skb) prueth_reset_tx_chan() argument 1560 struct prueth_emac *emac = netdev_priv(ndev); icssg_ndo_set_ts_config() local 1606 struct prueth_emac *emac = netdev_priv(ndev); icssg_ndo_get_ts_config() local 1619 struct prueth_emac *emac = netdev_priv(ndev); icssg_ndo_get_stats64() local 1659 struct prueth_emac *emac = netdev_priv(ndev); icssg_ndo_get_phys_port_name() local 1711 struct prueth_emac *emac; prueth_netdev_exit() local [all...] |
| H A D | icssg_config.c | 113 static void icssg_config_mii_init_fw_offload(struct prueth_emac *emac) in icssg_config_mii_init_fw_offload() argument 115 struct prueth *prueth = emac->prueth; in icssg_config_mii_init_fw_offload() 116 int mii = prueth_emac_slice(emac); in icssg_config_mii_init_fw_offload() 131 if (emac->phy_if == PHY_INTERFACE_MODE_MII && mii == ICSS_MII1) in icssg_config_mii_init_fw_offload() 133 else if (emac->phy_if != PHY_INTERFACE_MODE_MII && mii == ICSS_MII0) in icssg_config_mii_init_fw_offload() 140 static void icssg_config_mii_init(struct prueth_emac *emac) in icssg_config_mii_init() argument 142 struct prueth *prueth = emac->prueth; in icssg_config_mii_init() 143 int slice = prueth_emac_slice(emac); in icssg_config_mii_init() 159 if (emac->phy_if == PHY_INTERFACE_MODE_MII && slice == ICSS_MII0) in icssg_config_mii_init() 161 else if (emac->phy_if != PHY_INTERFACE_MODE_MII && slice == ICSS_MII1) in icssg_config_mii_init() [all …]
|
| H A D | icssg_stats.c | 19 void emac_update_hardware_stats(struct prueth_emac *emac) in emac_update_hardware_stats() argument 21 struct prueth *prueth = emac->prueth; in emac_update_hardware_stats() 22 int slice = prueth_emac_slice(emac); in emac_update_hardware_stats() 35 if (emac->phy_if == PHY_INTERFACE_MODE_MII && in emac_update_hardware_stats() 49 emac->stats[i] += val; in emac_update_hardware_stats() 51 emac->stats[i] -= tx_pkt_cnt * 8; in emac_update_hardware_stats() 59 emac->pa_stats[i] += val; in emac_update_hardware_stats() 68 struct prueth_emac *emac = container_of(work, struct prueth_emac, in icssg_stats_work_handler() local 70 emac_update_hardware_stats(emac); in icssg_stats_work_handler() 72 queue_delayed_work(system_long_wq, &emac->stats_work, in icssg_stats_work_handler() [all …]
|
| H A D | icssg_mii_cfg.c | 45 void icssg_update_rgmii_cfg(struct regmap *miig_rt, struct prueth_emac *emac) in icssg_update_rgmii_cfg() argument 48 int slice = prueth_emac_slice(emac); in icssg_update_rgmii_cfg() 53 if (emac->speed == SPEED_1000) in icssg_update_rgmii_cfg() 59 if (emac->speed == SPEED_10 && phy_interface_mode_is_rgmii(emac->phy_if)) in icssg_update_rgmii_cfg() 65 if (emac->duplex == DUPLEX_FULL) in icssg_update_rgmii_cfg()
|
| /linux/drivers/net/ethernet/ti/icssm/ |
| H A D | icssm_prueth.c | 320 static void icssm_prueth_port_enable(struct prueth_emac *emac, bool enable) in icssm_prueth_port_enable() argument 322 struct prueth *prueth = emac->prueth; in icssm_prueth_port_enable() 326 ram = prueth->mem[emac->dram].va; in icssm_prueth_port_enable() 331 static int icssm_prueth_emac_config(struct prueth_emac *emac) in icssm_prueth_emac_config() argument 333 struct prueth *prueth = emac->prueth; in icssm_prueth_emac_config() 347 icssm_prueth_clearmem(prueth, emac->dram); in icssm_prueth_emac_config() 349 dram_base = prueth->mem[emac->dram].va; in icssm_prueth_emac_config() 353 memcpy_toio(mac_addr, emac->mac_addr, 6); in icssm_prueth_emac_config() 357 memcpy_toio(dram, queue_infos[emac->port_id], in icssm_prueth_emac_config() 358 sizeof(queue_infos[emac->port_id])); in icssm_prueth_emac_config() [all …]
|
| H A D | icssm_switchdev.c | 23 struct prueth_emac *emac; member 50 struct prueth_emac *emac = netdev_priv(ndev); in icssm_prueth_sw_attr_set() local 51 struct prueth *prueth = emac->prueth; in icssm_prueth_sw_attr_set() 61 o_state = icssm_prueth_sw_get_stp_state(prueth, emac->port_id); in icssm_prueth_sw_attr_set() 62 icssm_prueth_sw_set_stp_state(prueth, emac->port_id, in icssm_prueth_sw_attr_set() 66 icssm_prueth_sw_purge_fdb(emac); in icssm_prueth_sw_attr_set() 69 attr->u.stp_state, emac->port_id); in icssm_prueth_sw_attr_set() 100 struct prueth_emac *emac = switchdev_work->emac; in icssm_sw_event_work() local 102 struct prueth *prueth = emac->prueth; in icssm_sw_event_work() 103 int port = emac->port_id; in icssm_sw_event_work() [all …]
|
| H A D | icssm_prueth_switch.c | 27 struct prueth_emac *emac; member 526 static int icssm_prueth_sw_insert_fdb_entry(struct prueth_emac *emac, in icssm_prueth_sw_insert_fdb_entry() argument 531 struct prueth *prueth = emac->prueth; in icssm_prueth_sw_insert_fdb_entry() 543 other_port_id = (emac->port_id == PRUETH_PORT_MII0) ? in icssm_prueth_sw_insert_fdb_entry() 546 other_emac = prueth->emac[other_port_id - 1]; in icssm_prueth_sw_insert_fdb_entry() 561 if (ether_addr_equal(mac, emac->mac_addr) || in icssm_prueth_sw_insert_fdb_entry() 578 emac->port_id - 1); in icssm_prueth_sw_insert_fdb_entry() 599 writeb(emac->port_id - 1, &mac_info->port); in icssm_prueth_sw_insert_fdb_entry() 622 mac, emac->port_id, total_fdb_entries); in icssm_prueth_sw_insert_fdb_entry() 627 static int icssm_prueth_sw_delete_fdb_entry(struct prueth_emac *emac, in icssm_prueth_sw_delete_fdb_entry() argument [all …]
|
| /linux/drivers/net/ethernet/qualcomm/emac/ |
| H A D | Makefile | 6 obj-$(CONFIG_QCOM_EMAC) += qcom-emac.o 8 qcom-emac-objs := emac.o emac-mac.o emac-phy.o emac-sgmii.o emac-ethtool.o \ 9 emac-sgmii-fsm9900.o emac-sgmii-qdf2432.o \ 10 emac-sgmii-qdf2400.o
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | davinci_emac.txt | 7 - compatible: "ti,davinci-dm6467-emac", "ti,am3517-emac" or 8 "ti,dm816-emac" 14 - interrupts: interrupt mapping for the davinci emac interrupts sources: 30 eth0: emac@1e20000 { 31 compatible = "ti,davinci-dm6467-emac";
|
| H A D | qcom-emac.txt | 11 - compatible : Should be "qcom,fsm9900-emac". 20 - compatible : Should be "qcom,fsm9900-emac-sgmii" or "qcom,qdf2432-emac-sgmii". 36 compatible = "qcom,fsm9900-emac"; 61 compatible = "qcom,fsm9900-emac-sgmii"; 85 compatible = "qcom,fsm9900-emac"; 107 compatible = "qcom,qdf2432-emac-sgmii";
|
| H A D | ibm,emac.txt | 16 "ibm,emac-CHIP" where CHIP is the host ASIC (440gx, 17 405gp, Axon) and second is either "ibm,emac" or 18 "ibm,emac4". For Axon, thus, we have: "ibm,emac-axon", 105 compatible = "ibm,emac-440gp", "ibm,emac"; 125 compatible = "ibm,emac-apm821xx", "ibm,emac4sync"; 171 emac) and the second is either "ibm,mcmal" or
|
| /linux/arch/powerpc/boot/ |
| H A D | treeboot-akebono.c | 72 void *emac; in ibm_akebono_fixups() local 85 emac = finddevice("/plb/opb/ethernet"); in ibm_akebono_fixups() 86 if (emac > 0) { in ibm_akebono_fixups() 88 setprop(emac, "local-mac-address", in ibm_akebono_fixups()
|
| /linux/arch/powerpc/boot/dts/ |
| H A D | sam440ep.dts | 212 ZMII0: emac-zmii@ef600d00 { 220 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 241 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
|
| H A D | yosemite.dts | 246 ZMII0: emac-zmii@ef600d00 { 253 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 273 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
|
| H A D | bamboo.dts | 203 ZMII0: emac-zmii@ef600d00 { 210 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 230 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
|
| H A D | eiger.dts | 278 RGMII0: emac-rgmii@ef600900 { 284 RGMII1: emac-rgmii@ef600920 { 290 TAH0: emac-tah@ef600e50 { 295 TAH1: emac-tah@ef600f50 { 302 compatible = "ibm,emac-460sx", "ibm,emac4"; 332 compatible = "ibm,emac-460sx", "ibm,emac4"; 363 compatible = "ibm,emac-460sx", "ibm,emac4"; 393 compatible = "ibm,emac-460sx", "ibm,emac4";
|
| H A D | taishan.dts | 264 ZMII0: emac-zmii@40000780 { 269 RGMII0: emac-rgmii@40000790 { 274 TAH0: emac-tah@40000b50 { 279 TAH1: emac-tah@40000d50 { 287 compatible = "ibm,emac-440gx", "ibm,emac4"; 307 compatible = "ibm,emac-440gx", "ibm,emac4"; 327 compatible = "ibm,emac-440gx", "ibm,emac4"; 351 compatible = "ibm,emac-440gx", "ibm,emac4";
|
| H A D | rainier.dts | 247 ZMII0: emac-zmii@ef600d00 { 252 RGMII0: emac-rgmii@ef601000 { 260 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4"; 289 compatible = "ibm,emac-440grx", "ibm,emac-440epx", "ibm,emac4";
|
| H A D | glacier.dts | 310 ZMII0: emac-zmii@ef600d00 { 315 RGMII0: emac-rgmii@ef601500 { 321 RGMII1: emac-rgmii@ef601600 { 327 TAH0: emac-tah@ef601350 { 332 TAH1: emac-tah@ef601450 { 339 compatible = "ibm,emac-460gt", "ibm,emac4sync"; 369 compatible = "ibm,emac-460gt", "ibm,emac4sync"; 400 compatible = "ibm,emac-460gt", "ibm,emac4sync"; 430 compatible = "ibm,emac-460gt", "ibm,emac4sync";
|
| /linux/arch/arm64/boot/dts/allwinner/ |
| H A D | sun50i-h6-orangepi-one-plus.dts | 12 ethernet0 = &emac; 27 &emac {
|
| H A D | sun50i-a64-oceanic-5205-5inmfd.dts | 15 ethernet0 = &emac; 28 &emac {
|
| /linux/arch/arm/boot/dts/allwinner/ |
| H A D | sun8i-h3-rervision-dvk.dts | 19 ethernet0 = &emac; 55 &emac {
|