/Linux-v5.4/drivers/net/phy/ |
D | phy.c | 52 static void phy_link_up(struct phy_device *phydev) in phy_link_up() argument 54 phydev->phy_link_change(phydev, true, true); in phy_link_up() 55 phy_led_trigger_change_speed(phydev); in phy_link_up() 58 static void phy_link_down(struct phy_device *phydev, bool do_carrier) in phy_link_down() argument 60 phydev->phy_link_change(phydev, false, do_carrier); in phy_link_down() 61 phy_led_trigger_change_speed(phydev); in phy_link_down() 64 static const char *phy_pause_str(struct phy_device *phydev) in phy_pause_str() argument 68 if (phydev->autoneg == AUTONEG_DISABLE) in phy_pause_str() 72 phydev->advertising); in phy_pause_str() 74 phydev->advertising); in phy_pause_str() [all …]
|
D | vitesse.c | 78 static int vsc824x_add_skew(struct phy_device *phydev) in vsc824x_add_skew() argument 83 extcon = phy_read(phydev, MII_VSC8244_EXT_CON1); in vsc824x_add_skew() 94 err = phy_write(phydev, MII_VSC8244_EXT_CON1, extcon); in vsc824x_add_skew() 99 static int vsc824x_config_init(struct phy_device *phydev) in vsc824x_config_init() argument 103 err = phy_write(phydev, MII_VSC8244_AUX_CONSTAT, in vsc824x_config_init() 108 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) in vsc824x_config_init() 109 err = vsc824x_add_skew(phydev); in vsc824x_config_init() 116 static int vsc73xx_read_page(struct phy_device *phydev) in vsc73xx_read_page() argument 118 return __phy_read(phydev, VSC73XX_EXT_PAGE_ACCESS); in vsc73xx_read_page() 121 static int vsc73xx_write_page(struct phy_device *phydev, int page) in vsc73xx_write_page() argument [all …]
|
D | phy-c45.c | 15 int genphy_c45_pma_setup_forced(struct phy_device *phydev) in genphy_c45_pma_setup_forced() argument 20 if (phydev->duplex != DUPLEX_FULL) in genphy_c45_pma_setup_forced() 23 ctrl1 = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL1); in genphy_c45_pma_setup_forced() 27 ctrl2 = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL2); in genphy_c45_pma_setup_forced() 38 switch (phydev->speed) { in genphy_c45_pma_setup_forced() 70 ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL1, ctrl1); in genphy_c45_pma_setup_forced() 74 ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL2, ctrl2); in genphy_c45_pma_setup_forced() 78 return genphy_c45_an_disable_aneg(phydev); in genphy_c45_pma_setup_forced() 91 int genphy_c45_an_config_aneg(struct phy_device *phydev) in genphy_c45_an_config_aneg() argument 96 linkmode_and(phydev->advertising, phydev->advertising, in genphy_c45_an_config_aneg() [all …]
|
D | microchip.c | 24 static int lan88xx_read_page(struct phy_device *phydev) in lan88xx_read_page() argument 26 return __phy_read(phydev, LAN88XX_EXT_PAGE_ACCESS); in lan88xx_read_page() 29 static int lan88xx_write_page(struct phy_device *phydev, int page) in lan88xx_write_page() argument 31 return __phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, page); in lan88xx_write_page() 34 static int lan88xx_phy_config_intr(struct phy_device *phydev) in lan88xx_phy_config_intr() argument 38 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in lan88xx_phy_config_intr() 40 rc = phy_write(phydev, LAN88XX_INT_MASK, 0x7FFF); in lan88xx_phy_config_intr() 41 rc = phy_read(phydev, LAN88XX_INT_STS); in lan88xx_phy_config_intr() 42 rc = phy_write(phydev, LAN88XX_INT_MASK, in lan88xx_phy_config_intr() 46 rc = phy_write(phydev, LAN88XX_INT_MASK, 0); in lan88xx_phy_config_intr() [all …]
|
D | realtek.c | 56 static int rtl821x_read_page(struct phy_device *phydev) in rtl821x_read_page() argument 58 return __phy_read(phydev, RTL821x_PAGE_SELECT); in rtl821x_read_page() 61 static int rtl821x_write_page(struct phy_device *phydev, int page) in rtl821x_write_page() argument 63 return __phy_write(phydev, RTL821x_PAGE_SELECT, page); in rtl821x_write_page() 66 static int rtl8201_ack_interrupt(struct phy_device *phydev) in rtl8201_ack_interrupt() argument 70 err = phy_read(phydev, RTL8201F_ISR); in rtl8201_ack_interrupt() 75 static int rtl821x_ack_interrupt(struct phy_device *phydev) in rtl821x_ack_interrupt() argument 79 err = phy_read(phydev, RTL821x_INSR); in rtl821x_ack_interrupt() 84 static int rtl8211f_ack_interrupt(struct phy_device *phydev) in rtl8211f_ack_interrupt() argument 88 err = phy_read_paged(phydev, 0xa43, RTL8211F_INSR); in rtl8211f_ack_interrupt() [all …]
|
D | broadcom.c | 19 #define BRCM_PHY_MODEL(phydev) \ argument 20 ((phydev)->drv->phy_id & (phydev)->drv->phy_id_mask) 22 #define BRCM_PHY_REV(phydev) \ argument 23 ((phydev)->drv->phy_id & ~((phydev)->drv->phy_id_mask)) 29 static int bcm54210e_config_init(struct phy_device *phydev) in bcm54210e_config_init() argument 33 val = bcm54xx_auxctl_read(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC); in bcm54210e_config_init() 36 bcm54xx_auxctl_write(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC, val); in bcm54210e_config_init() 38 val = bcm_phy_read_shadow(phydev, BCM54810_SHD_CLK_CTL); in bcm54210e_config_init() 40 bcm_phy_write_shadow(phydev, BCM54810_SHD_CLK_CTL, val); in bcm54210e_config_init() 42 if (phydev->dev_flags & PHY_BRCM_EN_MASTER_MODE) { in bcm54210e_config_init() [all …]
|
D | phy_device.c | 200 void phy_device_free(struct phy_device *phydev) in phy_device_free() argument 202 put_device(&phydev->mdio.dev); in phy_device_free() 208 struct phy_device *phydev; in phy_mdio_device_free() local 210 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_free() 211 phy_device_free(phydev); in phy_mdio_device_free() 221 struct phy_device *phydev; in phy_mdio_device_remove() local 223 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_remove() 224 phy_device_remove(phydev); in phy_mdio_device_remove() 234 static bool mdio_bus_phy_may_suspend(struct phy_device *phydev) in mdio_bus_phy_may_suspend() argument 236 struct device_driver *drv = phydev->mdio.dev.driver; in mdio_bus_phy_may_suspend() [all …]
|
D | bcm7xxx.c | 44 static int bcm7xxx_28nm_d0_afe_config_init(struct phy_device *phydev) in bcm7xxx_28nm_d0_afe_config_init() argument 47 bcm_phy_write_misc(phydev, AFE_RXCONFIG_0, 0xeb15); in bcm7xxx_28nm_d0_afe_config_init() 50 bcm_phy_write_misc(phydev, AFE_RXCONFIG_1, 0x9b2f); in bcm7xxx_28nm_d0_afe_config_init() 53 bcm_phy_write_misc(phydev, AFE_RXCONFIG_2, 0x2003); in bcm7xxx_28nm_d0_afe_config_init() 56 bcm_phy_write_misc(phydev, AFE_RX_LP_COUNTER, 0x7fc0); in bcm7xxx_28nm_d0_afe_config_init() 59 bcm_phy_write_misc(phydev, AFE_TX_CONFIG, 0x431); in bcm7xxx_28nm_d0_afe_config_init() 62 bcm_phy_write_misc(phydev, AFE_VDCA_ICTRL_0, 0xa7da); in bcm7xxx_28nm_d0_afe_config_init() 65 bcm_phy_write_misc(phydev, AFE_VDAC_OTHERS_0, 0xa020); in bcm7xxx_28nm_d0_afe_config_init() 70 bcm_phy_write_misc(phydev, AFE_HPF_TRIM_OTHERS, 0x00e3); in bcm7xxx_28nm_d0_afe_config_init() 73 phy_write(phydev, MII_BRCM_CORE_BASE1E, 0x0010); in bcm7xxx_28nm_d0_afe_config_init() [all …]
|
D | marvell.c | 197 static int marvell_read_page(struct phy_device *phydev) in marvell_read_page() argument 199 return __phy_read(phydev, MII_MARVELL_PHY_PAGE); in marvell_read_page() 202 static int marvell_write_page(struct phy_device *phydev, int page) in marvell_write_page() argument 204 return __phy_write(phydev, MII_MARVELL_PHY_PAGE, page); in marvell_write_page() 207 static int marvell_set_page(struct phy_device *phydev, int page) in marvell_set_page() argument 209 return phy_write(phydev, MII_MARVELL_PHY_PAGE, page); in marvell_set_page() 212 static int marvell_ack_interrupt(struct phy_device *phydev) in marvell_ack_interrupt() argument 217 err = phy_read(phydev, MII_M1011_IEVENT); in marvell_ack_interrupt() 225 static int marvell_config_intr(struct phy_device *phydev) in marvell_config_intr() argument 229 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in marvell_config_intr() [all …]
|
D | marvell10g.c | 84 struct phy_device *phydev = dev_get_drvdata(dev); in mv3310_hwmon_read() local 93 temp = phy_read_mmd(phydev, MDIO_MMD_VEND2, MV_V2_TEMP); in mv3310_hwmon_read() 141 static int mv3310_hwmon_config(struct phy_device *phydev, bool enable) in mv3310_hwmon_config() argument 146 ret = phy_write_mmd(phydev, MDIO_MMD_VEND2, MV_V2_TEMP, in mv3310_hwmon_config() 153 return phy_modify_mmd(phydev, MDIO_MMD_VEND2, MV_V2_TEMP_CTRL, in mv3310_hwmon_config() 159 struct phy_device *phydev = data; in mv3310_hwmon_disable() local 161 mv3310_hwmon_config(phydev, false); in mv3310_hwmon_disable() 164 static int mv3310_hwmon_probe(struct phy_device *phydev) in mv3310_hwmon_probe() argument 166 struct device *dev = &phydev->mdio.dev; in mv3310_hwmon_probe() 167 struct mv3310_priv *priv = dev_get_drvdata(&phydev->mdio.dev); in mv3310_hwmon_probe() [all …]
|
D | at803x.c | 87 static int at803x_debug_reg_read(struct phy_device *phydev, u16 reg) in at803x_debug_reg_read() argument 91 ret = phy_write(phydev, AT803X_DEBUG_ADDR, reg); in at803x_debug_reg_read() 95 return phy_read(phydev, AT803X_DEBUG_DATA); in at803x_debug_reg_read() 98 static int at803x_debug_reg_mask(struct phy_device *phydev, u16 reg, in at803x_debug_reg_mask() argument 104 ret = at803x_debug_reg_read(phydev, reg); in at803x_debug_reg_mask() 112 return phy_write(phydev, AT803X_DEBUG_DATA, val); in at803x_debug_reg_mask() 115 static int at803x_enable_rx_delay(struct phy_device *phydev) in at803x_enable_rx_delay() argument 117 return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_0, 0, in at803x_enable_rx_delay() 121 static int at803x_enable_tx_delay(struct phy_device *phydev) in at803x_enable_tx_delay() argument 123 return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_5, 0, in at803x_enable_tx_delay() [all …]
|
D | mscc.c | 435 static int vsc85xx_phy_read_page(struct phy_device *phydev) in vsc85xx_phy_read_page() argument 437 return __phy_read(phydev, MSCC_EXT_PAGE_ACCESS); in vsc85xx_phy_read_page() 440 static int vsc85xx_phy_write_page(struct phy_device *phydev, int page) in vsc85xx_phy_write_page() argument 442 return __phy_write(phydev, MSCC_EXT_PAGE_ACCESS, page); in vsc85xx_phy_write_page() 445 static int vsc85xx_get_sset_count(struct phy_device *phydev) in vsc85xx_get_sset_count() argument 447 struct vsc8531_private *priv = phydev->priv; in vsc85xx_get_sset_count() 455 static void vsc85xx_get_strings(struct phy_device *phydev, u8 *data) in vsc85xx_get_strings() argument 457 struct vsc8531_private *priv = phydev->priv; in vsc85xx_get_strings() 468 static u64 vsc85xx_get_stat(struct phy_device *phydev, int i) in vsc85xx_get_stat() argument 470 struct vsc8531_private *priv = phydev->priv; in vsc85xx_get_stat() [all …]
|
D | lxt.c | 59 static int lxt970_ack_interrupt(struct phy_device *phydev) in lxt970_ack_interrupt() argument 63 err = phy_read(phydev, MII_BMSR); in lxt970_ack_interrupt() 68 err = phy_read(phydev, MII_LXT970_ISR); in lxt970_ack_interrupt() 76 static int lxt970_config_intr(struct phy_device *phydev) in lxt970_config_intr() argument 78 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in lxt970_config_intr() 79 return phy_write(phydev, MII_LXT970_IER, MII_LXT970_IER_IEN); in lxt970_config_intr() 81 return phy_write(phydev, MII_LXT970_IER, 0); in lxt970_config_intr() 84 static int lxt970_config_init(struct phy_device *phydev) in lxt970_config_init() argument 86 return phy_write(phydev, MII_LXT970_CONFIG, 0); in lxt970_config_init() 90 static int lxt971_ack_interrupt(struct phy_device *phydev) in lxt971_ack_interrupt() argument [all …]
|
D | bcm-phy-lib.c | 17 int bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val) in bcm_phy_write_exp() argument 21 rc = phy_write(phydev, MII_BCM54XX_EXP_SEL, reg); in bcm_phy_write_exp() 25 return phy_write(phydev, MII_BCM54XX_EXP_DATA, val); in bcm_phy_write_exp() 29 int bcm_phy_read_exp(struct phy_device *phydev, u16 reg) in bcm_phy_read_exp() argument 33 val = phy_write(phydev, MII_BCM54XX_EXP_SEL, reg); in bcm_phy_read_exp() 37 val = phy_read(phydev, MII_BCM54XX_EXP_DATA); in bcm_phy_read_exp() 40 phy_write(phydev, MII_BCM54XX_EXP_SEL, 0); in bcm_phy_read_exp() 46 int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum) in bcm54xx_auxctl_read() argument 51 phy_write(phydev, MII_BCM54XX_AUX_CTL, MII_BCM54XX_AUXCTL_SHDWSEL_MASK | in bcm54xx_auxctl_read() 53 return phy_read(phydev, MII_BCM54XX_AUX_CTL); in bcm54xx_auxctl_read() [all …]
|
D | aquantia_main.c | 149 static int aqr107_get_sset_count(struct phy_device *phydev) in aqr107_get_sset_count() argument 154 static void aqr107_get_strings(struct phy_device *phydev, u8 *data) in aqr107_get_strings() argument 163 static u64 aqr107_get_stat(struct phy_device *phydev, int index) in aqr107_get_stat() argument 171 val = phy_read_mmd(phydev, MDIO_MMD_C22EXT, stat->reg); in aqr107_get_stat() 177 val = phy_read_mmd(phydev, MDIO_MMD_C22EXT, stat->reg + 1); in aqr107_get_stat() 187 static void aqr107_get_stats(struct phy_device *phydev, in aqr107_get_stats() argument 190 struct aqr107_priv *priv = phydev->priv; in aqr107_get_stats() 195 val = aqr107_get_stat(phydev, i); in aqr107_get_stats() 197 phydev_err(phydev, "Reading HW Statistics failed for %s\n", in aqr107_get_stats() 206 static int aqr_config_aneg(struct phy_device *phydev) in aqr_config_aneg() argument [all …]
|
D | bcm-cygnus.c | 20 static int bcm_cygnus_afe_config(struct phy_device *phydev) in bcm_cygnus_afe_config() argument 25 rc = phy_write(phydev, MII_BCM54XX_AUX_CTL, 0x0c30); in bcm_cygnus_afe_config() 30 rc = bcm_phy_write_misc(phydev, 0x39, 0x01, 0xA7C8); in bcm_cygnus_afe_config() 35 rc = bcm_phy_write_misc(phydev, 0x3A, 0x00, 0x0803); in bcm_cygnus_afe_config() 40 rc = bcm_phy_write_misc(phydev, 0x3A, 0x01, 0xA740); in bcm_cygnus_afe_config() 45 rc = bcm_phy_write_misc(phydev, 0x3A, 0x03, 0x8400); in bcm_cygnus_afe_config() 50 rc = bcm_phy_write_misc(phydev, 0x3B, 0x00, 0x0004); in bcm_cygnus_afe_config() 55 rc = phy_write(phydev, MII_BRCM_CORE_BASE1E, 0x02); in bcm_cygnus_afe_config() 60 rc = bcm_phy_write_exp_sel(phydev, MII_BRCM_CORE_EXPB1, 0x10); in bcm_cygnus_afe_config() 65 rc = bcm_phy_write_exp_sel(phydev, MII_BRCM_CORE_EXPB0, 0x10); in bcm_cygnus_afe_config() [all …]
|
D | micrel.c | 132 static int kszphy_extended_write(struct phy_device *phydev, in kszphy_extended_write() argument 135 phy_write(phydev, MII_KSZPHY_EXTREG, KSZPHY_EXTREG_WRITE | regnum); in kszphy_extended_write() 136 return phy_write(phydev, MII_KSZPHY_EXTREG_WRITE, val); in kszphy_extended_write() 139 static int kszphy_extended_read(struct phy_device *phydev, in kszphy_extended_read() argument 142 phy_write(phydev, MII_KSZPHY_EXTREG, regnum); in kszphy_extended_read() 143 return phy_read(phydev, MII_KSZPHY_EXTREG_READ); in kszphy_extended_read() 146 static int kszphy_ack_interrupt(struct phy_device *phydev) in kszphy_ack_interrupt() argument 151 rc = phy_read(phydev, MII_KSZPHY_INTCS); in kszphy_ack_interrupt() 156 static int kszphy_config_intr(struct phy_device *phydev) in kszphy_config_intr() argument 158 const struct kszphy_type *type = phydev->drv->driver_data; in kszphy_config_intr() [all …]
|
D | phy-core.c | 225 static int __set_phy_supported(struct phy_device *phydev, u32 max_speed) in __set_phy_supported() argument 227 return __set_linkmode_max_speed(max_speed, phydev->supported); in __set_phy_supported() 230 int phy_set_max_speed(struct phy_device *phydev, u32 max_speed) in phy_set_max_speed() argument 234 err = __set_phy_supported(phydev, max_speed); in phy_set_max_speed() 238 phy_advertise_supported(phydev); in phy_set_max_speed() 244 void of_set_phy_supported(struct phy_device *phydev) in of_set_phy_supported() argument 246 struct device_node *node = phydev->mdio.dev.of_node; in of_set_phy_supported() 256 __set_phy_supported(phydev, max_speed); in of_set_phy_supported() 259 void of_set_phy_eee_broken(struct phy_device *phydev) in of_set_phy_eee_broken() argument 261 struct device_node *node = phydev->mdio.dev.of_node; in of_set_phy_eee_broken() [all …]
|
D | icplus.c | 64 static int ip175c_config_init(struct phy_device *phydev) in ip175c_config_init() argument 72 err = mdiobus_write(phydev->mdio.bus, 30, 0, 0x175c); in ip175c_config_init() 77 err = mdiobus_read(phydev->mdio.bus, 30, 0); in ip175c_config_init() 83 err = mdiobus_write(phydev->mdio.bus, 29, 31, 0x175c); in ip175c_config_init() 88 err = mdiobus_write(phydev->mdio.bus, 29, 22, 0x420); in ip175c_config_init() 94 err = mdiobus_write(phydev->mdio.bus, i, in ip175c_config_init() 101 err = mdiobus_read(phydev->mdio.bus, i, MII_BMCR); in ip175c_config_init() 108 if (phydev->mdio.addr != 4) { in ip175c_config_init() 109 phydev->state = PHY_RUNNING; in ip175c_config_init() 110 phydev->speed = SPEED_100; in ip175c_config_init() [all …]
|
D | national.c | 54 static u8 ns_exp_read(struct phy_device *phydev, u16 reg) in ns_exp_read() argument 56 phy_write(phydev, NS_EXP_MEM_ADD, reg); in ns_exp_read() 57 return phy_read(phydev, NS_EXP_MEM_DATA); in ns_exp_read() 60 static void ns_exp_write(struct phy_device *phydev, u16 reg, u8 data) in ns_exp_write() argument 62 phy_write(phydev, NS_EXP_MEM_ADD, reg); in ns_exp_write() 63 phy_write(phydev, NS_EXP_MEM_DATA, data); in ns_exp_write() 66 static int ns_config_intr(struct phy_device *phydev) in ns_config_intr() argument 70 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) in ns_config_intr() 71 err = phy_write(phydev, DP83865_INT_MASK, in ns_config_intr() 74 err = phy_write(phydev, DP83865_INT_MASK, 0); in ns_config_intr() [all …]
|
D | adin.c | 195 static u32 adin_get_reg_value(struct phy_device *phydev, in adin_get_reg_value() argument 200 struct device *dev = &phydev->mdio.dev; in adin_get_reg_value() 209 phydev_warn(phydev, in adin_get_reg_value() 218 static int adin_config_rgmii_mode(struct phy_device *phydev) in adin_config_rgmii_mode() argument 223 if (!phy_interface_is_rgmii(phydev)) in adin_config_rgmii_mode() 224 return phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, in adin_config_rgmii_mode() 228 reg = phy_read_mmd(phydev, MDIO_MMD_VEND1, ADIN1300_GE_RGMII_CFG_REG); in adin_config_rgmii_mode() 234 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in adin_config_rgmii_mode() 235 phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID) { in adin_config_rgmii_mode() 238 val = adin_get_reg_value(phydev, "adi,rx-internal-delay-ps", in adin_config_rgmii_mode() [all …]
|
D | dp83867.c | 119 static int dp83867_ack_interrupt(struct phy_device *phydev) in dp83867_ack_interrupt() argument 121 int err = phy_read(phydev, MII_DP83867_ISR); in dp83867_ack_interrupt() 129 static int dp83867_config_intr(struct phy_device *phydev) in dp83867_config_intr() argument 133 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in dp83867_config_intr() 134 micr_status = phy_read(phydev, MII_DP83867_MICR); in dp83867_config_intr() 146 return phy_write(phydev, MII_DP83867_MICR, micr_status); in dp83867_config_intr() 150 return phy_write(phydev, MII_DP83867_MICR, micr_status); in dp83867_config_intr() 153 static int dp83867_config_port_mirroring(struct phy_device *phydev) in dp83867_config_port_mirroring() argument 156 (struct dp83867_private *)phydev->priv; in dp83867_config_port_mirroring() 159 phy_set_bits_mmd(phydev, DP83867_DEVADDR, DP83867_CFG4, in dp83867_config_port_mirroring() [all …]
|
D | dp83tc811.c | 78 static int dp83811_ack_interrupt(struct phy_device *phydev) in dp83811_ack_interrupt() argument 82 err = phy_read(phydev, MII_DP83811_INT_STAT1); in dp83811_ack_interrupt() 86 err = phy_read(phydev, MII_DP83811_INT_STAT2); in dp83811_ack_interrupt() 90 err = phy_read(phydev, MII_DP83811_INT_STAT3); in dp83811_ack_interrupt() 97 static int dp83811_set_wol(struct phy_device *phydev, in dp83811_set_wol() argument 100 struct net_device *ndev = phydev->attached_dev; in dp83811_set_wol() 113 phy_write_mmd(phydev, DP83811_DEVADDR, MII_DP83811_WOL_DA1, in dp83811_set_wol() 115 phy_write_mmd(phydev, DP83811_DEVADDR, MII_DP83811_WOL_DA2, in dp83811_set_wol() 117 phy_write_mmd(phydev, DP83811_DEVADDR, MII_DP83811_WOL_DA3, in dp83811_set_wol() 120 value = phy_read_mmd(phydev, DP83811_DEVADDR, in dp83811_set_wol() [all …]
|
D | meson-gxl.c | 48 static int meson_gxl_open_banks(struct phy_device *phydev) in meson_gxl_open_banks() argument 55 ret = phy_write(phydev, TSTCNTL, 0); in meson_gxl_open_banks() 58 ret = phy_write(phydev, TSTCNTL, TSTCNTL_TEST_MODE); in meson_gxl_open_banks() 61 ret = phy_write(phydev, TSTCNTL, 0); in meson_gxl_open_banks() 64 return phy_write(phydev, TSTCNTL, TSTCNTL_TEST_MODE); in meson_gxl_open_banks() 67 static void meson_gxl_close_banks(struct phy_device *phydev) in meson_gxl_close_banks() argument 69 phy_write(phydev, TSTCNTL, 0); in meson_gxl_close_banks() 72 static int meson_gxl_read_reg(struct phy_device *phydev, in meson_gxl_read_reg() argument 77 ret = meson_gxl_open_banks(phydev); in meson_gxl_read_reg() 81 ret = phy_write(phydev, TSTCNTL, TSTCNTL_READ | in meson_gxl_read_reg() [all …]
|
/Linux-v5.4/include/linux/ |
D | phy.h | 480 int (*soft_reset)(struct phy_device *phydev); 486 int (*config_init)(struct phy_device *phydev); 492 int (*probe)(struct phy_device *phydev); 498 int (*get_features)(struct phy_device *phydev); 501 int (*suspend)(struct phy_device *phydev); 502 int (*resume)(struct phy_device *phydev); 510 int (*config_aneg)(struct phy_device *phydev); 513 int (*aneg_done)(struct phy_device *phydev); 516 int (*read_status)(struct phy_device *phydev); 519 int (*ack_interrupt)(struct phy_device *phydev); [all …]
|