All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Ansuel Smith <ansuelsmth@gmail.com>, Andrew Lunn <andrew@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org, Vivien Didelot <vivien.didelot@gmail.com>
Subject: Re: [PATCH net-next v2 1/6] net: dsa: add support for phylink mac_select_pcs()
Date: Mon, 21 Feb 2022 16:38:35 +0000	[thread overview]
Message-ID: <YhPACwMPz22FmpWz@shell.armlinux.org.uk> (raw)
In-Reply-To: <20220221145540.ek375azxukz3nrvj@skbuf>

On Mon, Feb 21, 2022 at 04:55:40PM +0200, Vladimir Oltean wrote:
> On Mon, Feb 21, 2022 at 02:44:34PM +0000, Russell King (Oracle) wrote:
> > > *and as I haven't considered, to be honest. When phylink_major_config()
> > > gets called after a SGMII to 10GBaseR switchover, and mac_select_pcs is
> > > called and returns NULL, the current behavior is to keep working with
> > > the PCS for SGMII. Is that intended?
> > 
> > It was not originally intended, but as a result of the discussion
> > around this patch which didn't go anywhere useful, I dropped it as
> > a means to a path of least resistance.
> > 
> > https://patchwork.kernel.org/project/linux-arm-kernel/patch/E1mpSba-00BXp6-9e@rmk-PC.armlinux.org.uk/
> 
> Oh, but that patch didn't close exactly this condition that we're
> talking about here, did it? It allows phylink_set_pcs() to be called
> with NULL, but phylink_major_config() still has the non-NULL check,
> which prevents it from having any effect in this scenario:
> 
> 	/* If we have a new PCS, switch to the new PCS after preparing the MAC
> 	 * for the change.
> 	 */
> 	if (pcs)
> 		phylink_set_pcs(pl, pcs);
> 
> I re-read the conversation and I still don't see this argument being
> given, otherwise I wouldn't have opposed...

The reason for that condition above is to avoid disrupting the case
where drivers which do not (yet) provide a mac_select_pcs()
implementation (therefore  pcs will be NULL here) but instead register
their PCS by calling phylink_set_pcs() immediately after a call to
phylink_create(). If the above call to phylink_set_pcs() was
unconditional, then:

1) it would break these existing drivers,
2) we would definitely need to make phylink_set_pcs() safe to call
   with a NULL pcs argument to avoid crashing when in e.g. pcs-less
   modes.

If that usage was eliminated, then the problem goes away... but that
means changing drivers, and changing drivers is always a long hard
slog that takes months and several kernel cycles to do.

-- 
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-02-21 16:39 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-17 18:29 [PATCH net-next v2 0/6] net: dsa: qca8k: convert to phylink_pcs and mark as non-legacy Russell King (Oracle)
2022-02-17 18:30 ` [PATCH net-next v2 1/6] net: dsa: add support for phylink mac_select_pcs() Russell King (Oracle)
2022-02-19 21:12   ` Vladimir Oltean
2022-02-19 21:22     ` Vladimir Oltean
2022-02-21 13:30       ` Russell King (Oracle)
2022-02-21 14:15         ` Russell King (Oracle)
2022-02-21 14:41           ` Vladimir Oltean
2022-02-21 14:32         ` Vladimir Oltean
2022-02-21 14:44           ` Russell King (Oracle)
2022-02-21 14:55             ` Vladimir Oltean
2022-02-21 16:38               ` Russell King (Oracle) [this message]
2022-02-17 18:30 ` [PATCH net-next v2 2/6] net: dsa: qca8k: move qca8k_setup() Russell King (Oracle)
2022-02-17 18:30 ` [PATCH net-next v2 3/6] net: dsa: qca8k: move qca8k_phylink_mac_link_state() Russell King (Oracle)
2022-02-17 18:30 ` [PATCH net-next v2 4/6] net: dsa: qca8k: convert to use phylink_pcs Russell King (Oracle)
2022-02-17 18:30 ` [PATCH net-next v2 5/6] net: dsa: qca8k: move pcs configuration Russell King (Oracle)
2022-02-17 18:31 ` [PATCH net-next v2 6/6] net: dsa: qca8k: mark as non-legacy Russell King (Oracle)
2022-02-18 11:50 ` [PATCH net-next v2 0/6] net: dsa: qca8k: convert to phylink_pcs and " patchwork-bot+netdevbpf

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=YhPACwMPz22FmpWz@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=ansuelsmth@gmail.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=vivien.didelot@gmail.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.