Home
last modified time | relevance | path

Searched refs:phydev (Results 1 – 25 of 184) sorted by relevance

12345678

/linux/drivers/net/phy/
H A Dphy.c64 static void phy_process_state_change(struct phy_device *phydev, in phy_process_state_change() argument
67 if (old_state != phydev->state) { in phy_process_state_change()
68 phydev_dbg(phydev, "PHY state change %s -> %s\n", in phy_process_state_change()
70 phy_state_to_str(phydev->state)); in phy_process_state_change()
71 if (phydev->drv && phydev->drv->link_change_notify) in phy_process_state_change()
72 phydev->drv->link_change_notify(phydev); in phy_process_state_change()
76 static void phy_link_up(struct phy_device *phydev) in phy_link_up() argument
78 phydev->phy_link_change(phydev, true); in phy_link_up()
79 phy_led_trigger_change_speed(phydev); in phy_link_up()
82 static void phy_link_down(struct phy_device *phydev) in phy_link_down() argument
[all …]
H A Dphy_device.c57 int (*run)(struct phy_device *phydev);
210 void phy_device_free(struct phy_device *phydev) in phy_device_free() argument
212 put_device(&phydev->mdio.dev); in phy_device_free()
218 struct phy_device *phydev; in phy_mdio_device_free() local
220 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_free()
221 phy_device_free(phydev); in phy_mdio_device_free()
232 struct phy_device *phydev; in phy_mdio_device_remove() local
234 phydev = container_of(mdiodev, struct phy_device, mdio); in phy_mdio_device_remove()
235 phy_device_remove(phydev); in phy_mdio_device_remove()
243 static bool phy_drv_wol_enabled(struct phy_device *phydev) in phy_drv_wol_enabled() argument
[all …]
H A Dbroadcom.c26 #define BRCM_PHY_REV(phydev) \ argument
27 ((phydev)->drv->phy_id & ~((phydev)->drv->phy_id_mask))
63 static bool bcm54xx_phy_can_wakeup(struct phy_device *phydev) in bcm54xx_phy_can_wakeup() argument
65 struct bcm54xx_phy_priv *priv = phydev->priv; in bcm54xx_phy_can_wakeup()
67 return phy_interrupt_is_valid(phydev) || priv->wake_irq >= 0; in bcm54xx_phy_can_wakeup()
70 static int bcm54xx_config_clock_delay(struct phy_device *phydev) in bcm54xx_config_clock_delay() argument
75 val = bcm54xx_auxctl_read(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC); in bcm54xx_config_clock_delay()
77 if (phydev->interface == PHY_INTERFACE_MODE_RGMII || in bcm54xx_config_clock_delay()
78 phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID) { in bcm54xx_config_clock_delay()
82 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || in bcm54xx_config_clock_delay()
[all …]
H A Dmicrochip.c30 static int lan88xx_read_page(struct phy_device *phydev) in lan88xx_read_page() argument
32 return __phy_read(phydev, LAN88XX_EXT_PAGE_ACCESS); in lan88xx_read_page()
35 static int lan88xx_write_page(struct phy_device *phydev, int page) in lan88xx_write_page() argument
37 return __phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, page); in lan88xx_write_page()
40 static int lan88xx_suspend(struct phy_device *phydev) in lan88xx_suspend() argument
42 struct lan88xx_priv *priv = phydev->priv; in lan88xx_suspend()
46 genphy_suspend(phydev); in lan88xx_suspend()
51 static int lan88xx_TR_reg_set(struct phy_device *phydev, u16 regaddr, in lan88xx_TR_reg_set() argument
58 save_page = phy_save_page(phydev); in lan88xx_TR_reg_set()
60 phydev_warn(phydev, "Failed to get current page\n"); in lan88xx_TR_reg_set()
[all …]
H A Dmarvell-88q2xxx.c220 static int mv88q2xxx_write_mmd_vals(struct phy_device *phydev, in mv88q2xxx_write_mmd_vals() argument
226 ret = phy_write_mmd(phydev, vals->devad, vals->regnum, in mv88q2xxx_write_mmd_vals()
235 static int mv88q2xxx_soft_reset(struct phy_device *phydev) in mv88q2xxx_soft_reset() argument
241 if (phydev->autoneg == AUTONEG_ENABLE || phydev->speed == SPEED_1000) { in mv88q2xxx_soft_reset()
242 ret = phy_write_mmd(phydev, MDIO_MMD_PCS, 0xfe1b, 0x48); in mv88q2xxx_soft_reset()
247 ret = phy_write_mmd(phydev, MDIO_MMD_PCS, MDIO_PCS_1000BT1_CTRL, in mv88q2xxx_soft_reset()
252 ret = phy_read_mmd_poll_timeout(phydev, MDIO_MMD_PCS, in mv88q2xxx_soft_reset()
259 ret = phy_write_mmd(phydev, MDIO_MMD_PCS, 0xffe4, 0xc); in mv88q2xxx_soft_reset()
264 if (phydev->autoneg == AUTONEG_ENABLE || phydev->speed == SPEED_1000) in mv88q2xxx_soft_reset()
265 return phy_write_mmd(phydev, MDIO_MMD_PCS, 0xfe1b, 0x58); in mv88q2xxx_soft_reset()
[all …]
H A Dmicrel.c409 struct phy_device *phydev; member
427 struct phy_device *phydev; member
548 static int kszphy_extended_write(struct phy_device *phydev, in kszphy_extended_write() argument
551 phy_write(phydev, MII_KSZPHY_EXTREG, KSZPHY_EXTREG_WRITE | regnum); in kszphy_extended_write()
552 return phy_write(phydev, MII_KSZPHY_EXTREG_WRITE, val); in kszphy_extended_write()
555 static int kszphy_extended_read(struct phy_device *phydev, in kszphy_extended_read() argument
558 phy_write(phydev, MII_KSZPHY_EXTREG, regnum); in kszphy_extended_read()
559 return phy_read(phydev, MII_KSZPHY_EXTREG_READ); in kszphy_extended_read()
562 static int kszphy_ack_interrupt(struct phy_device *phydev) in kszphy_ack_interrupt() argument
567 rc = phy_read(phydev, MII_KSZPHY_INTCS); in kszphy_ack_interrupt()
[all …]
H A Dmotorcomm.c397 static int ytphy_read_ext(struct phy_device *phydev, u16 regnum) in ytphy_read_ext() argument
401 ret = __phy_write(phydev, YTPHY_PAGE_SELECT, regnum); in ytphy_read_ext()
405 return __phy_read(phydev, YTPHY_PAGE_DATA); in ytphy_read_ext()
415 static int ytphy_read_ext_with_lock(struct phy_device *phydev, u16 regnum) in ytphy_read_ext_with_lock() argument
419 phy_lock_mdio_bus(phydev); in ytphy_read_ext_with_lock()
420 ret = ytphy_read_ext(phydev, regnum); in ytphy_read_ext_with_lock()
421 phy_unlock_mdio_bus(phydev); in ytphy_read_ext_with_lock()
436 static int ytphy_write_ext(struct phy_device *phydev, u16 regnum, u16 val) in ytphy_write_ext() argument
440 ret = __phy_write(phydev, YTPHY_PAGE_SELECT, regnum); in ytphy_write_ext()
444 return __phy_write(phydev, YTPHY_PAGE_DATA, val); in ytphy_write_ext()
[all …]
H A Ddp83869.c156 static int dp83869_config_aneg(struct phy_device *phydev) in dp83869_config_aneg() argument
158 struct dp83869_private *dp83869 = phydev->priv; in dp83869_config_aneg()
161 return genphy_config_aneg(phydev); in dp83869_config_aneg()
163 return genphy_c37_config_aneg(phydev); in dp83869_config_aneg()
166 static int dp83869_read_status(struct phy_device *phydev) in dp83869_read_status() argument
168 struct dp83869_private *dp83869 = phydev->priv; in dp83869_read_status()
173 return genphy_c37_read_status(phydev, &changed); in dp83869_read_status()
175 ret = genphy_read_status(phydev); in dp83869_read_status()
180 if (phydev->link) { in dp83869_read_status()
181 phydev->speed = SPEED_100; in dp83869_read_status()
[all …]
H A Dbcm-phy-lib.h33 int __bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val);
34 int __bcm_phy_read_exp(struct phy_device *phydev, u16 reg);
35 int __bcm_phy_modify_exp(struct phy_device *phydev, u16 reg, u16 mask, u16 set);
36 int bcm_phy_write_exp(struct phy_device *phydev, u16 reg, u16 val);
37 int bcm_phy_read_exp(struct phy_device *phydev, u16 reg);
38 int bcm_phy_modify_exp(struct phy_device *phydev, u16 reg, u16 mask, u16 set);
40 static inline int bcm_phy_write_exp_sel(struct phy_device *phydev, in bcm_phy_write_exp_sel() argument
43 return bcm_phy_write_exp(phydev, reg | MII_BCM54XX_EXP_SEL_ER, val); in bcm_phy_write_exp_sel()
46 static inline int bcm_phy_read_exp_sel(struct phy_device *phydev, u16 reg) in bcm_phy_read_exp_sel() argument
48 return bcm_phy_read_exp(phydev, reg | MII_BCM54XX_EXP_SEL_ER); in bcm_phy_read_exp_sel()
[all …]
H A Dnxp-c45-tja11xx-macsec.c290 static int nxp_c45_macsec_write(struct phy_device *phydev, u16 addr, u32 value) in nxp_c45_macsec_write() argument
298 phydev_dbg(phydev, "write addr 0x%x value 0x%x\n", addr, value); in nxp_c45_macsec_write()
301 ret = phy_write_mmd(phydev, MDIO_MMD_VEND2, laddr, lvalue); in nxp_c45_macsec_write()
307 ret = phy_write_mmd(phydev, MDIO_MMD_VEND2, laddr, lvalue); in nxp_c45_macsec_write()
312 static int nxp_c45_macsec_read(struct phy_device *phydev, u16 addr, u32 *value) in nxp_c45_macsec_read() argument
321 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, laddr); in nxp_c45_macsec_read()
327 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, laddr); in nxp_c45_macsec_read()
334 phydev_dbg(phydev, "read addr 0x%x value 0x%x\n", addr, *value); in nxp_c45_macsec_read()
339 static void nxp_c45_macsec_read32_64(struct phy_device *phydev, u16 addr, in nxp_c45_macsec_read32_64() argument
344 nxp_c45_macsec_read(phydev, addr, &lvalue); in nxp_c45_macsec_read32_64()
[all …]
H A Ddp83tg720.c210 static int dp83tg720_update_stats(struct phy_device *phydev) in dp83tg720_update_stats() argument
212 struct dp83tg720_priv *priv = phydev->priv; in dp83tg720_update_stats()
217 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_LINK_QUAL_3); in dp83tg720_update_stats()
235 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_PKT_STAT_1); in dp83tg720_update_stats()
241 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_PKT_STAT_2); in dp83tg720_update_stats()
248 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_PKT_STAT_3); in dp83tg720_update_stats()
254 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_PKT_STAT_4); in dp83tg720_update_stats()
260 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_PKT_STAT_5); in dp83tg720_update_stats()
267 ret = phy_read_mmd(phydev, MDIO_MMD_VEND2, DP83TG720S_PKT_STAT_6); in dp83tg720_update_stats()
276 static int dp83tg720_soft_reset(struct phy_device *phydev) in dp83tg720_soft_reset() argument
[all …]
H A Dmxl-86110.c201 static int __mxl86110_write_extended_reg(struct phy_device *phydev, in __mxl86110_write_extended_reg() argument
206 ret = __phy_write(phydev, MXL86110_EXTD_REG_ADDR_OFFSET, regnum); in __mxl86110_write_extended_reg()
210 return __phy_write(phydev, MXL86110_EXTD_REG_ADDR_DATA, val); in __mxl86110_write_extended_reg()
229 static int __mxl86110_read_extended_reg(struct phy_device *phydev, u16 regnum) in __mxl86110_read_extended_reg() argument
233 ret = __phy_write(phydev, MXL86110_EXTD_REG_ADDR_OFFSET, regnum); in __mxl86110_read_extended_reg()
236 return __phy_read(phydev, MXL86110_EXTD_REG_ADDR_DATA); in __mxl86110_read_extended_reg()
252 static int __mxl86110_modify_extended_reg(struct phy_device *phydev, in __mxl86110_modify_extended_reg() argument
257 ret = __phy_write(phydev, MXL86110_EXTD_REG_ADDR_OFFSET, regnum); in __mxl86110_modify_extended_reg()
261 return __phy_modify(phydev, MXL86110_EXTD_REG_ADDR_DATA, mask, set); in __mxl86110_modify_extended_reg()
276 static int mxl86110_write_extended_reg(struct phy_device *phydev, in mxl86110_write_extended_reg() argument
[all …]
H A Dsmsc.c59 static int smsc_phy_ack_interrupt(struct phy_device *phydev) in smsc_phy_ack_interrupt() argument
61 int rc = phy_read(phydev, MII_LAN83C185_ISF); in smsc_phy_ack_interrupt()
66 int smsc_phy_config_intr(struct phy_device *phydev) in smsc_phy_config_intr() argument
70 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in smsc_phy_config_intr()
71 rc = smsc_phy_ack_interrupt(phydev); in smsc_phy_config_intr()
75 rc = phy_write(phydev, MII_LAN83C185_IM, in smsc_phy_config_intr()
78 rc = phy_write(phydev, MII_LAN83C185_IM, 0); in smsc_phy_config_intr()
82 rc = smsc_phy_ack_interrupt(phydev); in smsc_phy_config_intr()
89 static int smsc_phy_config_edpd(struct phy_device *phydev) in smsc_phy_config_edpd() argument
91 struct smsc_phy_priv *priv = phydev->priv; in smsc_phy_config_edpd()
[all …]
H A Dbcm54140.c183 struct phy_device *phydev = dev_get_drvdata(dev); in bcm54140_hwmon_read_alarm() local
184 struct bcm54140_priv *priv = phydev->priv; in bcm54140_hwmon_read_alarm()
190 tmp = bcm_phy_read_rdb(phydev, BCM54140_RDB_MON_ISR); in bcm54140_hwmon_read_alarm()
207 struct phy_device *phydev = dev_get_drvdata(dev); in bcm54140_hwmon_read_temp() local
229 tmp = bcm_phy_read_rdb(phydev, reg); in bcm54140_hwmon_read_temp()
241 struct phy_device *phydev = dev_get_drvdata(dev); in bcm54140_hwmon_read_in() local
262 tmp = bcm_phy_read_rdb(phydev, reg); in bcm54140_hwmon_read_in()
312 struct phy_device *phydev = dev_get_drvdata(dev); in bcm54140_hwmon_write_temp() local
330 return bcm_phy_modify_rdb(phydev, reg, mask, in bcm54140_hwmon_write_temp()
337 struct phy_device *phydev = dev_get_drvdata(dev); in bcm54140_hwmon_write_in() local
[all …]
H A Das21xxx.c297 static int aeon_firmware_boot(struct phy_device *phydev, const u8 *data, in aeon_firmware_boot() argument
303 ret = phy_modify_mmd(phydev, MDIO_MMD_VEND1, VEND1_GLB_REG_CPU_CTRL, in aeon_firmware_boot()
308 ret = phy_write_mmd(phydev, MDIO_MMD_VEND1, VEND1_FW_START_ADDR, in aeon_firmware_boot()
313 ret = phy_modify_mmd(phydev, MDIO_MMD_VEND1, in aeon_firmware_boot()
319 val = phy_read_mmd(phydev, MDIO_MMD_VEND1, in aeon_firmware_boot()
322 phydev_err(phydev, "wrong origin mdio_indirect_status: %x\n", val); in aeon_firmware_boot()
330 ret = phy_write_mmd(phydev, MDIO_MMD_VEND1, in aeon_firmware_boot()
336 ret = phy_write_mmd(phydev, MDIO_MMD_VEND1, in aeon_firmware_boot()
342 ret = phy_write_mmd(phydev, MDIO_MMD_VEND1, in aeon_firmware_boot()
348 return phy_modify_mmd(phydev, MDIO_MMD_VEND1, VEND1_GLB_REG_CPU_CTRL, in aeon_firmware_boot()
[all …]
H A Dphy_package.c43 struct device_node *phy_package_get_node(struct phy_device *phydev) in phy_package_get_node() argument
45 return phydev->shared->np; in phy_package_get_node()
49 void *phy_package_get_priv(struct phy_device *phydev) in phy_package_get_priv() argument
51 return phydev->shared->priv; in phy_package_get_priv()
55 static int phy_package_address(struct phy_device *phydev, in phy_package_address() argument
58 struct phy_package_shared *shared = phydev->shared; in phy_package_address()
70 int __phy_package_read(struct phy_device *phydev, unsigned int addr_offset, in __phy_package_read() argument
73 int addr = phy_package_address(phydev, addr_offset); in __phy_package_read()
78 return __mdiobus_read(phydev->mdio.bus, addr, regnum); in __phy_package_read()
82 int __phy_package_write(struct phy_device *phydev, unsigned int addr_offset, in __phy_package_write() argument
[all …]
/linux/drivers/net/phy/realtek/
H A Drealtek_main.c220 static int rtl821x_read_page(struct phy_device *phydev) in rtl821x_read_page() argument
222 return __phy_read(phydev, RTL821x_PAGE_SELECT); in rtl821x_read_page()
225 static int rtl821x_write_page(struct phy_device *phydev, int page) in rtl821x_write_page() argument
227 return __phy_write(phydev, RTL821x_PAGE_SELECT, page); in rtl821x_write_page()
230 static int rtl821x_read_ext_page(struct phy_device *phydev, u16 ext_page, in rtl821x_read_ext_page() argument
235 oldpage = phy_select_page(phydev, RTL821x_SET_EXT_PAGE); in rtl821x_read_ext_page()
237 ret = __phy_write(phydev, RTL821x_EXT_PAGE_SELECT, ext_page); in rtl821x_read_ext_page()
239 ret = __phy_read(phydev, regnum); in rtl821x_read_ext_page()
242 return phy_restore_page(phydev, oldpage, ret); in rtl821x_read_ext_page()
245 static int rtl821x_modify_ext_page(struct phy_device *phydev, u16 ext_page, in rtl821x_modify_ext_page() argument
[all …]
/linux/drivers/net/phy/qcom/
H A Dqca808x.c99 static int qca808x_phy_fast_retrain_config(struct phy_device *phydev) in qca808x_phy_fast_retrain_config() argument
104 ret = genphy_c45_fast_retrain(phydev, true); in qca808x_phy_fast_retrain_config()
108 phy_write_mmd(phydev, MDIO_MMD_AN, QCA808X_PHY_MMD7_TOP_OPTION1, in qca808x_phy_fast_retrain_config()
110 phy_write_mmd(phydev, MDIO_MMD_PMAPMD, QCA808X_PHY_MMD1_MSE_THRESHOLD_20DB, in qca808x_phy_fast_retrain_config()
112 phy_write_mmd(phydev, MDIO_MMD_PMAPMD, QCA808X_PHY_MMD1_MSE_THRESHOLD_17DB, in qca808x_phy_fast_retrain_config()
114 phy_write_mmd(phydev, MDIO_MMD_PMAPMD, QCA808X_PHY_MMD1_MSE_THRESHOLD_27DB, in qca808x_phy_fast_retrain_config()
116 phy_write_mmd(phydev, MDIO_MMD_PMAPMD, QCA808X_PHY_MMD1_MSE_THRESHOLD_28DB, in qca808x_phy_fast_retrain_config()
118 phy_write_mmd(phydev, MDIO_MMD_PCS, QCA808X_PHY_MMD3_DEBUG_1, in qca808x_phy_fast_retrain_config()
120 phy_write_mmd(phydev, MDIO_MMD_PCS, QCA808X_PHY_MMD3_DEBUG_4, in qca808x_phy_fast_retrain_config()
122 phy_write_mmd(phydev, MDIO_MMD_PCS, QCA808X_PHY_MMD3_DEBUG_5, in qca808x_phy_fast_retrain_config()
[all …]
H A Dqcom-phy-lib.c17 int at803x_debug_reg_read(struct phy_device *phydev, u16 reg) in at803x_debug_reg_read() argument
21 ret = phy_write(phydev, AT803X_DEBUG_ADDR, reg); in at803x_debug_reg_read()
25 return phy_read(phydev, AT803X_DEBUG_DATA); in at803x_debug_reg_read()
29 int at803x_debug_reg_mask(struct phy_device *phydev, u16 reg, in at803x_debug_reg_mask() argument
35 ret = at803x_debug_reg_read(phydev, reg); in at803x_debug_reg_mask()
43 return phy_write(phydev, AT803X_DEBUG_DATA, val); in at803x_debug_reg_mask()
47 int at803x_debug_reg_write(struct phy_device *phydev, u16 reg, u16 data) in at803x_debug_reg_write() argument
51 ret = phy_write(phydev, AT803X_DEBUG_ADDR, reg); in at803x_debug_reg_write()
55 return phy_write(phydev, AT803X_DEBUG_DATA, data); in at803x_debug_reg_write()
59 int at803x_set_wol(struct phy_device *phydev, in at803x_set_wol() argument
[all …]
/linux/drivers/net/phy/mscc/
H A Dmscc_serdes.c14 static int pll5g_detune(struct phy_device *phydev) in pll5g_detune() argument
19 rd_dat = vsc85xx_csr_read(phydev, MACRO_CTRL, PHY_S6G_PLL5G_CFG2); in pll5g_detune()
22 ret = vsc85xx_csr_write(phydev, MACRO_CTRL, in pll5g_detune()
25 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in pll5g_detune()
29 static int pll5g_tune(struct phy_device *phydev) in pll5g_tune() argument
34 rd_dat = vsc85xx_csr_read(phydev, MACRO_CTRL, PHY_S6G_PLL5G_CFG2); in pll5g_tune()
36 ret = vsc85xx_csr_write(phydev, MACRO_CTRL, in pll5g_tune()
39 dev_err(&phydev->mdio.dev, "%s: write error\n", __func__); in pll5g_tune()
43 static int vsc85xx_sd6g_pll_cfg_wr(struct phy_device *phydev, in vsc85xx_sd6g_pll_cfg_wr() argument
50 ret = vsc85xx_csr_write(phydev, MACRO_CTRL, in vsc85xx_sd6g_pll_cfg_wr()
[all …]
H A Dmscc_macsec.c22 static u32 vsc8584_macsec_phy_read(struct phy_device *phydev, in vsc8584_macsec_phy_read() argument
29 rc = phy_select_page(phydev, MSCC_PHY_PAGE_MACSEC); in vsc8584_macsec_phy_read()
33 __phy_write(phydev, MSCC_EXT_PAGE_MACSEC_20, in vsc8584_macsec_phy_read()
42 __phy_write(phydev, MSCC_EXT_PAGE_MACSEC_19, in vsc8584_macsec_phy_read()
49 val = __phy_read(phydev, MSCC_EXT_PAGE_MACSEC_19); in vsc8584_macsec_phy_read()
52 val_l = __phy_read(phydev, MSCC_EXT_PAGE_MACSEC_17); in vsc8584_macsec_phy_read()
53 val_h = __phy_read(phydev, MSCC_EXT_PAGE_MACSEC_18); in vsc8584_macsec_phy_read()
56 phy_restore_page(phydev, rc, rc); in vsc8584_macsec_phy_read()
61 static void vsc8584_macsec_phy_write(struct phy_device *phydev, in vsc8584_macsec_phy_write() argument
67 rc = phy_select_page(phydev, MSCC_PHY_PAGE_MACSEC); in vsc8584_macsec_phy_write()
[all …]
/linux/drivers/net/phy/mediatek/
H A Dmtk-ge-soc.c386 static int cal_cycle(struct phy_device *phydev, int devad, in cal_cycle() argument
392 phy_modify_mmd(phydev, devad, regnum, in cal_cycle()
394 phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_RG_AD_CALIN, in cal_cycle()
397 ret = phy_read_mmd_poll_timeout(phydev, MDIO_MMD_VEND1, in cal_cycle()
403 phydev_err(phydev, "Calibration cycle timeout\n"); in cal_cycle()
407 phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_RG_AD_CALIN, in cal_cycle()
409 ret = phy_read_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_RG_AD_CAL_COMP); in cal_cycle()
413 phydev_dbg(phydev, "cal_val: 0x%x, ret: %d\n", cal_val, ret); in cal_cycle()
418 static int rext_fill_result(struct phy_device *phydev, u16 *buf) in rext_fill_result() argument
420 phy_modify_mmd(phydev, MDIO_MMD_VEND1, MTK_PHY_RG_ANA_CAL_RG5, in rext_fill_result()
[all …]
H A Dmtk-phy-lib.c14 static void __mtk_tr_access(struct phy_device *phydev, bool read, u8 ch_addr, in __mtk_tr_access() argument
25 dev_dbg(&phydev->mdio.dev, "tr_cmd: 0x%x\n", tr_cmd); in __mtk_tr_access()
26 __phy_write(phydev, 0x10, tr_cmd); in __mtk_tr_access()
29 static void __mtk_tr_read(struct phy_device *phydev, u8 ch_addr, u8 node_addr, in __mtk_tr_read() argument
32 __mtk_tr_access(phydev, true, ch_addr, node_addr, data_addr); in __mtk_tr_read()
33 *tr_low = __phy_read(phydev, 0x11); in __mtk_tr_read()
34 *tr_high = __phy_read(phydev, 0x12); in __mtk_tr_read()
35 dev_dbg(&phydev->mdio.dev, "tr_high read: 0x%x, tr_low read: 0x%x\n", in __mtk_tr_read()
39 static void __mtk_tr_write(struct phy_device *phydev, u8 ch_addr, u8 node_addr, in __mtk_tr_write() argument
42 __phy_write(phydev, 0x11, tr_data & 0xffff); in __mtk_tr_write()
[all …]
/linux/net/ethtool/
H A Dcabletest.c20 static int ethnl_cable_test_started(struct phy_device *phydev, u8 cmd) in ethnl_cable_test_started() argument
36 err = ethnl_fill_reply_header(skb, phydev->attached_dev, in ethnl_cable_test_started()
48 return ethnl_multicast(skb, phydev->attached_dev); in ethnl_cable_test_started()
52 phydev_err(phydev, "%s: Error %pe\n", __func__, ERR_PTR(err)); in ethnl_cable_test_started()
62 struct phy_device *phydev; in ethnl_act_cable_test() local
77 phydev = ethnl_req_get_phydev(&req_info, tb, in ethnl_act_cable_test()
80 if (IS_ERR_OR_NULL(phydev)) { in ethnl_act_cable_test()
95 ret = ops->start_cable_test(phydev, info->extack); in ethnl_act_cable_test()
100 ethnl_cable_test_started(phydev, ETHTOOL_MSG_CABLE_TEST_NTF); in ethnl_act_cable_test()
109 int ethnl_cable_test_alloc(struct phy_device *phydev, u8 cmd) in ethnl_cable_test_alloc() argument
[all …]
/linux/drivers/net/phy/aquantia/
H A Daquantia_hwmon.c42 static int aqr_hwmon_get(struct phy_device *phydev, int reg, long *value) in aqr_hwmon_get() argument
44 int temp = phy_read_mmd(phydev, MDIO_MMD_VEND1, reg); in aqr_hwmon_get()
55 static int aqr_hwmon_set(struct phy_device *phydev, int reg, long value) in aqr_hwmon_set() argument
65 return phy_write_mmd(phydev, MDIO_MMD_VEND1, reg, (u16)temp); in aqr_hwmon_set()
68 static int aqr_hwmon_test_bit(struct phy_device *phydev, int reg, int bit) in aqr_hwmon_test_bit() argument
70 int val = phy_read_mmd(phydev, MDIO_MMD_VEND1, reg); in aqr_hwmon_test_bit()
78 static int aqr_hwmon_status1(struct phy_device *phydev, int bit, long *value) in aqr_hwmon_status1() argument
80 int val = aqr_hwmon_test_bit(phydev, VEND1_GENERAL_STAT1, bit); in aqr_hwmon_status1()
93 struct phy_device *phydev = dev_get_drvdata(dev); in aqr_hwmon_read() local
101 reg = aqr_hwmon_test_bit(phydev, VEND1_THERMAL_STAT2, in aqr_hwmon_read()
[all …]

12345678