/linux-6.12.1/drivers/net/ethernet/ti/icssg/ |
D | icssg_prueth.c | 53 static int emac_get_tx_ts(struct prueth_emac *emac, in emac_get_tx_ts() argument 56 struct prueth *prueth = emac->prueth; in emac_get_tx_ts() 57 int slice = prueth_emac_slice(emac); in emac_get_tx_ts() 73 static void tx_ts_work(struct prueth_emac *emac) in tx_ts_work() argument 84 ret = emac_get_tx_ts(emac, &tsr); in tx_ts_work() 89 !emac->tx_ts_skb[tsr.cookie]) { in tx_ts_work() 90 netdev_err(emac->ndev, "Invalid TX TS cookie 0x%x\n", in tx_ts_work() 95 skb = emac->tx_ts_skb[tsr.cookie]; in tx_ts_work() 96 emac->tx_ts_skb[tsr.cookie] = NULL; /* free slot */ in tx_ts_work() 98 netdev_err(emac->ndev, "Driver Bug! got NULL skb\n"); in tx_ts_work() [all …]
|
D | icssg_prueth_sr1.c | 54 static void icssg_config_sr1(struct prueth *prueth, struct prueth_emac *emac, in icssg_config_sr1() argument 64 config.rx_flow_id = cpu_to_le32(emac->rx_flow_id_base); /* flow id for host port */ in icssg_config_sr1() 65 config.rx_mgr_flow_id = cpu_to_le32(emac->rx_mgm_flow_id_base); /* for mgm ch */ in icssg_config_sr1() 76 emac->speed = SPEED_1000; in icssg_config_sr1() 77 emac->duplex = DUPLEX_FULL; in icssg_config_sr1() 80 static int emac_send_command_sr1(struct prueth_emac *emac, u32 cmd) in emac_send_command_sr1() argument 83 u32 pkt_len = sizeof(emac->cmd_data); in emac_send_command_sr1() 84 __le32 *data = emac->cmd_data; in emac_send_command_sr1() 91 netdev_dbg(emac->ndev, "Sending cmd %x\n", cmd); in emac_send_command_sr1() 94 mutex_lock(&emac->cmd_lock); in emac_send_command_sr1() [all …]
|
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 …]
|
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 …]
|
D | icssg_common.c | 44 void prueth_cleanup_rx_chns(struct prueth_emac *emac, in prueth_cleanup_rx_chns() argument 56 void prueth_cleanup_tx_chns(struct prueth_emac *emac) in prueth_cleanup_tx_chns() argument 60 for (i = 0; i < emac->tx_ch_num; i++) { in prueth_cleanup_tx_chns() 61 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; in prueth_cleanup_tx_chns() 77 void prueth_ndev_del_tx_napi(struct prueth_emac *emac, int num) in prueth_ndev_del_tx_napi() argument 82 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; in prueth_ndev_del_tx_napi() 128 int emac_tx_complete_packets(struct prueth_emac *emac, int chn, in emac_tx_complete_packets() argument 131 struct net_device *ndev = emac->ndev; in emac_tx_complete_packets() 141 tx_chn = &emac->tx_chns[chn]; in emac_tx_complete_packets() 150 if (atomic_dec_and_test(&emac->tdown_cnt)) in emac_tx_complete_packets() [all …]
|
D | icssg_config.c | 110 static void icssg_config_mii_init_fw_offload(struct prueth_emac *emac) in icssg_config_mii_init_fw_offload() argument 112 struct prueth *prueth = emac->prueth; in icssg_config_mii_init_fw_offload() 113 int mii = prueth_emac_slice(emac); in icssg_config_mii_init_fw_offload() 128 if (emac->phy_if == PHY_INTERFACE_MODE_MII && mii == ICSS_MII1) in icssg_config_mii_init_fw_offload() 130 else if (emac->phy_if != PHY_INTERFACE_MODE_MII && mii == ICSS_MII0) in icssg_config_mii_init_fw_offload() 137 static void icssg_config_mii_init(struct prueth_emac *emac) in icssg_config_mii_init() argument 139 struct prueth *prueth = emac->prueth; in icssg_config_mii_init() 140 int slice = prueth_emac_slice(emac); in icssg_config_mii_init() 156 if (emac->phy_if == PHY_INTERFACE_MODE_MII && slice == ICSS_MII0) in icssg_config_mii_init() 158 else if (emac->phy_if != PHY_INTERFACE_MODE_MII && slice == ICSS_MII1) in icssg_config_mii_init() [all …]
|
D | icssg_stats.c | 20 void emac_update_hardware_stats(struct prueth_emac *emac) in emac_update_hardware_stats() argument 22 struct prueth *prueth = emac->prueth; in emac_update_hardware_stats() 23 int slice = prueth_emac_slice(emac); in emac_update_hardware_stats() 40 emac->stats[i] += val; in emac_update_hardware_stats() 42 emac->stats[i] -= tx_pkt_cnt * 8; in emac_update_hardware_stats() 51 emac->pa_stats[i] += val; in emac_update_hardware_stats() 58 struct prueth_emac *emac = container_of(work, struct prueth_emac, in icssg_stats_work_handler() local 60 emac_update_hardware_stats(emac); in icssg_stats_work_handler() 62 queue_delayed_work(system_long_wq, &emac->stats_work, in icssg_stats_work_handler() 63 msecs_to_jiffies((STATS_TIME_LIMIT_1G_MS * 1000) / emac->speed)); in icssg_stats_work_handler() [all …]
|
D | icssg_prueth.h | 111 struct prueth_emac *emac; member 272 struct prueth_emac *emac[PRUETH_NUM_MACS]; member 318 static inline int prueth_emac_slice(struct prueth_emac *emac) in prueth_emac_slice() argument 320 switch (emac->port_id) { in prueth_emac_slice() 357 void icssg_config_ipg(struct prueth_emac *emac); 358 int icssg_config(struct prueth *prueth, struct prueth_emac *emac, 360 int icssg_set_port_state(struct prueth_emac *emac, 362 void icssg_config_set_speed(struct prueth_emac *emac); 363 void icssg_config_half_duplex(struct prueth_emac *emac); 370 int icssg_send_fdb_msg(struct prueth_emac *emac, struct mgmt_cmd *cmd, [all …]
|
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-6.12.1/drivers/net/ethernet/qualcomm/emac/ |
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-6.12.1/net/ethtool/ |
D | stats.c | 473 struct ethtool_eth_mac_stats pmac, emac; in ethtool_aggregate_mac_stats() local 475 memset(&emac, 0xff, sizeof(emac)); in ethtool_aggregate_mac_stats() 477 emac.src = ETHTOOL_MAC_STATS_SRC_EMAC; in ethtool_aggregate_mac_stats() 480 ops->get_eth_mac_stats(dev, &emac); in ethtool_aggregate_mac_stats() 483 ethtool_aggregate_stats(mac_stats, &emac, &pmac, in ethtool_aggregate_mac_stats() 493 struct ethtool_eth_phy_stats pmac, emac; in ethtool_aggregate_phy_stats() local 495 memset(&emac, 0xff, sizeof(emac)); in ethtool_aggregate_phy_stats() 497 emac.src = ETHTOOL_MAC_STATS_SRC_EMAC; in ethtool_aggregate_phy_stats() 500 ops->get_eth_phy_stats(dev, &emac); in ethtool_aggregate_phy_stats() 503 ethtool_aggregate_stats(phy_stats, &emac, &pmac, in ethtool_aggregate_phy_stats() [all …]
|
/linux-6.12.1/drivers/net/ethernet/arc/ |
D | emac_rockchip.c | 28 struct arc_emac_priv emac; member 38 struct rockchip_priv_data *emac = priv; in emac_rockchip_set_mac_speed() local 39 u32 speed_offset = emac->soc_data->grf_speed_offset; in emac_rockchip_set_mac_speed() 55 err = regmap_write(emac->grf, emac->soc_data->grf_offset, data); in emac_rockchip_set_mac_speed() 113 priv->emac.drv_name = DRV_NAME; in emac_rockchip_probe() 114 priv->emac.set_mac_speed = emac_rockchip_set_mac_speed; in emac_rockchip_probe() 139 priv->emac.clk = devm_clk_get(dev, "hclk"); in emac_rockchip_probe() 140 if (IS_ERR(priv->emac.clk)) { in emac_rockchip_probe() 142 PTR_ERR(priv->emac.clk)); in emac_rockchip_probe() 143 err = PTR_ERR(priv->emac.clk); in emac_rockchip_probe()
|
/linux-6.12.1/Documentation/devicetree/bindings/net/ |
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";
|
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";
|
D | socfpga-dwmac.txt | 18 bit for each emac to enable/disable signals from the FPGA fabric to the 24 altr,emac-splitter: Should be the phandle to the emac splitter soft IP node if 25 DWMAC controller is connected emac splitter.
|
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-6.12.1/arch/powerpc/boot/ |
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-6.12.1/arch/powerpc/boot/dts/ |
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";
|
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";
|
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";
|
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";
|
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";
|
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";
|
/linux-6.12.1/arch/arm64/boot/dts/allwinner/ |
D | sun50i-h6-orangepi-one-plus.dts | 12 ethernet0 = &emac; 27 &emac {
|
D | sun50i-a64-oceanic-5205-5inmfd.dts | 15 ethernet0 = &emac; 28 &emac {
|