Re: net: phy: improve pause mode reporting in phy_print_status

From: Heiner Kallweit
Date: Tue May 21 2019 - 13:22:08 EST


On 21.05.2019 15:07, Geert Uytterhoeven wrote:
> Hi Heiner,
>
Hi Geert,

> On Wed, May 8, 2019 at 8:02 AM Linux Kernel Mailing List
> <linux-kernel@xxxxxxxxxxxxxxx> wrote:
>> Commit: 23bfaa594002f4bba085e0a1ae3c9847b988d816
>> Parent: 5db9c74042e3c2168b1f1104d691063f5b662a8b
>> Refname: refs/heads/master
>> Web: https://git.kernel.org/torvalds/c/23bfaa594002f4bba085e0a1ae3c9847b988d816
>> Author: Heiner Kallweit <hkallweit1@xxxxxxxxx>
>> AuthorDate: Sun May 5 19:03:51 2019 +0200
>> Committer: David S. Miller <davem@xxxxxxxxxxxxx>
>> CommitDate: Tue May 7 12:40:39 2019 -0700
>>
>> net: phy: improve pause mode reporting in phy_print_status
>>
>> So far we report symmetric pause only, and we don't consider the local
>> pause capabilities. Let's properly consider local and remote
>> capabilities, and report also asymmetric pause.
>>
>> Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx>
>> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>
> Due to this commit, I see the folllowing change on Renesas development
> boards using either the sh_eth or ravb Ethernet driver:
>
> -sh-eth ee700000.ethernet eth0: Link is Up - 100Mbps/Full - flow
> control rx/tx
> +sh-eth ee700000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
>
> and
>
> -ravb e6800000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
> +ravb e6800000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
>
> Adding debug prints reveals that:
>
> phydev->autoneg = 1
> phydev->pause = 1
> phydev->asym_pause = 0 or 1 (depending on the board)
> local_pause = 0
> local_asym_pause = 0
>
> Is this expected behavior?
>
Yes. Both local pause parameters being 0 means no pause support is advertised.
Seems like both network drivers miss calls to phy_support_sym_pause or
phy_support_asym_pause respectively to indicate if and which pause modes
the MAC supports.
Before this patch only the remote pause capability was considered.

> Thanks!
>
> Gr{oetje,eeting}s,
>
> Geert
>
Heiner