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.