Re: [PATCH net-next v3 0/6] net: phy: mscc: various improvements to Microsemi PHY driver
From: David Miller
Date: Mon Oct 08 2018 - 13:29:40 EST
From: Quentin Schulz <quentin.schulz@xxxxxxxxxxx>
Date: Mon, 8 Oct 2018 12:07:22 +0200
> The Microsemi PHYs have multiple banks of registers (called pages).
> Registers can only be accessed from one page, if we need a register from
> another page, we need to switch the page and the registers of all other
> pages are not accessible anymore.
>
> Basically, to read register 5 from page 0, 1, 2, etc., you do the same
> phy_read(phydev, 5); but you need to set the desired page beforehand.
>
> In order to guarantee that two concurrent functions do not change the
> page, we need to do some locking per page. This can be achieved with the
> use of phy_select_page and phy_restore_page functions but phy_write/read
> calls in-between those two functions shall be replaced by their
> lock-free alternative __phy_write/read.
>
> The Microsemi PHYs have several counters so let's make them available as PHY
> statistics.
>
> The VSC 8530/31/40/41 also need to update their EEE init sequence in order to
> avoid packet losses and improve performance.
>
> This patch series also makes some minor cosmetic changes to the driver.
Series applied, thank you.