# RE: \[PATCH net-next v3 2/2\] net: ethernet: Add driver for Sunplus SP7021

- From: Wells Lu 呂芳騰 \<hidden\>
- Date: 2021-12-02 18:47:17 
- List: linux-devicetree
- Page: https://ratatoskr.run/linux-devicetree/2021/12/1594613
- Thread: https://ratatoskr.run/netdev/2021/11/1591109/t.md

```text
Hi Andrew,

Thank you for explanation.

I'll add phy_support_asym_pause() after PHY connected next patch.

I found some drivers call phy_set_max_speed() to set PHY speed to
100M after PHY connected. Is that necessary? From 'supported', PHY 
supports 10M/100M already.

I also found some drivers call phy_start_aneg() after PHY started.
Is that necessary? From status register of PHY, 'auto-nego' has 
completed.


Best regards,
Wells


> > I printed out the value of 'supported' and 'advertising'.
> > 'supported' shows PHY device supports Pause and AsymPause (0x62cf).
> > But 'advertising' shows PHY device does not support Pause or AsymPause (0x02cf).
> > Is this correct?
> >
> > How to let link partner know local node supports Pause & AsymPause
> > (flow control)?
> >
> 
> 'supported' indicates that the PHY can do. It has the ability to advertise pause. But we
> don't automatically copy those bits into 'advertising' because we don't know if the MAC
> actually supports pause/asym pause.
> 
> The MAC driver needs to call phy_support_sym_pause() or
> phy_support_asym_pause() to let phylib know what it can do. phylib will then add the
> appropriate bits to 'advertising'.
> 
> > Will mii_read() and mii_write() be called in interrupt context?
> 
> No. Only thread context, because it uses a mutex to prevent multiple accesses at the same
> time.
> 
> 	 Andrew
```
