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.

Reply via email to