Re: [PATCH v5 net-next 06/10] net: dsa: microchip: add support for phylink management

From: Prasanna Vengateshan
Date: Thu Oct 28 2021 - 23:00:49 EST


On Thu, 2021-10-28 at 18:05 +0100, Russell King (Oracle) wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> On Thu, Oct 28, 2021 at 10:11:07PM +0530, Prasanna Vengateshan wrote:
> > Support for phylink_validate() and reused KSZ commmon API for
> > phylink_mac_link_down() operation
> >
> > lan937x_phylink_mac_config configures the interface using
> > lan937x_mac_config and lan937x_phylink_mac_link_up configures
> > the speed/duplex/flow control.
> >
> > Currently SGMII & in-band neg are not supported & it will be
> > added later.
> >
> > Signed-off-by: Prasanna Vengateshan <prasanna.vengateshan@xxxxxxxxxxxxx>
>
> Hi,
>
> I've just sent "net: dsa: populate supported_interfaces member"
> which adds a hook to allow DSA to populate the newly introduced
> supported_interfaces member of phylink_config. Once this patch is
> merged, it would be great to see any new drivers setting this
> member.
>
> Essentially, the phylink_get_interfaces method is called with the
> DSA switch and port number, and a pointer to the supported_interfaces
> member - which is a bitmap of PHY_INTERFACE_MODEs that are supported
> by this port.
>
> When you have set any bit in the supported interfaces, phylink's
> behaviour when calling your lan937x_phylink_validate changes - it will
> no longer call it with PHY_INTERFACE_MODE_NA, but will instead do a
> bitwalk over the bitmap, and call it for each supported interface type
> instead.
>
> When phylink has a specific interface mode, it will continue to make a
> single call - but only if the interface mode is indicated as supported
> in the supported interfaces bitmap.
>
> Please keep an eye on "net: dsa: populate supported_interfaces member"
> and if you need to respin this series after that patch has been merged,
> please update in regards of this.

Sure, i will watch out for this series and add to my new driver. Do the 
new drivers need to still return all supported modes if state->interface
is set to %PHY_INTERFACE_MODE_NA as per phylink documentation? I 
understand that supported_interfaces will not be empty if
phylink_get_interfaces() is handled. But i just wanted to double check
with you.