On 1/21/19 12:36 PM, Heiner Kallweit wrote:
> On 21.01.2019 17:35, Andrew Lunn wrote:
>> On Sun, Jan 20, 2019 at 10:01:15AM +0100, Heiner Kallweit wrote:
>>> The state machine is a no-op before phy_start() has been called.
>>> Therefore let's enable it in phy_start() only. In phy_start()
>>> let's call phy_start_machine() instead of phy_trigger_machine().
>>> phy_start_machine is an alias for phy_trigger_machine but it makes
>>> clearer that we start the state machine here instead of just
>>> triggering a run.
>>
>> Hi Heiner
>>
>> Documentation/networking/phy.txt has a section "Doing it all yourself"
>> It would be good to review that, and make sure that documentation is
>> still valid. I'm not sure any MAC driver actually does do it all
>> itself. So it might be worth reviewing the whole document and making
>> updates to remove parts of the text.
>>
> Right. I figured out that I have update phy.txt anyway because I
> recently removed phy_stop_interrupts which is referenced in the
> documentation. OK if we leave the patch series as is and I submit
> the documentation update as a separate patch?

I think you need to be careful here and not break what is allowed in the
"Doing it all yourself" section. The amd-xgbe driver makes use of this
functionality and does not use phy_start()/phy_stop(). Specifically, it
does:
  get_phy_device();
  phy_device_register();
  phy_attach_direct();

At which point it uses phy_start_aneg(), phy_read(), phy_write(),
phy_read_status() and phy_aneg_done().

I'm not sure what other drivers out there that make use of this support
within phylib.

Btw, I did notice this revert that was applied that eliminated a warning
that I started seeing in 5.0, so that is good:
  d9f903f6af3d ("net: phy: fix too strict check in phy_start_aneg")

Thanks,
Tom

> 
>>      Andrew
>>  
>>
> Heiner
> 

Reply via email to