Home
last modified time | relevance | path

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

123456

/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->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_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 in icssm_prueth_emac_config()
380 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_adjust_link() local
486 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_rx_irq() local
506 icssm_prueth_tx_enqueue(struct prueth_emac * emac,struct sk_buff * skb,enum prueth_queue_id queue_id) icssm_prueth_tx_enqueue() argument
654 icssm_emac_rx_packet(struct prueth_emac * emac,u16 * bd_rd_ptr,struct prueth_packet_info * pkt_info,const struct prueth_queue_info * rxqueue) icssm_emac_rx_packet() argument
759 icssm_emac_rx_packets(struct prueth_emac * emac,int budget) icssm_emac_rx_packets() argument
856 struct prueth_emac *emac = container_of(napi, struct prueth_emac, napi); icssm_emac_napi_poll() local
867 icssm_emac_set_boot_pru(struct prueth_emac * emac,struct net_device * ndev) icssm_emac_set_boot_pru() argument
899 icssm_emac_request_irqs(struct prueth_emac * emac) icssm_emac_request_irqs() argument
922 icssm_ptp_dram_init(struct prueth_emac * emac) icssm_ptp_dram_init() argument
974 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_ndo_open() local
1062 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_ndo_stop() local
1101 struct prueth_emac *emac; icssm_prueth_change_mode() local
1207 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_ndo_start_xmit() local
1253 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_ndo_get_stats64() local
1265 icssm_emac_mc_filter_ctrl(struct prueth_emac * emac,bool enable) icssm_emac_mc_filter_ctrl() argument
1284 icssm_emac_mc_filter_reset(struct prueth_emac * emac) icssm_emac_mc_filter_reset() argument
1300 icssm_emac_mc_filter_hashmask(struct prueth_emac * emac,u8 mask[ICSS_EMAC_FW_MULTICAST_FILTER_MASK_SIZE_BYTES]) icssm_emac_mc_filter_hashmask() argument
1314 icssm_emac_mc_filter_bin_update(struct prueth_emac * emac,u8 hash,u8 val) icssm_emac_mc_filter_bin_update() argument
1327 icssm_emac_mc_filter_bin_allow(struct prueth_emac * emac,u8 hash) icssm_emac_mc_filter_bin_allow() argument
1334 icssm_emac_mc_filter_bin_disallow(struct prueth_emac * emac,u8 hash) icssm_emac_mc_filter_bin_disallow() argument
1361 struct prueth_emac *emac = netdev_priv(ndev); icssm_emac_ndo_set_rx_mode() local
1481 struct prueth_emac *emac = icssm_emac_tx_timer_callback() local
1494 struct prueth_emac *emac; icssm_prueth_netdev_init() local
1611 struct prueth_emac *emac; icssm_prueth_netdev_exit() local
1686 struct prueth_emac *emac = netdev_priv(ndev); icssm_prueth_ndev_port_link() local
1719 struct prueth_emac *emac = netdev_priv(ndev); icssm_prueth_ndev_port_unlink() local
[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 {

123456