Re: [RFC PATCH net-next 0/9] net: pcs: Add support for devices probed in the "usual" manner
From: Sean Anderson <hidden>
Date: 2022-07-19 15:46:36
Also in:
linux-arm-kernel, linux-devicetree, linuxppc-dev, lkml
On 7/19/22 11:38 AM, Vladimir Oltean wrote:
On Tue, Jul 19, 2022 at 11:28:42AM -0400, Sean Anderson wrote:quoted
Hi Vladimir, On 7/19/22 11:25 AM, Vladimir Oltean wrote:quoted
Hi Sean, On Mon, Jul 11, 2022 at 12:05:10PM -0400, Sean Anderson wrote:quoted
For a long time, PCSs have been tightly coupled with their MACs. For this reason, the MAC creates the "phy" or mdio device, and then passes it to the PCS to initialize. This has a few disadvantages: - Each MAC must re-implement the same steps to look up/create a PCS - The PCS cannot use functions tied to device lifetime, such as devm_*. - Generally, the PCS does not have easy access to its device tree node I'm not sure if these are terribly large disadvantages. In fact, I'm not sure if this series provides any benefit which could not be achieved with judicious use of helper functions. In any case, here it is. NB: Several (later) patches in this series should not be applied. See the notes in each commit for details on when they can be applied.Sorry to burst your bubble, but the networking drivers on NXP LS1028A (device tree at arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi, drivers at drivers/net/ethernet/freescale/enetc/ and drivers/net/dsa/ocelot/) do not use the Lynx PCS through a pcs-handle, because the Lynx PCS in fact has no backing OF node there, nor do the internal MDIO buses of the ENETC and of the switch. It seems that I need to point this out explicitly: you need to provide at least a working migration path to your PCS driver model. Currently there isn't one, and as a result, networking is broken on the LS1028A with this patch set.Please refer to patches 4, 5, and 6.I don't understand, could you be more clear? Are you saying that I shouldn't have applied patch 9 while testing? When would be a good moment to apply patch 9?
I'm saying that patches 4 and 5 [1] provide "...a working migration path to [my] PCS driver model." Since enetc/ocelot do not use devicetree for the PCS, patch 9 should have no effect. That said, if you've tested this on actual hardware, I'm interested in your results. I do not have access to enetc/ocelot hardware, so I was unable to test whether my proposed migration would work. --Sean [1] I listed 6 but it seems like it just has some small hunks which should have been in 5 instead