[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SN1PR11MB04462284EAFDF4057F866F72ECA90@SN1PR11MB0446.namprd11.prod.outlook.com>
Date: Thu, 6 Dec 2018 20:31:58 +0000
From: <Tristram.Ha@...rochip.com>
To: <andrew@...n.ch>
CC: <f.fainelli@...il.com>, <pavel@....cz>,
<UNGLinuxDriver@...rochip.com>, <netdev@...r.kernel.org>
Subject: RE: [PATCH RFC 1/6] net: dsa: microchip: Prepare PHY for proper
advertisement
> > +static void ksz9477_phy_setup(struct ksz_device *dev, int port,
> > + struct phy_device *phy)
> > +{
> > + if (port < dev->phy_port_cnt) {
> > + /* SUPPORTED_Asym_Pause and SUPPORTED_Pause can be
> removed to
> > + * disable flow control when rate limiting is used.
> > + */
> > + }
>
> Hi Tristram
>
> Is this meant to be a TODO comment?
>
> What is supposed to happen here is that all forms of pause are disable
> by default. The MAC driver needs to enable what it supports by calling
> phy_support_sym_pause() or phy_support_asym_pause().
>
> Ah, is this because there is not a real PHY driver?
The kernel has been changed so I am not sure about the current behavior.
I would like to turn on flow control by default. Before I just assigned
"supported" to "advertising." I know linkmode_copy is being used now for that.
But last time I checked "advertising" is already the same as "supported."
There will be a situation that flow control should not be turned on as the switch
uses bandwidth control to limit outgoing traffic.
The issue is actually becoming more complex as KSZ9477 has a variant which
does not support gigabit speed, although the same PHY device id is being used.
That means the driver has to fake it by returning a different id and also registering
a different PHY driver to handle that. Marketing also likes to display the correct chip
name during kernel booting so that users do not get confused.
Powered by blists - more mailing lists