All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Colin Foster <colin.foster@in-advantage.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Vivien Didelot <vivien.didelot@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	UNGLinuxDriver@microchip.com,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Lee Jones <lee@kernel.org>
Subject: Re: [RFC v1 net-next 6/8] net: dsa: felix: populate mac_capabilities for all ports
Date: Mon, 12 Sep 2022 09:48:36 +0100	[thread overview]
Message-ID: <Yx7yZESuK6Jh0Q8X@shell.armlinux.org.uk> (raw)
In-Reply-To: <20220911200244.549029-7-colin.foster@in-advantage.com>

On Sun, Sep 11, 2022 at 01:02:42PM -0700, Colin Foster wrote:
> phylink_generic_validate() requires that mac_capabilities is correctly
> populated. While no existing drivers have used phylink_generic_validate(),
> the ocelot_ext.c driver will. Populate this element so the use of existing
> functions is possible.

Ocelot always fills in the .phylink_validate method in struct
dsa_switch_ops, mac_capabilities won't be used as
phylink_generic_validate() will not be called by
dsa_port_phylink_validate().

Also "no existing drivers have used phylink_generic_validate()" I
wonder which drivers you are referring to there. If you are referring
to DSA drivers, then it is extensively used. The following is from
Linus' tree as of today:

$ grep -rl 'dsa_switch_ops' drivers/net/dsa | xargs grep -l phylink_mac_ | xargs grep -L phylink_validate
drivers/net/dsa/xrs700x/xrs700x.c
drivers/net/dsa/mt7530.c
drivers/net/dsa/qca/ar9331.c
drivers/net/dsa/qca/qca8k-8xxx.c
drivers/net/dsa/bcm_sf2.c
drivers/net/dsa/rzn1_a5psw.c
drivers/net/dsa/b53/b53_common.c
drivers/net/dsa/mv88e6xxx/chip.c
drivers/net/dsa/microchip/ksz_common.c
drivers/net/dsa/sja1105/sja1105_main.c
drivers/net/dsa/lantiq_gswip.c
drivers/net/dsa/realtek/rtl8366rb.c
drivers/net/dsa/realtek/rtl8365mb.c

So, I don't think the commit description is anywhere near correct.

Secondly, I don't see a purpose for this patch in the following
patches, as Ocelot continues to always fill in .phylink_validate,
and as I mentioned above, as long as that member is filled in,
mac_capabilities won't be used unless you explicitly call
phylink_generic_validate() in your .phylink_validate() callback.

Therefore, I think you can drop this patch from your series and
you won't see any functional change.

> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---
> 
> v1 from previous RFC:
>     * New patch
> 
> ---
>  drivers/net/dsa/ocelot/felix.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/dsa/ocelot/felix.c b/drivers/net/dsa/ocelot/felix.c
> index 95a5c5d0815c..201bf3bdd67d 100644
> --- a/drivers/net/dsa/ocelot/felix.c
> +++ b/drivers/net/dsa/ocelot/felix.c
> @@ -958,6 +958,9 @@ static void felix_phylink_get_caps(struct dsa_switch *ds, int port,
>  
>  	__set_bit(ocelot->ports[port]->phy_mode,
>  		  config->supported_interfaces);
> +
> +	config->mac_capabilities = MAC_SYM_PAUSE | MAC_ASYM_PAUSE | MAC_10 |
> +				   MAC_100 | MAC_1000FD | MAC_2500FD;
>  }
>  
>  static void felix_phylink_validate(struct dsa_switch *ds, int port,
> -- 
> 2.25.1
> 
> 

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

  reply	other threads:[~2022-09-12  8:49 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-11 20:02 [RFC v1 net-next 0/8] add support for the the vsc7512 internal copper phys Colin Foster
2022-09-11 20:02 ` [RFC v1 net-next 1/8] net: mscc: ocelot: expose ocelot wm functions Colin Foster
2022-09-11 20:02 ` [RFC v1 net-next 2/8] net: mscc: ocelot: expose regfield definition to be used by other drivers Colin Foster
2022-09-12 15:47   ` Vladimir Oltean
2022-09-16 17:44     ` Colin Foster
2022-09-16 22:36       ` Vladimir Oltean
2022-09-11 20:02 ` [RFC v1 net-next 3/8] net: mscc: ocelot: expose stats layout " Colin Foster
2022-09-11 20:02 ` [RFC v1 net-next 4/8] net: mscc: ocelot: expose vcap_props structure Colin Foster
2022-09-11 20:02 ` [RFC v1 net-next 5/8] net: dsa: felix: add configurable device quirks Colin Foster
2022-09-11 20:02 ` [RFC v1 net-next 6/8] net: dsa: felix: populate mac_capabilities for all ports Colin Foster
2022-09-12  8:48   ` Russell King (Oracle) [this message]
2022-09-12 10:16     ` Vladimir Oltean
2022-09-12 11:41       ` Vladimir Oltean
2022-09-12 15:32         ` Russell King (Oracle)
2022-09-12 15:35           ` Colin Foster
2022-09-12 15:47       ` Colin Foster
2022-09-12 15:52         ` Vladimir Oltean
2022-09-12 16:04           ` Colin Foster
2022-09-11 20:02 ` [RFC v1 net-next 7/8] mfd: ocelot: add regmaps for ocelot_ext Colin Foster
2022-09-12 17:08   ` Vladimir Oltean
2022-09-12 19:04     ` Colin Foster
2022-09-12 20:23       ` Vladimir Oltean
2022-09-12 21:03         ` Colin Foster
2022-09-12 21:53           ` Vladimir Oltean
2022-09-11 20:02 ` [RFC v1 net-next 8/8] net: dsa: ocelot: add external ocelot switch control Colin Foster
2022-09-12 10:51   ` Lee Jones
2022-09-12 15:31     ` Colin Foster
2022-09-12 17:21   ` Vladimir Oltean
2022-09-12 19:13     ` Colin Foster
2022-09-16 16:55     ` Colin Foster
2022-09-16 22:31       ` Vladimir Oltean
2022-09-16 23:10         ` Colin Foster
2022-09-20  2:58     ` Colin Foster

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=Yx7yZESuK6Jh0Q8X@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=colin.foster@in-advantage.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=vivien.didelot@gmail.com \
    --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.