From: Andrew Lunn <andrew@lunn•ch>
To: Heiner Kallweit <hkallweit1@gmail•com>
Cc: Florian Fainelli <f.fainelli@gmail•com>,
David Miller <davem@davemloft•net>,
"netdev@vger•kernel.org" <netdev@vger•kernel.org>
Subject: Re: [PATCH net-next 1/3] net: phy: prepare phylib to deal with PHY's extending Clause 22
Date: Thu, 8 Aug 2019 21:32:43 +0200 [thread overview]
Message-ID: <20190808193243.GK27917@lunn.ch> (raw)
In-Reply-To: <214bedc0-4ae0-b15f-e03c-173f17527417@gmail.com>
On Thu, Aug 08, 2019 at 09:03:42PM +0200, Heiner Kallweit wrote:
> The integrated PHY in 2.5Gbps chip RTL8125 is the first (known to me)
> PHY that uses standard Clause 22 for all modes up to 1Gbps and adds
> 2.5Gbps control using vendor-specific registers. To use phylib for
> the standard part little extensions are needed:
> - Move most of genphy_config_aneg to a new function
> __genphy_config_aneg that takes a parameter whether restarting
> auto-negotiation is needed (depending on whether content of
> vendor-specific advertisement register changed).
> - Don't clear phydev->lp_advertising in genphy_read_status so that
> we can set non-C22 mode flags before.
>
> Basically both changes mimic the behavior of the equivalent Clause 45
> functions.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail•com>
> ---
> drivers/net/phy/phy_device.c | 35 +++++++++++++++--------------------
> include/linux/phy.h | 8 +++++++-
> 2 files changed, 22 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> index 7ddd91df9..bd7e7db8c 100644
> --- a/drivers/net/phy/phy_device.c
> +++ b/drivers/net/phy/phy_device.c
> @@ -1571,11 +1571,9 @@ static int genphy_config_advert(struct phy_device *phydev)
> /* Only allow advertising what this PHY supports */
> linkmode_and(phydev->advertising, phydev->advertising,
> phydev->supported);
> - if (!ethtool_convert_link_mode_to_legacy_u32(&advertise,
> - phydev->advertising))
> - phydev_warn(phydev, "PHY advertising (%*pb) more modes than genphy supports, some modes not advertised.\n",
> - __ETHTOOL_LINK_MODE_MASK_NBITS,
> - phydev->advertising);
> +
> + ethtool_convert_link_mode_to_legacy_u32(&advertise,
> + phydev->advertising);
Hi Heiner
linkmode_adv_to_mii_adv_t() would remove the need to use
ethtool_convert_link_mode_to_legacy_u32(), and this warning would also
go away.
Andrew
next prev parent reply other threads:[~2019-08-08 19:32 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-08 19:02 [PATCH net-next 0/3] net: phy: realtek: add support for integrated 2.5Gbps PHY in RTL8125 Heiner Kallweit
2019-08-08 19:03 ` [PATCH net-next 1/3] net: phy: prepare phylib to deal with PHY's extending Clause 22 Heiner Kallweit
2019-08-08 19:32 ` Andrew Lunn [this message]
2019-08-08 20:09 ` Heiner Kallweit
2019-08-08 19:04 ` [PATCH net-next 2/3] net: phy: add phy_modify_paged_changed Heiner Kallweit
2019-08-08 19:05 ` [PATCH net-next 3/3] net: phy: realtek: add support for the 2.5Gbps PHY in RTL8125 Heiner Kallweit
2019-08-08 19:37 ` Andrew Lunn
2019-08-08 19:46 ` Heiner Kallweit
2019-08-08 20:20 ` Andrew Lunn
2019-08-08 20:24 ` Heiner Kallweit
2019-09-02 2:07 ` Florian Fainelli
2019-09-02 6:07 ` Heiner Kallweit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190808193243.GK27917@lunn.ch \
--to=andrew@lunn$(echo .)ch \
--cc=davem@davemloft$(echo .)net \
--cc=f.fainelli@gmail$(echo .)com \
--cc=hkallweit1@gmail$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox