Re: [RFC net-next PATCH 06/16] net: phylink: Add function for optionally adding a PCS

From: Sean Anderson
Date: Tue Oct 05 2021 - 12:17:50 EST




On 10/5/21 9:43 AM, Andrew Lunn wrote:
On Tue, Oct 05, 2021 at 10:51:38AM +0100, Russell King (Oracle) wrote:
On Mon, Oct 04, 2021 at 03:15:17PM -0400, Sean Anderson wrote:
> This adds a function to set the PCS only if there is not one currently
> set. The intention here is to allow MAC drivers to have a "default" PCS
> (such as an internal one) which may be used when one has not been set
> via the device tree. This allows for backwards compatibility for cases
> where a PCS was automatically attached if necessary.

I'm not sure I entirely like this approach. Why can't the network
driver check for the pcs-handle property and avoid using its
"default" if present?

And that would also be in line with

ethernet/freescale/dpaa2/dpaa2-mac.c: node = fwnode_find_reference(dpmac_node, "pcs-handle", 0);

We need a uniform meaning of pcs-handle. And dpaa2-mac.c has set the
precedent that the MAC uses it, not phylink. That can however be
changed, if it make sense, but both users should do the same.

The tricky bit here happens when drivers set the PCS in mac_prepare()
depending on the interface. So you have to remember during probe()
whether you are supposed to set the PCS for later. I would like to leave
more of this to phylink to ensure that the process is done in a uniform
way.

--Sean