Home
last modified time | relevance | path

Searched refs:emac (Results 1 – 25 of 154) 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 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 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_prueth.c320 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 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/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