Re: [PATCH V3 3/3] mailbox: qcom-apcs: Add SM6125 compatible

From: Bjorn Andersson
Date: Thu Jun 24 2021 - 20:02:56 EST


On Thu 24 Jun 17:59 CDT 2021, AngeloGioacchino Del Regno wrote:

> Il 24/06/21 23:07, Bjorn Andersson ha scritto:
> > On Tue 22 Jun 09:36 CDT 2021, AngeloGioacchino Del Regno wrote:
[..]
> > > Hello Jassi, Bjorn
> > >
> > > I've read the entire thread and I can't say that Jassi is entirely wrong
> > > but I also agree with Bjorn on this matter.
> > >
> > > This driver is here to "simply" manage the register offset in the APCS
> > > IP, which is a pretty straightforward operation.
> > > If you check in this driver, you will see that there's not much
> > > duplication between the various qcom_apcs_ipc_data that we have for
> > > all the different SoCs.
> > >
> > > Checking further, we can effectively reduce the amount of compatibles
> > > in this driver by simply removing some "duplicated" instances and in
> > > particular:
> > > ipq6018, ipq8074, msm8916, msm8994, msm8998, sdm660
> > >
> > > and eventually replacing them with either of:
> > > - 8bits_apcs_data qcom,apcs-apps-global-8bit
> > > qcom,apcs-kpss-global-8bit
> >
> > I don't like those compatibles, simply because the binding is supposed
> > to describe the hardware block, not the fact that Linux _currently_ only
> > pokes this one register.
> >
>
> Since you've immediately misunderstood my naming, yeah, that wouldn't be
> the best thing to use as a compatible.
>

Sorry, that was certainly not my intention.

> > We could probably "qcom,apss-global" as a catch-all for at least sc7180,
> > sc7280, sdm845, sm8150, sm8250 and sm8350.
> >
>
> Doesn't look like a bad idea, but if we want to *enforce* writing also
> the platform-specific compatible, I can see patch series going back
> and forth and getting refused because this will not be really understood
> by everyone, I think.
> In this case, if writing the platform compatible is something mandatory,
> the only way to really make sure to avoid losing time with reviews like
> "[...] here you have to write also the platform compatible", is to just
> keep the thing as it is.
>

My understanding from the DT maintainers is that the dts would be
checked by the schema, but I suspect that you're right in that we might
have some back and forth on the DT binding, but I don't think that's a
big deal.

> > But look at 8996 and 8998, both named "something-hmss-something", with
> > different register layout. And a quick glance seems to indicate that
> > sdm660 isn't a hmss after all :/
> >
>
> Starting from the fact that I don't clearly remember what-when-why of
> my research done more than one year ago, I do remember that conclusion
> was that, in this regard, SDM630/660 were "mostly the same" as MSM8998.
> In any case, this is something that, at this point, is better get
> verified, maybe.
>

Yeah, I presume that someone with the documentation would need to go
through each one of these and see what kind of grouping there might be.

And I also presume that there might be cases where the CPU clocks has
moved into the secure world, so that even though the hardware block is
the same the presence of a in-kernel clock driver in the implementation
might differ.


But just to clarify, I find it annoying having to sprinkle compatibles
all over the place every time I try to get a new board up. So I am not
against us trying to figure this out.

Regards,
Bjorn