All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ioana Ciornei <ioana.ciornei@nxp.com>
To: Russell King <rmk+kernel@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Heiner Kallweit <hkallweit1@gmail.com>
Cc: Vladimir Oltean <vladimir.oltean@nxp.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Alexandru Marginean <alexandru.marginean@nxp.com>,
	"michael@walle.cc" <michael@walle.cc>,
	"olteanv@gmail.com" <olteanv@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: RE: [PATCH RFC net-next 13/13] net: phylink: add interface to configure clause 22 PCS PHY
Date: Wed, 1 Jul 2020 10:52:37 +0000	[thread overview]
Message-ID: <VI1PR0402MB3871E5BCC2C7473BF67539E0E06C0@VI1PR0402MB3871.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <E1jqHGT-0006Qb-Ld@rmk-PC.armlinux.org.uk>

> Subject: [PATCH RFC net-next 13/13] net: phylink: add interface to configure
> clause 22 PCS PHY
> 
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> ---

Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>


>  drivers/net/phy/phylink.c | 37 +++++++++++++++++++++++++++++++++++++
>  include/linux/phylink.h   |  3 +++
>  2 files changed, 40 insertions(+)
> 
> diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index
> fbc8591b474b..d6c5e900a2f1 100644
> --- a/drivers/net/phy/phylink.c
> +++ b/drivers/net/phy/phylink.c
> @@ -2435,6 +2435,43 @@ int phylink_mii_c22_pcs_set_advertisement(struct
> mdio_device *pcs,  }
> EXPORT_SYMBOL_GPL(phylink_mii_c22_pcs_set_advertisement);
> 
> +/**
> + * phylink_mii_c22_pcs_config() - configure clause 22 PCS
> + * @pcs: a pointer to a &struct mdio_device.
> + * @mode: link autonegotiation mode
> + * @interface: the PHY interface mode being configured
> + * @advertising: the ethtool advertisement mask
> + *
> + * Configure a Clause 22 PCS PHY with the appropriate negotiation
> + * parameters for the @mode, @interface and @advertising parameters.
> + * Returns negative error number on failure, zero if the advertisement
> + * has not changed, or positive if there is a change.
> + */
> +int phylink_mii_c22_pcs_config(struct mdio_device *pcs, unsigned int mode,
> +			       phy_interface_t interface,
> +			       const unsigned long *advertising) {
> +	bool changed;
> +	u16 bmcr;
> +	int ret;
> +
> +	ret = phylink_mii_c22_pcs_set_advertisement(pcs, interface,
> +						    advertising);
> +	if (ret < 0)
> +		return ret;
> +
> +	changed = ret > 0;
> +
> +	bmcr = mode == MLO_AN_INBAND ? BMCR_ANENABLE : 0;
> +	ret = mdiobus_modify(pcs->bus, pcs->addr, MII_BMCR,
> +			     BMCR_ANENABLE, bmcr);
> +	if (ret < 0)
> +		return ret;
> +
> +	return changed ? 1 : 0;
> +}
> +EXPORT_SYMBOL_GPL(phylink_mii_c22_pcs_config);
> +
>  /**
>   * phylink_mii_c22_pcs_an_restart() - restart 802.3z autonegotiation
>   * @pcs: a pointer to a &struct mdio_device.
> diff --git a/include/linux/phylink.h b/include/linux/phylink.h index
> 057f78263a46..1aad2aea4610 100644
> --- a/include/linux/phylink.h
> +++ b/include/linux/phylink.h
> @@ -478,6 +478,9 @@ void phylink_mii_c22_pcs_get_state(struct mdio_device
> *pcs,  int phylink_mii_c22_pcs_set_advertisement(struct mdio_device *pcs,
>  					  phy_interface_t interface,
>  					  const unsigned long *advertising);
> +int phylink_mii_c22_pcs_config(struct mdio_device *pcs, unsigned int mode,
> +			       phy_interface_t interface,
> +			       const unsigned long *advertising);
>  void phylink_mii_c22_pcs_an_restart(struct mdio_device *pcs);
> 
>  void phylink_mii_c45_pcs_get_state(struct mdio_device *pcs,
> --
> 2.20.1


  reply	other threads:[~2020-07-01 10:52 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30 14:27 [PATCH RFC net-next 00/13] Phylink PCS updates Russell King - ARM Linux admin
2020-06-30 14:28 ` [PATCH RFC net-next 01/13] net: phylink: update ethtool reporting for fixed-link modes Russell King
2020-06-30 18:15   ` Florian Fainelli
2020-06-30 14:28 ` [PATCH RFC net-next 02/13] net: phylink: rejig link state tracking Russell King
2020-06-30 18:15   ` Florian Fainelli
2020-06-30 14:28 ` [PATCH RFC net-next 03/13] net: phylink: rearrange resolve mac_config() call Russell King
2020-06-30 18:32   ` Florian Fainelli
2020-06-30 14:28 ` [PATCH RFC net-next 04/13] net: phylink: ensure link is down when changing interface Russell King
2020-06-30 18:32   ` Florian Fainelli
2020-06-30 14:28 ` [PATCH RFC net-next 05/13] net: phylink: update PCS when changing interface during resolution Russell King
2020-06-30 18:33   ` Florian Fainelli
2020-06-30 14:29 ` [PATCH RFC net-next 06/13] net: phylink: avoid mac_config calls Russell King
2020-06-30 19:04   ` Florian Fainelli
2020-06-30 14:29 ` [PATCH RFC net-next 07/13] net: phylink: simplify ksettings_set() implementation Russell King
2020-07-20 10:24   ` Ioana Ciornei
2020-06-30 14:29 ` [PATCH RFC net-next 08/13] net: phylink: simplify phy case for ksettings_set method Russell King
2020-07-20 10:44   ` Ioana Ciornei
2020-07-20 12:45     ` Russell King - ARM Linux admin
2020-06-30 14:29 ` [PATCH RFC net-next 09/13] net: phylink: simplify fixed-link " Russell King
2020-07-20 10:52   ` Ioana Ciornei
2020-06-30 14:29 ` [PATCH RFC net-next 10/13] net: phylink: in-band pause mode advertisement update for PCS Russell King
2020-06-30 16:19   ` Jakub Kicinski
2020-06-30 14:29 ` [PATCH RFC net-next 11/13] net: phylink: re-implement interface configuration with PCS Russell King
2020-07-20 11:40   ` Ioana Ciornei
2020-07-20 12:44     ` Russell King - ARM Linux admin
2020-07-20 13:02       ` Ioana Ciornei
2020-07-20 14:19         ` Russell King - ARM Linux admin
2020-06-30 14:29 ` [PATCH RFC net-next 12/13] net: phylink: add struct phylink_pcs Russell King
2020-07-01 10:47   ` Vladimir Oltean
2020-07-01 11:16     ` Russell King - ARM Linux admin
2020-07-01 11:24       ` Vladimir Oltean
2020-07-20 15:50   ` Ioana Ciornei
2020-07-20 16:26     ` Russell King - ARM Linux admin
2020-07-20 16:59       ` Ioana Ciornei
2020-07-20 18:16         ` Russell King - ARM Linux admin
2020-06-30 14:29 ` [PATCH RFC net-next 13/13] net: phylink: add interface to configure clause 22 PCS PHY Russell King
2020-07-01 10:52   ` Ioana Ciornei [this message]
2020-07-14  8:49 ` [PATCH RFC net-next 00/13] Phylink PCS updates Vladimir Oltean
2020-07-14 13:18   ` Russell King - ARM Linux admin
2020-07-14 21:22     ` Florian Fainelli
2020-07-15  9:53       ` Russell King - ARM Linux admin
2020-07-14 23:46     ` Vladimir Oltean
2020-07-15 11:21       ` Russell King - ARM Linux admin
2020-07-15 11:34         ` Russell King - ARM Linux admin
2020-07-15 12:31           ` Vladimir Oltean
2020-07-15 14:20             ` Andrew Lunn
2020-07-15 17:02             ` Russell King - ARM Linux admin

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=VI1PR0402MB3871E5BCC2C7473BF67539E0E06C0@VI1PR0402MB3871.eurprd04.prod.outlook.com \
    --to=ioana.ciornei@nxp.com \
    --cc=alexandru.marginean@nxp.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=kuba@kernel.org \
    --cc=michael@walle.cc \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=vladimir.oltean@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.