Thread (15 messages) 15 messages, 3 authors, 2021-10-29

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

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-10-29 07:57:12
Also in: lkml, netdev

On Fri, Oct 29, 2021 at 08:29:49AM +0530, Prasanna Vengateshan wrote:
On Thu, 2021-10-28 at 18:05 +0100, Russell King (Oracle) wrote:
quoted
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.
The phylink documentation has already been updated:

 * When @config->supported_interfaces has been set, phylink will iterate
 * over the supported interfaces to determine the full capability of the
 * MAC. The validation function must not print errors if @state->interface
 * is set to an unexpected value.
 *
 * When @config->supported_interfaces is empty, phylink will call this
 * function with @state->interface set to %PHY_INTERFACE_MODE_NA, and
 * expects the MAC driver to return all supported link modes.

As I state in my initial reply, ->validate will never be called with
PHY_INTERFACE_MODE_NA if supported_interfaces is populated.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help