On Wed, Dec 11, 2024 at 01:48:03AM +0200, Vladimir Oltean wrote: > On Tue, Dec 10, 2024 at 11:32:17PM +0100, Christian Marangi wrote: > > Doesn't regmap add lots of overhead tho? Maybe I should really change > > the switch regmap to apply a save/restore logic? > > > > With an implementation like that current_page is not needed anymore. > > And I feel additional read/write are ok for switch OP. > > > > On mdio I can use the parent-mdio-bus property to get the bus directly > > without using MFD priv. > > > > What do you think? > > If performance is a relevant factor at all, it will be hard to measure it, other > than with synthetic tests (various mixes of switch and PHY register access). > Though since you mention it, it would be interesting to see a comparison of the > 3 arbitration methods. This could probably be all done from the an8855_mfd_probe() > calling context: read a switch register and a PHY register 100K times and see how > long it took, then read 2 switch registers and a PHY register 100K times, then > 3 switch registers.... At some point, we should start seeing the penalty of the > page restoration in Andrew's proposal, because that will be done after each switch > register read. Just curious to put it into perspective and see how soon it starts > to make a difference. And this test will also answer the regmap overhead issue. Ok sorry for the delay as I had to tackle an annoying crypto driver... I was also curious about this and I hope I tested this correctly... The testing code is this. Following Vladimir testing and simple time comparision before and after. I used 100 times as 100k was very big.