From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net-next v3 0/6] net: phy: mscc: various improvements to Microsemi PHY driver Date: Mon, 08 Oct 2018 10:29:36 -0700 (PDT) Message-ID: <20181008.102936.2115401220175323898.davem@davemloft.net> References: <20181008100728.24959-1-quentin.schulz@bootlin.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: andrew@lunn.ch, f.fainelli@gmail.com, allan.nielsen@microchip.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, thomas.petazzoni@bootlin.com, alexandre.belloni@bootlin.com To: quentin.schulz@bootlin.com Return-path: In-Reply-To: <20181008100728.24959-1-quentin.schulz@bootlin.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Quentin Schulz 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.