Message ID | E1qfiqi-007TPS-BZ@rmk-PC.armlinux.org.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: stmmac: add and use library for setting clock | expand |
On Mon, Sep 11, 2023 at 04:29:16PM +0100, Russell King (Oracle) wrote: > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > --- > .../net/ethernet/stmicro/stmmac/dwmac-imx.c | 27 ++++++------------- > 1 file changed, 8 insertions(+), 19 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c > index df34e34cc14f..d2569faf7cc3 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c > @@ -21,6 +21,7 @@ > #include <linux/stmmac.h> > > #include "stmmac_platform.h" > +#include "stmmac_plat_lib.h" > > #define GPR_ENET_QOS_INTF_MODE_MASK GENMASK(21, 16) > #define GPR_ENET_QOS_INTF_SEL_MII (0x0 << 16) > @@ -186,7 +187,6 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod > { > struct plat_stmmacenet_data *plat_dat; > struct imx_priv_data *dwmac = priv; > - unsigned long rate; > int err; > > plat_dat = dwmac->plat_dat; > @@ -196,24 +196,13 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod > (plat_dat->mac_interface == PHY_INTERFACE_MODE_MII)) > return; > > - switch (speed) { > - case SPEED_1000: > - rate = 125000000; > - break; > - case SPEED_100: > - rate = 25000000; > - break; > - case SPEED_10: > - rate = 2500000; > - break; > - default: > - dev_err(dwmac->dev, "invalid speed %u\n", speed); > - return; > - } > - > - err = clk_set_rate(dwmac->clk_tx, rate); > - if (err < 0) > - dev_err(dwmac->dev, "failed to set tx rate %lu\n", rate); > + err = dwmac_set_tx_clk_gmii(dwmac->clk_tx, speed); > + if (err == -ENOTSUPP) > + dev_err(dwmac->dev, "invalid speed %dMbps\n", speed); The 'speed' variable is of the unsigned int type so the type qualifier is supposed to be "%u" here. > + else if (err) > + dev_err(dwmac->dev, > + "failed to set tx rate for speed %dMbps: %pe\n", ditto -Serge(y) > + speed, ERR_PTR(err)); > } > > static void imx93_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mode) > -- > 2.30.2 > >
On Mon, Sep 11, 2023 at 04:29:16PM +0100, Russell King (Oracle) wrote: > Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> BTW I don't know whether it's ok to have an empty description in the patches for the networking subsystem, but the kernel maintainers mainly request to add at least some text with the change justification especially seeing the submitting-patches.rst doc says the description is mandatory. -Serge(y) > --- > .../net/ethernet/stmicro/stmmac/dwmac-imx.c | 27 ++++++------------- > 1 file changed, 8 insertions(+), 19 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c > index df34e34cc14f..d2569faf7cc3 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c > @@ -21,6 +21,7 @@ > #include <linux/stmmac.h> > > #include "stmmac_platform.h" > +#include "stmmac_plat_lib.h" > > #define GPR_ENET_QOS_INTF_MODE_MASK GENMASK(21, 16) > #define GPR_ENET_QOS_INTF_SEL_MII (0x0 << 16) > @@ -186,7 +187,6 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod > { > struct plat_stmmacenet_data *plat_dat; > struct imx_priv_data *dwmac = priv; > - unsigned long rate; > int err; > > plat_dat = dwmac->plat_dat; > @@ -196,24 +196,13 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod > (plat_dat->mac_interface == PHY_INTERFACE_MODE_MII)) > return; > > - switch (speed) { > - case SPEED_1000: > - rate = 125000000; > - break; > - case SPEED_100: > - rate = 25000000; > - break; > - case SPEED_10: > - rate = 2500000; > - break; > - default: > - dev_err(dwmac->dev, "invalid speed %u\n", speed); > - return; > - } > - > - err = clk_set_rate(dwmac->clk_tx, rate); > - if (err < 0) > - dev_err(dwmac->dev, "failed to set tx rate %lu\n", rate); > + err = dwmac_set_tx_clk_gmii(dwmac->clk_tx, speed); > + if (err == -ENOTSUPP) > + dev_err(dwmac->dev, "invalid speed %dMbps\n", speed); > + else if (err) > + dev_err(dwmac->dev, > + "failed to set tx rate for speed %dMbps: %pe\n", > + speed, ERR_PTR(err)); > } > > static void imx93_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mode) > -- > 2.30.2 > >
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c index df34e34cc14f..d2569faf7cc3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c @@ -21,6 +21,7 @@ #include <linux/stmmac.h> #include "stmmac_platform.h" +#include "stmmac_plat_lib.h" #define GPR_ENET_QOS_INTF_MODE_MASK GENMASK(21, 16) #define GPR_ENET_QOS_INTF_SEL_MII (0x0 << 16) @@ -186,7 +187,6 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod { struct plat_stmmacenet_data *plat_dat; struct imx_priv_data *dwmac = priv; - unsigned long rate; int err; plat_dat = dwmac->plat_dat; @@ -196,24 +196,13 @@ static void imx_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mod (plat_dat->mac_interface == PHY_INTERFACE_MODE_MII)) return; - switch (speed) { - case SPEED_1000: - rate = 125000000; - break; - case SPEED_100: - rate = 25000000; - break; - case SPEED_10: - rate = 2500000; - break; - default: - dev_err(dwmac->dev, "invalid speed %u\n", speed); - return; - } - - err = clk_set_rate(dwmac->clk_tx, rate); - if (err < 0) - dev_err(dwmac->dev, "failed to set tx rate %lu\n", rate); + err = dwmac_set_tx_clk_gmii(dwmac->clk_tx, speed); + if (err == -ENOTSUPP) + dev_err(dwmac->dev, "invalid speed %dMbps\n", speed); + else if (err) + dev_err(dwmac->dev, + "failed to set tx rate for speed %dMbps: %pe\n", + speed, ERR_PTR(err)); } static void imx93_dwmac_fix_speed(void *priv, unsigned int speed, unsigned int mode)
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> --- .../net/ethernet/stmicro/stmmac/dwmac-imx.c | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-)