Home
last modified time | relevance | path

Searched refs:emac (Results 1 – 25 of 157) sorted by relevance

1234567

/linux/drivers/net/ethernet/ti/icssg/
H A Dicssg_prueth.c58 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 Dicssg_ethtool.c14 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 Dicssg_switchdev.c22 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 Dicssg_common.c44 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 int 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 (emac->port_id | (q_idx << 8))); in emac_xsk_xmit_zc()
[all …]
H A Dicssg_config.c113 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 Dicssg_stats.c19 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 Dicssg_mii_cfg.c45 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 Dicssm_switchdev.c23 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 Dicssm_prueth_switch.c27 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 DMakefile6 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/net/ethtool/
H A Dstats.c528 struct ethtool_eth_mac_stats pmac, emac; in ethtool_aggregate_mac_stats() local
530 memset(&emac, 0xff, sizeof(emac)); in ethtool_aggregate_mac_stats()
532 emac.src = ETHTOOL_MAC_STATS_SRC_EMAC; in ethtool_aggregate_mac_stats()
535 ops->get_eth_mac_stats(dev, &emac); in ethtool_aggregate_mac_stats()
538 ethtool_aggregate_stats(mac_stats, &emac, &pmac, in ethtool_aggregate_mac_stats()
548 struct ethtool_eth_phy_stats pmac, emac; in ethtool_aggregate_phy_stats() local
550 memset(&emac, 0xff, sizeof(emac)); in ethtool_aggregate_phy_stats()
552 emac.src = ETHTOOL_MAC_STATS_SRC_EMAC; in ethtool_aggregate_phy_stats()
555 ops->get_eth_phy_stats(dev, &emac); in ethtool_aggregate_phy_stats()
558 ethtool_aggregate_stats(phy_stats, &emac, &pmac, in ethtool_aggregate_phy_stats()
[all …]
/linux/Documentation/devicetree/bindings/net/
H A Ddavinci_emac.txt7 - 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 Dqcom-emac.txt11 - 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 Dibm,emac.txt16 "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 Dtreeboot-akebono.c72 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 Dsam440ep.dts212 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 Dyosemite.dts246 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 Dbamboo.dts203 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 Deiger.dts278 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 Dtaishan.dts264 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 Drainier.dts247 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 Dglacier.dts310 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 Dsun50i-h6-orangepi-one-plus.dts12 ethernet0 = &emac;
27 &emac {
H A Dsun50i-a64-oceanic-5205-5inmfd.dts15 ethernet0 = &emac;
28 &emac {
/linux/arch/arm/boot/dts/allwinner/
H A Dsun8i-h3-rervision-dvk.dts19 ethernet0 = &emac;
55 &emac {

1234567