[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5b3b74bb-207d-9a00-9095-5dcc6384973a@gmail.com>
Date: Fri, 5 Apr 2019 14:28:25 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Heiner Kallweit <hkallweit1@...il.com>,
Andrew Lunn <andrew@...n.ch>
Cc: David Miller <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] net: phy: improve link partner capability
detection
On 4/5/19 2:20 PM, Heiner Kallweit wrote:
> On 05.04.2019 23:16, Heiner Kallweit wrote:
>> On 05.04.2019 23:11, Florian Fainelli wrote:
>>> On 4/5/19 1:51 PM, Heiner Kallweit wrote:
>>>> On 05.04.2019 22:43, Andrew Lunn wrote:
>>>>>> Right. BMSR_ESTATEN should not be set on a Fast PHY. Handling of this
>>>>>> case didn't change.
>>>>>>
>>>>>>> A Fast MAC connected to a Giga PHY. The MAC driver will of used
>>>>>>> phy_set_max_speed() to indicate its limits. In that case, MII_STAT1000
>>>>>>> does exist and we should report what the peer is advertising.
>>>>>>>
>>>>>> That's what we're doing now with this patch.
>>>>>
>>>>> Hi Heiner
>>>>>
>>>>> What i don't get is why we need to do anything based on the MAC. All
>>>>> we need to do is look at BMSR_ESTATEN, and from that decided if we
>>>>> should look at MII_STAT1000 or not. When reporting what the peer can
>>>>> do, we should not care what the local MAC can do.
>>>>>
>>>> Do we have a misunderstanding? What you describe is exactly what we're
>>>> doing now. BMSR_ESTATEN is read by genphy_read_abilities().
>>>> I just don't want to read BMSR whenever genphy_read_status() is called.
>>>
>>> You have to read the BMSR to determine the link status anyway, did you
>>> mean: have to check BMSR_ESTATEN whenever genphy_read_status() is called?
>>>
>> I would have to add extra logic to propagate BMSR_ESTATEN from
>> genphy_update_link() to genphy_read_status(). BMSR_ESTATEN has a fixed
>> value and therefore it's sufficient to read it initially.
>>
> In addition: BMSR_ESTATEN being set isn't a guarantee yet that the PHY
> supports gigabit. Still in MII_ESTATUS the gigabit bits couldn't be set.
> A Fast PHY could use some IP which is gigabit-prepared.
> I don't know if such a PHY exists, but it would be totally compliant
> with C22.
>
There are Gigabit PHYs that are being limited in software to 10/100
because the Ethernet MAC is not capable, yet it's easier/cheaper to
populate a gigabit capable PHY (Simmon's use case is one of them I
believe, but I have come across that too).
--
Florian
Powered by blists - more mailing lists