diff mbox series

[net,v1] net: phy: micrel: Correct bit assignment for MICREL_KSZ8_P1_ERRATA flag

Message ID 20230831110427.3551432-1-o.rempel@pengutronix.de (mailing list archive)
State Changes Requested
Delegated to: Netdev Maintainers
Headers show
Series [net,v1] net: phy: micrel: Correct bit assignment for MICREL_KSZ8_P1_ERRATA flag | expand

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 1369 this patch: 1369
netdev/cc_maintainers warning 2 maintainers not CCed: michael@walle.cc horatiu.vultur@microchip.com
netdev/build_clang success Errors and warnings before: 1353 this patch: 1353
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 1392 this patch: 1392
netdev/checkpatch warning WARNING: Please use correct Fixes: style 'Fixes: <12 chars of sha1> ("<title line>")' - ie: 'Fixes: 49011e0c1555 ("net: phy: micrel: ksz886x/ksz8081: add cabletest support")'
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Oleksij Rempel Aug. 31, 2023, 11:04 a.m. UTC
The previous assignment of the phy_device quirk for the
MICREL_KSZ8_P1_ERRATA flag was incorrect, working only due to
coincidental conditions. Specifically:

- The flag MICREL_KSZ8_P1_ERRATA, intended for KSZ88xx switches, was
  mistakenly overlapping with the MICREL_PHY_FXEN and
  MICREL_PHY_50MHZ_CLK flags.
- MICREL_PHY_FXEN is used by the KSZ8041 PHY, and its related code path
  wasn't executed for KSZ88xx PHYs and other way around.
- Additionally, the code path associated with the MICREL_PHY_50MHZ_CLK
  flag wasn't executed for KSZ88xx either.

Fixes: 49011e0c1555d ("net: phy: micrel: ksz886x/ksz8081: add cabletest support")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 include/linux/micrel_phy.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Russell King (Oracle) Aug. 31, 2023, 11:20 a.m. UTC | #1
On Thu, Aug 31, 2023 at 01:04:27PM +0200, Oleksij Rempel wrote:
> The previous assignment of the phy_device quirk for the
> MICREL_KSZ8_P1_ERRATA flag was incorrect, working only due to
> coincidental conditions. Specifically:
> 
> - The flag MICREL_KSZ8_P1_ERRATA, intended for KSZ88xx switches, was
>   mistakenly overlapping with the MICREL_PHY_FXEN and
>   MICREL_PHY_50MHZ_CLK flags.
> - MICREL_PHY_FXEN is used by the KSZ8041 PHY, and its related code path
>   wasn't executed for KSZ88xx PHYs and other way around.
> - Additionally, the code path associated with the MICREL_PHY_50MHZ_CLK
>   flag wasn't executed for KSZ88xx either.
> 
> Fixes: 49011e0c1555d ("net: phy: micrel: ksz886x/ksz8081: add cabletest support")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  include/linux/micrel_phy.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
> index 8bef1ab62bba3..0cedbeb9167c3 100644
> --- a/include/linux/micrel_phy.h
> +++ b/include/linux/micrel_phy.h
> @@ -43,7 +43,7 @@
>  /* struct phy_device dev_flags definitions */
>  #define MICREL_PHY_50MHZ_CLK	0x00000001
>  #define MICREL_PHY_FXEN		0x00000002
> -#define MICREL_KSZ8_P1_ERRATA	0x00000003
> +#define MICREL_KSZ8_P1_ERRATA	BIT(3)

Please can you also convert the other two flags to use BIT() as well to
make the entire thing explicitly bit-orientated? Thanks.
Oleksij Rempel Aug. 31, 2023, 11:23 a.m. UTC | #2
On Thu, Aug 31, 2023 at 12:20:17PM +0100, Russell King (Oracle) wrote:
> On Thu, Aug 31, 2023 at 01:04:27PM +0200, Oleksij Rempel wrote:
> > The previous assignment of the phy_device quirk for the
> > MICREL_KSZ8_P1_ERRATA flag was incorrect, working only due to
> > coincidental conditions. Specifically:
> > 
> > - The flag MICREL_KSZ8_P1_ERRATA, intended for KSZ88xx switches, was
> >   mistakenly overlapping with the MICREL_PHY_FXEN and
> >   MICREL_PHY_50MHZ_CLK flags.
> > - MICREL_PHY_FXEN is used by the KSZ8041 PHY, and its related code path
> >   wasn't executed for KSZ88xx PHYs and other way around.
> > - Additionally, the code path associated with the MICREL_PHY_50MHZ_CLK
> >   flag wasn't executed for KSZ88xx either.
> > 
> > Fixes: 49011e0c1555d ("net: phy: micrel: ksz886x/ksz8081: add cabletest support")
> > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> > ---
> >  include/linux/micrel_phy.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
> > index 8bef1ab62bba3..0cedbeb9167c3 100644
> > --- a/include/linux/micrel_phy.h
> > +++ b/include/linux/micrel_phy.h
> > @@ -43,7 +43,7 @@
> >  /* struct phy_device dev_flags definitions */
> >  #define MICREL_PHY_50MHZ_CLK	0x00000001
> >  #define MICREL_PHY_FXEN		0x00000002
> > -#define MICREL_KSZ8_P1_ERRATA	0x00000003
> > +#define MICREL_KSZ8_P1_ERRATA	BIT(3)
> 
> Please can you also convert the other two flags to use BIT() as well to
> make the entire thing explicitly bit-orientated? Thanks.

Ack. This patch is for the net. The cleanup will got to the net-next.
Except clean up will be accepted for the net too?

Regards,
Oleksij
Jakub Kicinski Sept. 1, 2023, 1:33 a.m. UTC | #3
On Thu, 31 Aug 2023 13:23:42 +0200 Oleksij Rempel wrote:
> > >  /* struct phy_device dev_flags definitions */
> > >  #define MICREL_PHY_50MHZ_CLK	0x00000001
> > >  #define MICREL_PHY_FXEN		0x00000002
> > > -#define MICREL_KSZ8_P1_ERRATA	0x00000003
> > > +#define MICREL_KSZ8_P1_ERRATA	BIT(3)  
> > 
> > Please can you also convert the other two flags to use BIT() as well to
> > make the entire thing explicitly bit-orientated? Thanks.  
> 
> Ack. This patch is for the net. The cleanup will got to the net-next.
> Except clean up will be accepted for the net too?

The change is simple enough, you can convert all three bits in the fix.
The commit message could more explicitly say that these defines are
supposed to be masks not bit positions, tho.
diff mbox series

Patch

diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
index 8bef1ab62bba3..0cedbeb9167c3 100644
--- a/include/linux/micrel_phy.h
+++ b/include/linux/micrel_phy.h
@@ -43,7 +43,7 @@ 
 /* struct phy_device dev_flags definitions */
 #define MICREL_PHY_50MHZ_CLK	0x00000001
 #define MICREL_PHY_FXEN		0x00000002
-#define MICREL_KSZ8_P1_ERRATA	0x00000003
+#define MICREL_KSZ8_P1_ERRATA	BIT(3)
 
 #define MICREL_KSZ9021_EXTREG_CTRL	0xB
 #define MICREL_KSZ9021_EXTREG_DATA_WRITE	0xC