Message ID | 20200921091354.2bf0a039@xhacker.debian |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [v2,net-next] net: phy: realtek: enable ALDPS to save power for RTL8211F | expand |
On Mon, Sep 21, 2020 at 09:13:54AM +0800, Jisheng Zhang wrote: > Enable ALDPS(Advanced Link Down Power Saving) to save power when > link down. > > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com> Date: Mon, 21 Sep 2020 09:13:54 +0800 > Enable ALDPS(Advanced Link Down Power Saving) to save power when > link down. > > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> > --- > Since v1: > - add what does ALDPS mean. > - replace magic number 0x18 with RTL8211F_PHYCR1 macro. Applied, thanks.
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c index 95dbe5e8e1d8..4bf54cded48a 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c @@ -27,11 +27,16 @@ #define RTL821x_EXT_PAGE_SELECT 0x1e #define RTL821x_PAGE_SELECT 0x1f +#define RTL8211F_PHYCR1 0x18 #define RTL8211F_INSR 0x1d #define RTL8211F_TX_DELAY BIT(8) #define RTL8211F_RX_DELAY BIT(3) +#define RTL8211F_ALDPS_PLL_OFF BIT(1) +#define RTL8211F_ALDPS_ENABLE BIT(2) +#define RTL8211F_ALDPS_XTAL_OFF BIT(12) + #define RTL8211E_TX_DELAY BIT(1) #define RTL8211E_RX_DELAY BIT(2) #define RTL8211E_MODE_MII_GMII BIT(3) @@ -178,8 +183,12 @@ static int rtl8211f_config_init(struct phy_device *phydev) { struct device *dev = &phydev->mdio.dev; u16 val_txdly, val_rxdly; + u16 val; int ret; + val = RTL8211F_ALDPS_ENABLE | RTL8211F_ALDPS_PLL_OFF | RTL8211F_ALDPS_XTAL_OFF; + phy_modify_paged_changed(phydev, 0xa43, RTL8211F_PHYCR1, val, val); + switch (phydev->interface) { case PHY_INTERFACE_MODE_RGMII: val_txdly = 0;
Enable ALDPS(Advanced Link Down Power Saving) to save power when link down. Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> --- Since v1: - add what does ALDPS mean. - replace magic number 0x18 with RTL8211F_PHYCR1 macro. drivers/net/phy/realtek.c | 9 +++++++++ 1 file changed, 9 insertions(+)