From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Kaehlcke Subject: Re: [PATCH 2/3] net: phy: realtek: Enable accessing RTL8211E extension pages Date: Mon, 1 Jul 2019 17:09:25 -0700 Message-ID: <20190702000925.GD250418@google.com> References: <20190701195225.120808-1-mka@chromium.org> <20190701195225.120808-2-mka@chromium.org> <20190701200248.GJ30468@lunn.ch> <35db1bff-f48e-5372-06b7-3140cb7cbb71@gmail.com> <20190701210902.GL30468@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <20190701210902.GL30468@lunn.ch> Sender: linux-kernel-owner@vger.kernel.org To: Andrew Lunn Cc: Heiner Kallweit , "David S . Miller" , Rob Herring , Mark Rutland , Florian Fainelli , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Douglas Anderson List-Id: devicetree@vger.kernel.org On Mon, Jul 01, 2019 at 11:09:02PM +0200, Andrew Lunn wrote: > On Mon, Jul 01, 2019 at 10:37:16PM +0200, Heiner Kallweit wrote: > > On 01.07.2019 22:02, Andrew Lunn wrote: > > > On Mon, Jul 01, 2019 at 12:52:24PM -0700, Matthias Kaehlcke wrote: > > >> The RTL8211E has extension pages, which can be accessed after > > >> selecting a page through a custom method. Add a function to > > >> modify bits in a register of an extension page and a few > > >> helpers for dealing with ext pages. > > >> > > >> rtl8211e_modify_ext_paged() and rtl821e_restore_page() are > > >> inspired by their counterparts phy_modify_paged() and > > >> phy_restore_page(). > > > > > > Hi Matthias > > > > > > While an extended page is selected, what happens to the normal > > > registers in the range 0-0x1c? Are they still accessible? > > > > > AFAIK: no > > This it would be better to make use of the core paged access support, > so that locking is done correctly. Do I understand correctly that this would involve assigning .read/write_page and use phy_select_page() and phy_restore_page()? Besides the benefit of locking this would also result in less code and we could get rid of the custom _restore_page().