Re: [net-next RFC PATCH 0/4] net: dsa: qca8k: code split for qca8k

From: Christian Marangi
Date: Mon Jul 18 2022 - 13:40:48 EST


On Mon, Jul 18, 2022 at 08:35:04PM +0300, Vladimir Oltean wrote:
> On Mon, Jul 18, 2022 at 04:46:20PM +0200, Christian Marangi wrote:
> > On Sat, Jul 16, 2022 at 07:49:54PM +0200, Christian Marangi wrote:
> > > This is posted as an RFC as it does contain changes that depends on a
> > > regmap patch. The patch is here [1] hoping it will get approved.
> > >
> > > If it will be NACKed, I will have to rework this and revert one of the
> > > patch that makes use of the new regmap bulk implementation.
> > >
> >
> > The regmap patch that this series depends on has been accepted but needs
> > some time to be put in linux-next. Considering the comments from the
> > code move, is it urgent to have the changes done or we can wait for the
> > regmap patch to get applied?
> >
> > (this was asked from the regmap maintainer so here is the question)
>
> If I understand correctly, what you're saying is that the regmap_bulk_read()
> change from patch 2/4 (net: dsa: qca8k: convert to regmap read/write API)
> won't work correctly without the regmap dependency, and would introduce
> a regression in the driver, right?
>

Yes you are correct.

> If so, I would prefer getting the patches merged linearly and not in
> parallel, in other words either Mark provides a branch to pull into
> net-next or you wait until the merge window opens and then closes, which
> means a couple of weeks.
>
> The fact that in linux-next things would work isn't enough, since on
> net-next they would still be broken.
>

Ok, so I have to keep the qca8k special function. Is it a problem if I
keep the function and than later make the conversion when we have the
regmap dependency merged?

> > > Anyway, this is needed ad ipq4019 SoC have an internal switch that is
> > > based on qca8k with very minor changes. The general function is equal.
> > >
> > > Because of this we split the driver to common and specific code.
> > >
> > > As the common function needs to be moved to a different file to be
> > > reused, we had to convert every remaining user of qca8k_read/write/rmw
> > > to regmap variant.
> > > We had also to generilized the special handling for the ethtool_stats
> > > function that makes use of the autocast mib. (ipq4019 will have a
> > > different tagger and use mmio so it could be quicker to use mmio instead
> > > of automib feature)
> > > And we had to convert the regmap read/write to bulk implementation to
> > > drop the special function that makes use of it. This will be compatible
> > > with ipq4019 and at the same time permits normal switch to use the eth
> > > mgmt way to send the entire ATU table read/write in one go.
> > >
> > > (the bulk implementation could not be done when it was introduced as
> > > regmap didn't support at times bulk read/write without a bus)
> > >
> > > [1] https://lore.kernel.org/lkml/20220715201032.19507-1-ansuelsmth@xxxxxxxxx/

--
Ansuel