From: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: "Rafael J. Wysocki (Intel)" <rafael@kernel.org>,
"Thierry Reding" <thierry.reding@kernel.org>,
"Arnd Bergmann" <arnd@arndb.de>, arm <arm@kernel.org>,
soc@kernel.org, "Jon Hunter" <jonathanh@nvidia.com>,
linux-tegra@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
"Len Brown" <lenb@kernel.org>,
linux-acpi@vger.kernel.org,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Sudeep Holla" <sudeep.holla@arm.com>,
"Hans de Goede" <hansg@kernel.org>,
"Jonathan Cameron" <jic23@kernel.org>,
"Mika Westerberg" <westeri@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"James Morse" <james.morse@arm.com>,
"Ben Horgan" <ben.horgan@arm.com>,
"Sizhe Liu" <liusizhe5@huawei.com>
Subject: Re: [GIT PULL 4/7] firmware/tegra: Changes for v7.4-rc1
Date: Wed, 4 Nov 2026 16:11:25 -0800 [thread overview]
Message-ID: <20261104161125.00000523@oss.qualcomm.com> (raw)
In-Reply-To: <autmcaraWcXIoRfZ@ashevche-desk.local>
On Wed, 4 Nov 2026 19:08:01 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> On Wed, Nov 04, 2026 at 05:28:18PM +0100, Rafael J. Wysocki (Intel) wrote:
> > On Wed, Nov 4, 2026 at 3:41 PM Thierry Reding <thierry.reding@kernel.org> wrote:
> > > On Wed, Nov 04, 2026 at 03:11:09PM +0100, Arnd Bergmann wrote:
> > > > On Wed, Nov 4, 2026, at 13:42, Thierry Reding wrote:
> > > > > On Tue, Oct 13, 2026 at 07:22:23PM +0200, Arnd Bergmann wrote:
> > > > >> On Sat, Oct 3, 2026, at 11:59, Thierry Reding wrote:
> > > > >>
> > > > >> Where is the ACPI binding documentation for this driver, and who is
> > > > >> responsible for reviewing it?
> > > > >
> > > > > Sorry for the late reply, this fell through the cracks.
> > > > >
> > > > > Admittedly there's not much of a formal process here at all. Anything
> > > > > I've received up to now seemed to be fairly straightforward support
> > > > > extensions like this where the ACPI tables basically provide the same
> > > > > information as the DT via standard resources like register ranges.
> > > > >
> > > > > I suppose for anything beyond this, we'll want better documentation and
> > > > > broader review.
> > > > >
> > > > > Is there anything in particular that you're looking for? Should I guide
> > > > > people internally to always Cc linux-acpi for anything that concerns
> > > > > ACPI?
> > > >
> > > > I don't know, I'm also still learning about how this is done, I
> > > > was hoping that there was already an established way.
> > >
> > > Yeah, me too. Maybe Rafael and Len can provide some guidance here.
> >
> > I cannot speak for Len, and he has not been actively involved in the
> > maintenance of ACPI support in the kernel for several years.
> >
> > As far as I'm concerned, the code maintained by me is mostly located
> > in drivers/acpi/ (as per the relevant MAINTAINERS entries) and it is
> > mostly generic code related to ACPI support. I generally don't
> > maintain device drivers using ACPI support except for the ones under
> > drivers/acpi/ which mostly bind to devices representing interfaces
> > defined in the ACPI specification (which is kind of a special case).
> >
> > But there is more. There is ACPI support code in other places (like
> > for instance gpiolib-acpi maintained by Andy and Mika, or platform-x86
> > drivers maintained by Ilpo) and there are experienced kernel
> > developers in the ARM ecosystem with quite a bit of ACPI-related
> > knowledge (Hans, Jonathan, Sudeep, Lorenzo - all CCed) who can be
> > reached out to for guidance (and arguably they have more experience
> > with ARM platforms than I do).
> >
> > > I don't know how ACPI on more traditional platforms works, but I imagine
> > > that it's a lot of the same anyway, except perhaps that people have more
> > > experience with the spec and today might be doing a good job already.
> >
> > If you have any specific questions, I think I should be able to answer
> > at least some of them, but I'm afraid I cannot give you general
> > guidance on how to do ACPI support in device drivers that would be
> > universally useful. Different drivers have different needs.
> >
> > There are things in ACPI that are not present in DT and vice versa.
> > It also depends on what bus types we're talking about (platform vs PCI
> > vs USB etc).
>
> And don't forget the big player(s) such as Microsoft that from time to time
> creates an "extension" to the ACPI (in means of additional tables or how some
> of the existing data should be interpreted if it's not clear from the ACPI
> specification). For instance, above mentioned USB ACPI support for some cases
> heavily relies on the MS "extensions". Or earlycon support for ACPI is based
> on MS defined SPCR table. And so on...
>
> > > > Having a review done by the ACPI maintainers would definitely
> >
> > So as per the above, who exactly do you mean by "ACPI maintainers"?
> > If you mean "the people maintaining the code in drivers/acpi/", that's
> > just me and quite frankly, I'm not sure if my review, specifically,
> > would be super-useful for driver development (the fact that my review
> > bandwidth is almost completely saturated nowadays aside).
> >
> > My recommendation would be to ask other people within the ARM
> > ecosystem who have more experience with ACPI for help.
> >
> > > > help from my point of view, but I'm not sure whether they are
> > > > set up for that, in case there are a lot of new drivers.
> >
> > I am not and had I been trying to do it, it wouldn't have scaled anyway.
> >
> > > I think platform maintainers need to be a first line of defense here
> > > since they sit at the intersection of a lot of this. At least that's the
> > > case for me. Also, I'm eager to learn how to do this right, but I'm
> > > often at a loss of where to start. The spec is a bit daunting, and then
> > > there's various extensions, too. Maybe the AI genies can help me ramp
> > > up.
> >
> > My advice would be to reach out to people within your ecosystem in the
> > first place.
It is a bit of a guessing game to figure out who are the right people today
when it comes to ACPI and both ARM and x86 platforms.
They fall into a few categories and it depends on what you are trying to
do. Starting point is push back hard on your firmware folk wrt to shipping
something random without an upstream discussion first. You wouldn't expect
that to work for dt, it shouldn't work for ACPI either. Features
will get rejected if people try to just do something that works for them
(same as a weird custom DT binding gets rejected).
1) Basic stand alone driver stuff. Mostly that's all pretty standard
and follow the specs where possible. If there are gaps start asking
questions. Linux definitely doesn't support all the stuff that has been
added to the spec in recent years. So this covers things like register
addresses, interrupts etc. All fine, hopefully a subsystem maintainer
can take a look and will have enough of any idea. If not ping the folk
on this thread for help. Things are a bit flexible for consumer type
devices where fixed and bodges are common, generally less so if it is
server grade hardware.
2) Stuff that is an ACPI spec gap or place where we'd expect generalization.
There are several examples of this on list this week and a few more in
my inbox. The particular series here might fall into this category.
I've not figured out enough of the details yet to say definitively.
I'd also expect a driver using AML as the target interface to either
point at a published spec doc, or to include some snippets
of the AML - that can be a lot easier to read than the driver code
(imagine reading DT by only looking at how drivers parse it).
FWIW The driver feature in question looks like it is doing something a bit similar
to the PCI trace and tune driver Hisilicon has (though IIRC that has
a presence as a PCI driver) https://docs.kernel.org/trace/hisi-ptt.html
or if you squint at it differently resctrl / mpam fb.
Given that has new ABI etc, I'd expect that to have gotten broader review
as well. Probably keeping it to linux-tegra and lkml alone wasn't
going to result in anyone noticing!
https://lore.kernel.org/all/?q=20260929095915.2215685-1-anrao@nvidia.com
Anyhow, feel free to reach out if you want some feedback on this or
similar. I can perhaps at least point you to someone who knows a
specific area better than me.
Jonathan
> >
> > > > I assume there is a knowledge gap in both subsystem maintainers
> > > > regarding ACPI (certainly this is the case for me for drivers/bus,
> > > > drivers/firmware, drivers/soc, etc) and ACPI maintainers regarding
> > > > many of the subsystems that we support with DT.
> > >
> > > Agreed. I've seen some patches where the ACPI support was as simple as
> > > just adding an ID table entry and the rest was all standard, but I think
> > > once we move beyond standard resources things might get a bit more
> > > complicated. I imagine that ACPI may not even have specs for certain
> > > aspects that we currently handle in DT...
> >
> > That certainly is true, but the ACPI specification is under active
> > development and pieces that are missing can be added to it. There is
> > a process for that in place and ARM people take part in it.
>
>
> On top of the above in Linux we also developed some "extensions", for instance
> how I²C muxes are described, or how some multi-functional devices are being
> enumerated. These specifics we usually document under
> Documentation/firmware-guide/acpi/ (see i2c-muxes.rst for the mentioned case).
>
next prev parent reply other threads:[~2026-11-05 0:11 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20261003095924.1370238-1-thierry.reding@kernel.org>
[not found] ` <20261003095924.1370238-4-thierry.reding@kernel.org>
2026-10-13 17:22 ` [GIT PULL 4/7] firmware/tegra: Changes for v7.4-rc1 Arnd Bergmann
2026-11-04 12:42 ` Thierry Reding
2026-11-04 14:11 ` Arnd Bergmann
2026-11-04 14:40 ` Thierry Reding
2026-11-04 16:28 ` Rafael J. Wysocki (Intel)
2026-11-04 17:08 ` Andy Shevchenko
2026-11-05 0:11 ` Jonathan Cameron [this message]
2026-11-05 9:30 ` Sudeep Holla
2026-11-05 9:54 ` Arnd Bergmann
2026-11-05 10:23 ` Sudeep Holla
2026-11-05 13:31 ` Thierry Reding
2026-11-05 13:56 ` Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261104161125.00000523@oss.qualcomm.com \
--to=jonathan.cameron@oss.qualcomm.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=arm@kernel.org \
--cc=arnd@arndb.de \
--cc=ben.horgan@arm.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=james.morse@arm.com \
--cc=jic23@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-tegra@vger.kernel.org \
--cc=liusizhe5@huawei.com \
--cc=lpieralisi@kernel.org \
--cc=rafael@kernel.org \
--cc=soc@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=thierry.reding@kernel.org \
--cc=westeri@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox