[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <582238F3.30906@codeaurora.org>
Date: Tue, 8 Nov 2016 14:43:31 -0600
From: Timur Tabi <timur@...eaurora.org>
To: Florian Fainelli <f.fainelli@...il.com>,
David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH] [RFC] net: phy: phy drivers should not set
SUPPORTED_Pause or SUPPORTED_Asym_Pause
On 11/07/2016 10:30 AM, Timur Tabi wrote:
>
> I'm still don't understand 100% how these flags really work, because I
> just can't shake the feeling that they should not be set for every phy.
> If these flags are supposed to be turned on universally, then why are
> they even an option?
So I've been giving this more thought. Can you tell me if the following
is correct:
1) PHY drivers and/or phylib sets the SUPPORTED_Pause |
SUPPORTED_AsymPause bits in phydev->supported. This indicates that the
PHY supports pause frames.
2) The MAC driver checks phydev->supported before it calls phy_start().
If (SUPPORTED_Pause | SUPPORTED_AsymPause) is set, then it sets those
bits in phydev->advertising if it wants to enable pause frame support.
3) When the link state changes, the MAC driver checks
phydev->advertising, and if the bits are set, then it enables those
features in the MAC.
--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc. Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
Powered by blists - more mailing lists