/linux-6.8/drivers/net/ethernet/ti/icssg/ |
D | icssg_prueth.c | 61 static void prueth_cleanup_rx_chns(struct prueth_emac *emac, in prueth_cleanup_rx_chns() argument 72 static void prueth_cleanup_tx_chns(struct prueth_emac *emac) in prueth_cleanup_tx_chns() argument 76 for (i = 0; i < emac->tx_ch_num; i++) { in prueth_cleanup_tx_chns() 77 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; in prueth_cleanup_tx_chns() 92 static void prueth_ndev_del_tx_napi(struct prueth_emac *emac, int num) in prueth_ndev_del_tx_napi() argument 97 struct prueth_tx_chn *tx_chn = &emac->tx_chns[i]; in prueth_ndev_del_tx_napi() 141 static int emac_tx_complete_packets(struct prueth_emac *emac, int chn, in emac_tx_complete_packets() argument 144 struct net_device *ndev = emac->ndev; in emac_tx_complete_packets() 154 tx_chn = &emac->tx_chns[chn]; in emac_tx_complete_packets() 163 if (atomic_dec_and_test(&emac->tdown_cnt)) in emac_tx_complete_packets() [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() 102 struct prueth_emac *emac = netdev_priv(ndev); in emac_get_ethtool_stats() local 105 emac_update_hardware_stats(emac); in emac_get_ethtool_stats() 109 *(data++) = emac->stats[i]; in emac_get_ethtool_stats() 115 struct prueth_emac *emac = netdev_priv(ndev); in emac_get_ts_info() local [all …]
|
D | icssg_config.c | 108 static void icssg_config_mii_init(struct prueth_emac *emac) in icssg_config_mii_init() argument 111 struct prueth *prueth = emac->prueth; in icssg_config_mii_init() 112 int slice = prueth_emac_slice(emac); in icssg_config_mii_init() 133 if (emac->phy_if == PHY_INTERFACE_MODE_MII && slice == ICSS_MII0) in icssg_config_mii_init() 135 else if (emac->phy_if != PHY_INTERFACE_MODE_MII && slice == ICSS_MII1) in icssg_config_mii_init() 201 void icssg_config_ipg(struct prueth_emac *emac) in icssg_config_ipg() argument 203 struct prueth *prueth = emac->prueth; in icssg_config_ipg() 204 int slice = prueth_emac_slice(emac); in icssg_config_ipg() 206 switch (emac->speed) { in icssg_config_ipg() 219 netdev_err(emac->ndev, "Unsupported link speed\n"); in icssg_config_ipg() [all …]
|
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() 39 emac->stats[i] += val; in emac_update_hardware_stats() 41 emac->stats[i] -= tx_pkt_cnt * 8; in emac_update_hardware_stats() 47 struct prueth_emac *emac = container_of(work, struct prueth_emac, in emac_stats_work_handler() local 49 emac_update_hardware_stats(emac); in emac_stats_work_handler() 51 queue_delayed_work(system_long_wq, &emac->stats_work, in emac_stats_work_handler() 52 msecs_to_jiffies((STATS_TIME_LIMIT_1G_MS * 1000) / emac->speed)); in emac_stats_work_handler() 55 int emac_get_stat_by_name(struct prueth_emac *emac, char *stat_name) in emac_get_stat_by_name() argument [all …]
|
D | icssg_prueth.h | 82 * In emac mode there are 2 real ports i.e. 2 mac addrs. 104 struct prueth_emac *emac; member 128 /* data for each emac port */ 202 * @emac: private EMAC data structure 225 struct prueth_emac *emac[PRUETH_NUM_MACS]; member 247 static inline int prueth_emac_slice(struct prueth_emac *emac) in prueth_emac_slice() argument 249 switch (emac->port_id) { in prueth_emac_slice() 269 void icssg_config_ipg(struct prueth_emac *emac); 270 int icssg_config(struct prueth *prueth, struct prueth_emac *emac, 272 int emac_set_port_state(struct prueth_emac *emac, [all …]
|
D | icssg_mii_cfg.c | 44 void icssg_update_rgmii_cfg(struct regmap *miig_rt, struct prueth_emac *emac) in icssg_update_rgmii_cfg() argument 47 int slice = prueth_emac_slice(emac); in icssg_update_rgmii_cfg() 52 if (emac->speed == SPEED_1000) in icssg_update_rgmii_cfg() 58 if (emac->speed == SPEED_10 && phy_interface_mode_is_rgmii(emac->phy_if)) in icssg_update_rgmii_cfg() 64 if (emac->duplex == DUPLEX_FULL) in icssg_update_rgmii_cfg()
|
/linux-6.8/drivers/net/ethernet/qualcomm/emac/ |
D | Makefile | 3 # Makefile for the Qualcomm Technologies, Inc. EMAC Gigabit Ethernet driver 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.8/Documentation/devicetree/bindings/net/ |
D | allwinner,sun8i-a83t-emac.yaml | 4 $id: http://devicetree.org/schemas/net/allwinner,sun8i-a83t-emac.yaml# 7 title: Allwinner A83t EMAC 16 - const: allwinner,sun8i-a83t-emac 17 - const: allwinner,sun8i-h3-emac 19 - const: allwinner,sun8i-v3s-emac 20 - const: allwinner,sun50i-a64-emac 23 - allwinner,sun20i-d1-emac 24 - allwinner,sun50i-h6-emac 26 - const: allwinner,sun50i-a64-emac 49 Phandle to the device containing the EMAC or GMAC clock [all …]
|
D | ibm,emac.txt | 1 4xx/Axon EMAC ethernet nodes 3 The EMAC ethernet controller in IBM and AMCC 4xx chips, and also 7 below, the node for the OPB bus on which the EMAC sits must have a 10 i) The EMAC node itself 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", 20 - interrupts : <interrupt mapping for EMAC IRQ and WOL IRQ> 25 with this EMAC 27 with this EMAC [all …]
|
D | davinci_emac.txt | 1 * Texas Instruments Davinci EMAC 7 - compatible: "ti,davinci-dm6467-emac", "ti,am3517-emac" or 8 "ti,dm816-emac" 14 - interrupts: interrupt mapping for the davinci emac interrupts sources: 24 - ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM? 30 eth0: emac@1e20000 { 31 compatible = "ti,davinci-dm6467-emac";
|
D | rockchip,emac.yaml | 4 $id: http://devicetree.org/schemas/net/rockchip,emac.yaml# 7 title: Rockchip RK3036/RK3066/RK3188 Ethernet Media Access Controller (EMAC) 15 - rockchip,rk3036-emac 16 - rockchip,rk3066-emac 17 - rockchip,rk3188-emac 42 Phandle to the syscon GRF used to control speed and mode for the EMAC. 69 const: rockchip,rk3036-emac 95 compatible = "rockchip,rk3188-emac";
|
D | arc_emac.txt | 1 * Synopsys ARC EMAC 10/100 Ethernet driver (EMAC) 4 - compatible: Should be "snps,arc-emac" 6 - interrupts: Should contain the EMAC interrupts 18 The clock frequency is needed to calculate and set polling period of EMAC. 21 - clocks: reference to the clock supplying the EMAC. 29 compatible = "snps,arc-emac";
|
D | qcom-emac.txt | 1 Qualcomm Technologies EMAC Gigabit Ethernet Controller 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 | actions,owl-emac.yaml | 4 $id: http://devicetree.org/schemas/net/actions,owl-emac.yaml# 24 - const: actions,owl-emac 27 - actions,s500-emac 28 - const: actions,owl-emac 77 compatible = "actions,s500-emac", "actions,owl-emac";
|
D | allwinner,sun4i-a10-emac.yaml | 4 $id: http://devicetree.org/schemas/net/allwinner,sun4i-a10-emac.yaml# 7 title: Allwinner A10 EMAC Ethernet Controller 18 const: allwinner,sun4i-a10-emac 49 emac: ethernet@1c0b000 { 50 compatible = "allwinner,sun4i-a10-emac";
|
D | idt,3243x-emac.yaml | 4 $id: http://devicetree.org/schemas/net/idt,3243x-emac.yaml# 19 const: idt,3243x-emac 26 - const: emac 60 compatible = "idt,3243x-emac"; 65 reg-names = "emac", "dma_rx", "dma_tx";
|
/linux-6.8/drivers/net/ethernet/ti/ |
D | davinci_emac.c | 5 * DaVinci EMAC is based upon CPPI 3.0 TI DMA engine 63 MODULE_PARM_DESC(debug_level, "DaVinci EMAC debug level (NETIF_MSG bits)"); 87 static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1"; 91 #define EMAC_DEF_QOS_EN (0) /* EMAC proprietary QoS disabled */ 119 /* EMAC register related defines */ 146 /* EMAC register definitions/bit maps used */ 154 /* EMAC mac_control register */ 166 /* EMAC mac_status register */ 176 /* EMAC RX register masks */ 207 /* EMAC Peripheral Device Register Memory Layout structure */ [all …]
|
/linux-6.8/drivers/net/ethernet/arc/ |
D | emac_rockchip.c | 3 * emac-rockchip.c - Rockchip EMAC specific glue layer 16 #include "emac.h" 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() 77 .compatible = "rockchip,rk3036-emac", 81 .compatible = "rockchip,rk3066-emac", 85 .compatible = "rockchip,rk3188-emac", 113 priv->emac.drv_name = DRV_NAME; in emac_rockchip_probe() [all …]
|
D | emac.h | 5 * Registers and bits definitions of ARC EMAC 27 #define TXPL_MASK (1 << 31) /* Force polling of BD by EMAC */ 38 #define OWN_MASK (1 << 31) /* 0-CPU or 1-EMAC owns buffer */ 52 /* ARC EMAC register set combines entries for MAC and MDIO */ 74 #define EMAC_BUFFER_SIZE 1536 /* EMAC buffer size */ 77 * struct arc_emac_bd - EMAC buffer descriptor (BD). 112 * struct arc_emac_priv - Storage of EMAC's private information. 116 * @regs: Base address of EMAC memory-mapped control registers. 126 * @last_rx_bd: Index of the last Rx BD we've got from EMAC. 166 * arc_reg_set - Sets EMAC register with provided value. [all …]
|
D | Kconfig | 3 # ARC EMAC network device configuration 27 tristate "ARC EMAC support" 33 non-standard on-chip ethernet device ARC EMAC 10/100 is used. 37 tristate "Rockchip EMAC support" 42 Support for Rockchip RK3036/RK3066/RK3188 EMAC ethernet controllers. 44 emac device driver. This driver is used for RK3036/RK3066/RK3188 45 EMAC ethernet controller.
|
D | emac_main.c | 5 * Driver for the ARC EMAC 10100 (hardware revision 5) 24 #include "emac.h" 30 * @priv: Pointer to ARC EMAC private data structure. 82 * arc_emac_get_drvinfo - Get EMAC driver information. 107 * arc_emac_tx_clean - clears processed by EMAC Tx BDs. 204 /* Return ownership to EMAC */ in arc_emac_rx() 219 /* Return ownership to EMAC */ in arc_emac_rx() 232 /* Return ownership to EMAC */ in arc_emac_rx() 261 /* Return ownership to EMAC */ in arc_emac_rx() 292 * Under certain conditions EMAC stop reception of incoming packets and [all …]
|
/linux-6.8/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.8/drivers/pinctrl/sunxi/ |
D | pinctrl-sun5i.c | 24 SUNXI_FUNCTION(0x2, "emac"), /* ERXD3 */ 31 SUNXI_FUNCTION(0x2, "emac"), /* ERXD2 */ 38 SUNXI_FUNCTION(0x2, "emac"), /* ERXD1 */ 45 SUNXI_FUNCTION(0x2, "emac"), /* ERXD0 */ 52 SUNXI_FUNCTION(0x2, "emac"), /* ETXD3 */ 59 SUNXI_FUNCTION(0x2, "emac"), /* ETXD2 */ 66 SUNXI_FUNCTION(0x2, "emac"), /* ETXD1 */ 73 SUNXI_FUNCTION(0x2, "emac"), /* ETXD0 */ 80 SUNXI_FUNCTION(0x2, "emac"), /* ERXCK */ 88 SUNXI_FUNCTION(0x2, "emac"), /* ERXERR */ [all …]
|
D | pinctrl-sun50i-h6.c | 17 SUNXI_FUNCTION(0x2, "emac")), /* ERXD1 */ 19 SUNXI_FUNCTION(0x2, "emac")), /* ERXD0 */ 21 SUNXI_FUNCTION(0x2, "emac")), /* ECRS_DV */ 23 SUNXI_FUNCTION(0x2, "emac")), /* ERXERR */ 25 SUNXI_FUNCTION(0x2, "emac")), /* ETXD1 */ 27 SUNXI_FUNCTION(0x2, "emac")), /* ETXD0 */ 29 SUNXI_FUNCTION(0x2, "emac")), /* ETXCK */ 31 SUNXI_FUNCTION(0x2, "emac")), /* ETXEN */ 33 SUNXI_FUNCTION(0x2, "emac")), /* EMDC */ 35 SUNXI_FUNCTION(0x2, "emac")), /* EMDIO */ [all …]
|
/linux-6.8/drivers/net/ethernet/broadcom/ |
D | b44.h | 45 #define ISTAT_EMAC 0x04000000 /* EMAC Interrupt */ 126 #define B44_RXCONFIG 0x0400UL /* EMAC RX Config */ 136 #define B44_RXMAXLEN 0x0404UL /* EMAC RX Max Packet Length */ 137 #define B44_TXMAXLEN 0x0408UL /* EMAC TX Max Packet Length */ 138 #define B44_MDIO_CTRL 0x0410UL /* EMAC MDIO Control */ 141 #define B44_MDIO_DATA 0x0414UL /* EMAC MDIO Data */ 157 #define B44_EMAC_IMASK 0x0418UL /* EMAC Interrupt Mask */ 158 #define B44_EMAC_ISTAT 0x041CUL /* EMAC Interrupt Status */ 162 #define B44_CAM_DATA_LO 0x0420UL /* EMAC CAM Data Low */ 163 #define B44_CAM_DATA_HI 0x0424UL /* EMAC CAM Data High */ [all …]
|