Re: [PATCH] net: phy: realtek: clear interrupt during init for rtl8211f

From: Heiner Kallweit
Date: Wed May 13 2020 - 14:45:27 EST


On 13.05.2020 08:51, Jisheng Zhang wrote:
> Hi,
>
> On Tue, 12 May 2020 20:43:40 +0200 Heiner Kallweit wrote:
>
>>
>>
>> On 12.05.2020 12:46, Jisheng Zhang wrote:
>>> The PHY Register Accessible Interrupt is enabled by default, so
>>> there's such an interrupt during init. In PHY POLL mode case, the
>>> INTB/PMEB pin is alway active, it is not good. Clear the interrupt by
>>> calling rtl8211f_ack_interrupt().
>>
>> As you say "it's not good" w/o elaborating a little bit more on it:
>> Do you face any actual issue? Or do you just think that it's not nice?
>
>
> The INTB/PMEB pin can be used in two different modes:
> INTB: used for interrupt
> PMEB: special mode for Wake-on-LAN
>
> The PHY Register Accessible Interrupt is enabled by
> default, there's always such an interrupt during the init. In PHY POLL mode
> case, the pin is always active. If platforms plans to use the INTB/PMEB pin
> as WOL, then the platform will see WOL active. It's not good.
>
The platform should listen to this pin only once WOL has been configured and
the pin has been switched to PMEB function. For the latter you first would
have to implement the set_wol callback in the PHY driver.
Or where in which code do you plan to switch the pin function to PMEB?
One more thing to consider when implementing set_wol would be that the PHY
supports two WOL options:
1. INT/PMEB configured as PMEB
2. INT/PMEB configured as INT and WOL interrupt source active

>
>> I'm asking because you don't provide a Fixes tag and you don't
>> annotate your patch as net or net-next.
>
> should be Fixes: 3447cf2e9a11 ("net/phy: Add support for Realtek RTL8211F")
>
>> Once you provide more details we would also get an idea whether a
>> change would have to be made to phylib, because what you describe
>> doesn't seem to be specific to this one PHY model.
>
> Nope, we don't need this change in phylib, this is specific to rtl8211f
>
> Thanks,
> Jisheng
>
Heiner