* [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values
@ 2019-02-16 16:24 Heiner Kallweit
2019-02-16 16:26 ` [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t Heiner Kallweit
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Heiner Kallweit @ 2019-02-16 16:24 UTC (permalink / raw)
To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev
Similar to the existing helpers for the Clause 22 registers add helpers
to deal with converting Clause 45 advertisement registers to / from
link mode bitmaps.
Note that these helpers are defined in linux/mdio.h, not like the
Clause 22 helpers in linux/mii.h. Reason is that the Clause 45 register
constants are defined in uapi/linux/mdio.h. And uapi/linux/mdio.h
includes linux/mii.h before defining the C45 register constants.
v2:
- Remove few helpers which aren't used by this series. They will
follow together with the users.
Heiner Kallweit (2):
net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t
net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa
drivers/net/phy/phy-c45.c | 10 +---------
include/linux/mdio.h | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 9 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t
2019-02-16 16:24 [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values Heiner Kallweit
@ 2019-02-16 16:26 ` Heiner Kallweit
2019-02-17 2:35 ` Florian Fainelli
2019-02-16 16:26 ` [PATCH net-next v2 2/2] net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa Heiner Kallweit
2019-02-19 0:44 ` [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values David Miller
2 siblings, 1 reply; 7+ messages in thread
From: Heiner Kallweit @ 2019-02-16 16:26 UTC (permalink / raw)
To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev
Similar to the existing helpers for the Clause 22 registers add helper
mii_10gbt_stat_mod_linkmode_lpa_t.
Note that this helper is defined in linux/mdio.h, not like the
Clause 22 helpers in linux/mii.h. Reason is that the Clause 45 register
constants are defined in uapi/linux/mdio.h. And uapi/linux/mdio.h
includes linux/mii.h before defining the C45 register constants.
v2:
- remove helpers that don't have users in this series
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
include/linux/mdio.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/include/linux/mdio.h b/include/linux/mdio.h
index bfa711416..5b872c45f 100644
--- a/include/linux/mdio.h
+++ b/include/linux/mdio.h
@@ -261,6 +261,25 @@ static inline u16 ethtool_adv_to_mmd_eee_adv_t(u32 adv)
return reg;
}
+/**
+ * mii_10gbt_stat_mod_linkmode_lpa_t
+ * @advertising: target the linkmode advertisement settings
+ * @adv: value of the C45 10GBASE-T AN STATUS register
+ *
+ * A small helper function that translates C45 10GBASE-T AN STATUS register bits
+ * to linkmode advertisement settings. Other bits in advertising aren't changed.
+ */
+static inline void mii_10gbt_stat_mod_linkmode_lpa_t(unsigned long *advertising,
+ u32 lpa)
+{
+ linkmode_mod_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
+ advertising, lpa & MDIO_AN_10GBT_STAT_LP2_5G);
+ linkmode_mod_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
+ advertising, lpa & MDIO_AN_10GBT_STAT_LP5G);
+ linkmode_mod_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
+ advertising, lpa & MDIO_AN_10GBT_STAT_LP10G);
+}
+
int __mdiobus_read(struct mii_bus *bus, int addr, u32 regnum);
int __mdiobus_write(struct mii_bus *bus, int addr, u32 regnum, u16 val);
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH net-next v2 2/2] net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa
2019-02-16 16:24 [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values Heiner Kallweit
2019-02-16 16:26 ` [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t Heiner Kallweit
@ 2019-02-16 16:26 ` Heiner Kallweit
2019-02-17 2:35 ` Florian Fainelli
2019-02-19 0:44 ` [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values David Miller
2 siblings, 1 reply; 7+ messages in thread
From: Heiner Kallweit @ 2019-02-16 16:26 UTC (permalink / raw)
To: Andrew Lunn, Florian Fainelli, David Miller; +Cc: netdev
Use mii_10gbt_stat_mod_linkmode_lpa_t() in genphy_c45_read_lpa() to
simplify the code.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/net/phy/phy-c45.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
index 7af5fa81d..bef126344 100644
--- a/drivers/net/phy/phy-c45.c
+++ b/drivers/net/phy/phy-c45.c
@@ -204,15 +204,7 @@ int genphy_c45_read_lpa(struct phy_device *phydev)
if (val < 0)
return val;
- if (val & MDIO_AN_10GBT_STAT_LP2_5G)
- linkmode_set_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
- phydev->lp_advertising);
- if (val & MDIO_AN_10GBT_STAT_LP5G)
- linkmode_set_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
- phydev->lp_advertising);
- if (val & MDIO_AN_10GBT_STAT_LP10G)
- linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
- phydev->lp_advertising);
+ mii_10gbt_stat_mod_linkmode_lpa_t(phydev->lp_advertising, val);
return 0;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t
2019-02-16 16:26 ` [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t Heiner Kallweit
@ 2019-02-17 2:35 ` Florian Fainelli
2019-02-17 8:02 ` Heiner Kallweit
0 siblings, 1 reply; 7+ messages in thread
From: Florian Fainelli @ 2019-02-17 2:35 UTC (permalink / raw)
To: Heiner Kallweit, Andrew Lunn, David Miller; +Cc: netdev
On 2/16/2019 8:26 AM, Heiner Kallweit wrote:
> Similar to the existing helpers for the Clause 22 registers add helper
> mii_10gbt_stat_mod_linkmode_lpa_t.
>
> Note that this helper is defined in linux/mdio.h, not like the
> Clause 22 helpers in linux/mii.h. Reason is that the Clause 45 register
> constants are defined in uapi/linux/mdio.h. And uapi/linux/mdio.h
> includes linux/mii.h before defining the C45 register constants.
Nit: this also processes 2.5G and 5G but I can't suggest a better name,
so this is as good as any.
>
> v2:
> - remove helpers that don't have users in this series
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next v2 2/2] net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa
2019-02-16 16:26 ` [PATCH net-next v2 2/2] net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa Heiner Kallweit
@ 2019-02-17 2:35 ` Florian Fainelli
0 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2019-02-17 2:35 UTC (permalink / raw)
To: Heiner Kallweit, Andrew Lunn, David Miller; +Cc: netdev
On 2/16/2019 8:26 AM, Heiner Kallweit wrote:
> Use mii_10gbt_stat_mod_linkmode_lpa_t() in genphy_c45_read_lpa() to
> simplify the code.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t
2019-02-17 2:35 ` Florian Fainelli
@ 2019-02-17 8:02 ` Heiner Kallweit
0 siblings, 0 replies; 7+ messages in thread
From: Heiner Kallweit @ 2019-02-17 8:02 UTC (permalink / raw)
To: Florian Fainelli, Andrew Lunn, David Miller; +Cc: netdev
On 17.02.2019 03:35, Florian Fainelli wrote:
>
>
> On 2/16/2019 8:26 AM, Heiner Kallweit wrote:
>> Similar to the existing helpers for the Clause 22 registers add helper
>> mii_10gbt_stat_mod_linkmode_lpa_t.
>>
>> Note that this helper is defined in linux/mdio.h, not like the
>> Clause 22 helpers in linux/mii.h. Reason is that the Clause 45 register
>> constants are defined in uapi/linux/mdio.h. And uapi/linux/mdio.h
>> includes linux/mii.h before defining the C45 register constants.
>
> Nit: this also processes 2.5G and 5G but I can't suggest a better name,
> so this is as good as any.
>
I also thought about this and eventually decided to go with the register
name from the Clause 45 (2015) spec. Not sure whether there's a newer
version, but even if I (after 802.3bz was established) doubt that they
would rename a register.
>>
>> v2:
>> - remove helpers that don't have users in this series
>>
>> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
>
> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values
2019-02-16 16:24 [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values Heiner Kallweit
2019-02-16 16:26 ` [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t Heiner Kallweit
2019-02-16 16:26 ` [PATCH net-next v2 2/2] net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa Heiner Kallweit
@ 2019-02-19 0:44 ` David Miller
2 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2019-02-19 0:44 UTC (permalink / raw)
To: hkallweit1; +Cc: andrew, f.fainelli, netdev
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sat, 16 Feb 2019 17:24:58 +0100
> Similar to the existing helpers for the Clause 22 registers add helpers
> to deal with converting Clause 45 advertisement registers to / from
> link mode bitmaps.
>
> Note that these helpers are defined in linux/mdio.h, not like the
> Clause 22 helpers in linux/mii.h. Reason is that the Clause 45 register
> constants are defined in uapi/linux/mdio.h. And uapi/linux/mdio.h
> includes linux/mii.h before defining the C45 register constants.
>
> v2:
> - Remove few helpers which aren't used by this series. They will
> follow together with the users.
Series applied with fuzz on patch #1 :-)))))
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-02-19 0:44 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-16 16:24 [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values Heiner Kallweit
2019-02-16 16:26 ` [PATCH net-next v2 1/2] net: phy: add helper mii_10gbt_stat_mod_linkmode_lpa_t Heiner Kallweit
2019-02-17 2:35 ` Florian Fainelli
2019-02-17 8:02 ` Heiner Kallweit
2019-02-16 16:26 ` [PATCH net-next v2 2/2] net: phy: use mii_10gbt_stat_mod_linkmode_lpa_t in genphy_c45_read_lpa Heiner Kallweit
2019-02-17 2:35 ` Florian Fainelli
2019-02-19 0:44 ` [PATCH net-next v2 0/2] net: phy: add helpers for handling C45 10GBT AN register values David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).