net: stmmac: qcom-ethqos: cleanups
Subsystems (6)
cover net: stmmac: qcom-ethqos: cleanups
Hi,
Two changes:
1. In a previous commit, I missed that mac_base became write only. Remove it.
2. Switch qcom-ethqos to use the set_clk_tx_rate() method rather than setting the RGMII clock in the fix_mac_speed() method.
.../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)
Signature · 2 lines
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
PATCH 1/2 net: stmmac: qcom-ethqos: remove mac_base
Since the blamed commit, ethqos->mac_base is only written, never read. Let's remove it.
--- drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 3 --- 1 file changed, 3 deletions(-)
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +0 -3
@@ -100,7 +100,6 @@ struct ethqos_emac_driver_data {struct qcom_ethqos {struct platform_device *pdev;void __iomem *rgmii_base; -void __iomem *mac_base;int (*configure_func)(struct qcom_ethqos *ethqos,int speed);unsigned int link_clk_rate;
@@ -772,8 +771,6 @@ static int qcom_ethqos_probe(struct platform_device *pdev)return dev_err_probe (dev,PTR_ERR (ethqos->rgmii_base),"Failed to map rgmii resource\n" ); - ethqos->mac_base = stmmac_res.addr; - data =of_device_get_match_data (dev); ethqos->por = data->por; ethqos->num_por = data->num_por;
Signature · 1 line
2.47.3
Re: [PATCH net-next 1/2] net: stmmac: qcom-ethqos: remove mac_base
Quoted 5 lines · Russell King (Oracle)
Since the blamed commit,
ethqos->mac_baseis only written, never read. Let's remove it.Fixes 9b443e58a896 ("net: stmmac: qcom-ethqos: remove MAC_CTRL_REG modification")Signed-off-by Russell King (Oracle) <[email protected]>
Andrew
PATCH 2/2 net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method
In reply to Russell King (Oracle)Set the RGMII link clock using the set_clk_tx_rate() method rather than coding it into the .fix_mac_speed() method. This simplifies ethqos's ethqos_fix_mac_speed().
--- .../stmicro/stmmac/dwmac-qcom-ethqos.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +9 -10
@@ -102,7 +102,6 @@ struct qcom_ethqos {void __iomem *rgmii_base;int (*configure_func)(struct qcom_ethqos *ethqos,int speed); -unsigned int link_clk_rate;struct clk *link_clk;struct phy *serdes_phy;int serdes_speed;
@@ -174,19 +173,18 @@ static void rgmii_dump(void *priv) rgmii_readl(ethqos, EMAC_SYSTEM_LOW_POWER_DEBUG)); } -static void -ethqos_update_link_clk (struct qcom_ethqos *ethqos,int speed) +static int ethqos_set_clk_tx_rate (void *bsp_priv,struct clk *clk_tx_i, +phy_interface_t interface,int speed) { +struct qcom_ethqos *ethqos = bsp_priv;long rate; -if (!phy_interface_mode_is_rgmii (ethqos->phy_mode)) -return ; +if (!phy_interface_mode_is_rgmii (interface)) +return 0 ; rate =rgmii_clock (speed);if (rate >0 ) - ethqos->link_clk_rate = rate *2 ; - -clk_set_rate (ethqos->link_clk, ethqos->link_clk_rate); +clk_set_rate (ethqos->link_clk, rate *2 ); } static void
@@ -645,7 +643,6 @@ static void ethqos_fix_mac_speed(void *priv, int speed, unsigned int mode)struct qcom_ethqos *ethqos = priv;qcom_ethqos_set_sgmii_loopback (ethqos, false); -ethqos_update_link_clk (ethqos, speed);ethqos_configure (ethqos, speed); }
@@ -797,10 +794,12 @@ static int qcom_ethqos_probe(struct platform_device *pdev) "Failed to get serdes phy\n"); ethqos->serdes_speed =SPEED_1000 ; -ethqos_update_link_clk (ethqos,SPEED_1000 ); +ethqos_set_clk_tx_rate (ethqos,NULL , plat_dat->phy_interface, +SPEED_1000 );ethqos_set_func_clk_en (ethqos); plat_dat->bsp_priv = ethqos; + plat_dat->set_clk_tx_rate = ethqos_set_clk_tx_rate; plat_dat->fix_mac_speed = ethqos_fix_mac_speed; plat_dat->dump_debug_regs = rgmii_dump; plat_dat->ptp_clk_freq_config = ethqos_ptp_clk_freq_config;
Signature · 1 line
2.47.3
Simon Horman
reviewerRe: [PATCH net-next 2/2] net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method
Quoted 34 lines · Russell King (Oracle)
Set the RGMII link clock using the
set_clk_tx_rate()method rather than coding it into the .fix_mac_speed() method. This simplifies ethqos'sethqos_fix_mac_speed().Signed-off-by Russell King (Oracle) <[email protected]>--- .../stmicro/stmmac/dwmac-qcom-ethqos.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +3
-4@@ -102,7 +102,6 @@ struct qcom_ethqos {void __iomem *rgmii_base;int (*configure_func)(struct qcom_ethqos *ethqos,int speed); -unsigned int link_clk_rate;struct clk *link_clk;struct phy *serdes_phy;int serdes_speed;@@ -174,19 +173,18 @@ static void rgmii_dump(void *priv) rgmii_readl(ethqos, EMAC_SYSTEM_LOW_POWER_DEBUG)); } -static void -ethqos_update_link_clk (struct qcom_ethqos *ethqos,int speed) +static int ethqos_set_clk_tx_rate (void *bsp_priv,struct clk *clk_tx_i, +phy_interface_t interface,int speed) { +struct qcom_ethqos *ethqos = bsp_priv;long rate; -if (!phy_interface_mode_is_rgmii (ethqos->phy_mode))
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c static void rgmii_dump(void *priv) · line 187
Quoted 10 lines
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +3
-4-return ; +if (!phy_interface_mode_is_rgmii (interface)) +return 0 ; rate =rgmii_clock (speed);if (rate >0 ) - ethqos->link_clk_rate = rate *2 ; - -clk_set_rate (ethqos->link_clk, ethqos->link_clk_rate); +clk_set_rate (ethqos->link_clk, rate *2 );
Hi Russell,
An int needs to be returned here.
Quoted 3 lines
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +0
-0} static void
Signature · 1 line
pw-bot: cr
kernel test robot
build botRe: [PATCH net-next 2/2] net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method
In reply to Russell King (Oracle)kernel test robot noticed the following build warnings:
Hi Russell,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Russell-King-Oracle/net-stmmac-qcom-ethqos-remove-mac_base/20260113-061245 base: net-next/main patch link: https://lore.kernel.org/r/E1vfMO1-00000002kJF-33UK%40rmk-PC.armlinux.org.uk patch subject: [PATCH net-next 2/2] net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20260113/[email protected]/config) compiler: arc-linux-gcc (GCC) 15.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260113/[email protected]/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
All warnings (new ones prefixed by >>):
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c: In function 'ethqos_set_clk_tx_rate':
>> drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c:188:1: warning: control reaches end of non-void function [-Wreturn-type]
188 | }
| ^vim +188 drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
a7c30e62d4b895 Vinod Koul 2019-01-21 175
a69650e88a5551 Russell King (Oracle 2026-01-12 176) static int ethqos_set_clk_tx_rate(void *bsp_priv, struct clk *clk_tx_i,
a69650e88a5551 Russell King (Oracle 2026-01-12 177) phy_interface_t interface, int speed)
a7c30e62d4b895 Vinod Koul 2019-01-21 178 {
a69650e88a5551 Russell King (Oracle 2026-01-12 179) struct qcom_ethqos *ethqos = bsp_priv;
98f9928843331f Russell King (Oracle 2025-02-21 180) long rate;
98f9928843331f Russell King (Oracle 2025-02-21 181)
a69650e88a5551 Russell King (Oracle 2026-01-12 182) if (!phy_interface_mode_is_rgmii(interface))
a69650e88a5551 Russell King (Oracle 2026-01-12 183) return 0;
26311cd112d05a Sarosh Hasan 2024-02-26 184
98f9928843331f Russell King (Oracle 2025-02-21 185) rate = rgmii_clock(speed);
98f9928843331f Russell King (Oracle 2025-02-21 186) if (rate > 0)
a69650e88a5551 Russell King (Oracle 2026-01-12 187) clk_set_rate(ethqos->link_clk, rate * 2);
a7c30e62d4b895 Vinod Koul 2019-01-21 @188 }
a7c30e62d4b895 Vinod Koul 2019-01-21 189 Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
kernel test robot
build botRe: [PATCH net-next 2/2] net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method
In reply to Russell King (Oracle)kernel test robot noticed the following build warnings:
Hi Russell,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Russell-King-Oracle/net-stmmac-qcom-ethqos-remove-mac_base/20260113-061245 base: net-next/main patch link: https://lore.kernel.org/r/E1vfMO1-00000002kJF-33UK%40rmk-PC.armlinux.org.uk patch subject: [PATCH net-next 2/2] net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20260113/[email protected]/config) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260113/[email protected]/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c:188:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
188 | }
| ^1 warning generated.
vim +188 drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
a7c30e62d4b895 Vinod Koul 2019-01-21 175
a69650e88a5551 Russell King (Oracle 2026-01-12 176) static int ethqos_set_clk_tx_rate(void *bsp_priv, struct clk *clk_tx_i,
a69650e88a5551 Russell King (Oracle 2026-01-12 177) phy_interface_t interface, int speed)
a7c30e62d4b895 Vinod Koul 2019-01-21 178 {
a69650e88a5551 Russell King (Oracle 2026-01-12 179) struct qcom_ethqos *ethqos = bsp_priv;
98f9928843331f Russell King (Oracle 2025-02-21 180) long rate;
98f9928843331f Russell King (Oracle 2025-02-21 181)
a69650e88a5551 Russell King (Oracle 2026-01-12 182) if (!phy_interface_mode_is_rgmii(interface))
a69650e88a5551 Russell King (Oracle 2026-01-12 183) return 0;
26311cd112d05a Sarosh Hasan 2024-02-26 184
98f9928843331f Russell King (Oracle 2025-02-21 185) rate = rgmii_clock(speed);
98f9928843331f Russell King (Oracle 2025-02-21 186) if (rate > 0)
a69650e88a5551 Russell King (Oracle 2026-01-12 187) clk_set_rate(ethqos->link_clk, rate * 2);
a7c30e62d4b895 Vinod Koul 2019-01-21 @188 }
a7c30e62d4b895 Vinod Koul 2019-01-21 189 Signature · 2 lines
0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki