mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 00:39:30 -04:00
net: dwmac-sti: Use helper rgmii_clock
Utilize a new helper function rgmii_clock(). Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: Jan Petrous (OSS) <jan.petrous@oss.nxp.com> Link: https://patch.msgid.link/20241205-upstream_s32cc_gmac-v8-12-ec1d180df815@oss.nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
fd59bca4d5
commit
1ead577755
@@ -21,10 +21,7 @@
|
||||
|
||||
#include "stmmac_platform.h"
|
||||
|
||||
#define DWMAC_125MHZ 125000000
|
||||
#define DWMAC_50MHZ 50000000
|
||||
#define DWMAC_25MHZ 25000000
|
||||
#define DWMAC_2_5MHZ 2500000
|
||||
|
||||
#define IS_PHY_IF_MODE_RGMII(iface) (iface == PHY_INTERFACE_MODE_RGMII || \
|
||||
iface == PHY_INTERFACE_MODE_RGMII_ID || \
|
||||
@@ -140,7 +137,7 @@ static void stih4xx_fix_retime_src(void *priv, u32 spd, unsigned int mode)
|
||||
struct sti_dwmac *dwmac = priv;
|
||||
u32 src = dwmac->tx_retime_src;
|
||||
u32 reg = dwmac->ctrl_reg;
|
||||
u32 freq = 0;
|
||||
long freq = 0;
|
||||
|
||||
if (dwmac->interface == PHY_INTERFACE_MODE_MII) {
|
||||
src = TX_RETIME_SRC_TXCLK;
|
||||
@@ -153,19 +150,14 @@ static void stih4xx_fix_retime_src(void *priv, u32 spd, unsigned int mode)
|
||||
}
|
||||
} else if (IS_PHY_IF_MODE_RGMII(dwmac->interface)) {
|
||||
/* On GiGa clk source can be either ext or from clkgen */
|
||||
if (spd == SPEED_1000) {
|
||||
freq = DWMAC_125MHZ;
|
||||
} else {
|
||||
freq = rgmii_clock(spd);
|
||||
|
||||
if (spd != SPEED_1000 && freq > 0)
|
||||
/* Switch to clkgen for these speeds */
|
||||
src = TX_RETIME_SRC_CLKGEN;
|
||||
if (spd == SPEED_100)
|
||||
freq = DWMAC_25MHZ;
|
||||
else if (spd == SPEED_10)
|
||||
freq = DWMAC_2_5MHZ;
|
||||
}
|
||||
}
|
||||
|
||||
if (src == TX_RETIME_SRC_CLKGEN && freq)
|
||||
if (src == TX_RETIME_SRC_CLKGEN && freq > 0)
|
||||
clk_set_rate(dwmac->clk, freq);
|
||||
|
||||
regmap_update_bits(dwmac->regmap, reg, STIH4XX_RETIME_SRC_MASK,
|
||||
|
||||
Reference in New Issue
Block a user