Re: [PATCH 4/7] net: stmmac: introducing support for DWC xPCS logics

From: Andrew Lunn
Date: Thu Apr 25 2019 - 08:22:46 EST


> >> >> +/* MII MMD AN Status defines for C37 AN SGMII Status */
> >> >> +#define AN_STAT_C37_AN_CMPLT BIT(0) /* AN
> >Complete Intr */
> >> >> +#define AN_STAT_C37_AN_FD BIT(1) /* Full Duplex */
> >> >> +#define AN_STAT_C37_AN_SPEED_SHIFT 2 /* AN Speed shift */
> >> >> +#define AN_STAT_C37_AN_SPEED GENMASK(3, 2) /* AN
> >Speed */
> >> >> +#define AN_STAT_C37_AN_10MBPS 0x0 /* 10 Mbps */
> >> >> +#define AN_STAT_C37_AN_100MBPS 0x1 /* 100 Mbps
> >> >*/
> >> >> +#define AN_STAT_C37_AN_1000MBPS 0x2 /* 1000 Mbps
> >> >*/
> >> >> +#define AN_STAT_C37_AN_LNKSTS BIT(4) /* Link Status
> >*/
> >> >
> >> >Is these are standardized, not proprietary, consider adding them to
> >> >include/uapi/linux/mii.h so similar.
> >>
> >> Yeah, it does look very standardized. However, per DW spec, they are
> >> vendor-specific register set which uses MDIO_MMD_VEND2 to access.
> >
> >Maybe you can go get the 802.3 standard and check section 37. If these
> >registers are the same, they could still be placed in mii.h. What MMD
> >you use is a different matter.
> >
> I cross-checked on 802.3 section 37.2.5.1 Management registers, the spec only
> talks about BMSR and extended status. I also checked on 802.3 section 45.2
> MDIO interface registers, section 45.2.7 AN registers, section 45.2.9 &
> 45.2.10 Vendor specific MMD1 & MMD2, there are no field format that
> matches the above bit fields. So, it should be reasonable to park these #defines
> in this local file for now.

Thanks for checking the standards. If these don't actually represent
anything from C37, maybe you should change the name to avoid
confusion. s/C37/SGMII/g ?

Thanks
Andrew