Linux ACPI
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@kernel.org>
To: Sudeep Holla <sudeep.holla@kernel.org>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
	"Jonathan Cameron" <jonathan.cameron@oss.qualcomm.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>, 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>,
	"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: Thu, 5 Nov 2026 14:31:31 +0100	[thread overview]
Message-ID: <aux_4NxiWvD9uVev@orome> (raw)
In-Reply-To: <20261105-quizzical-wine-oryx-e6f91a@sudeepholla>

[-- Attachment #1: Type: text/plain, Size: 5021 bytes --]

On Thu, Nov 05, 2026 at 10:23:24AM +0000, Sudeep Holla wrote:
> On Thu, Nov 05, 2026 at 10:54:42AM +0100, Arnd Bergmann wrote:
> > On Thu, Nov 5, 2026, at 10:30, Sudeep Holla wrote:
> > > On Wed, Nov 04, 2026 at 04:11:25PM -0800, Jonathan Cameron wrote:
> > 
> > >> 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.
> > >> 
> > >
> > > Nicely summarised or categorised Jonathan. Nothing much to add.
> > 
> > +1
> > 
> > >> 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).
> > >> 
> > >
> > > Ideally, it should be just HID that any vendor needs to publish unless
> > > they make use of any custom methods or something device specific like
> > > DSD/DSM. I would expect most of the devices to use standard methods and
> > > properties that are already well defined in the ACPI spec.
> > 
> > >> 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
> > >> 
> > >
> > > Agreed, it shouldn't hurt to cc linux-acpi for such driver ACPI enablement
> > > patches.
> > 
> > Is the "BMRQ" in
> > https://lore.kernel.org/all/20260929095915.2215685-3-anrao@nvidia.com/
> > a custom method then? 
> > 
> 
> I’ve quickly reviewed the patch; it does implements a custom method BMRQ
> rather than a standard or out-of-the-box solution. More details on this is
> used based on my understanding below.

To get everyone on the same page: in a nutshell, BPMP is a separate
processor that handles various aspects of power management (Boot and
Power Management Processor). The CPU communicates with it over a shared
memory region and a mailbox/doorbell for signalling.

> > How does this relate to the EC and PCC interfaces in ACPI systems?
> > 
> 
> I am still evaluating how the BPMP driver is intended to operate on ACPI
> systems. In the meantime, I share the same questions noted above. The current
> commit message lists several driver features that may not be required for
> ACPI, which has introduced some clarity issues regarding the intended design.

My understanding is that an ACPI systems, as opposed to DT where we do
this all through kernel drivers, the inter-processor communication is
done via AML. This is because standard power management operations use
this same mechanism to enable clocks, deassert resets, etc.

> > In current mainline, I see that the bpmp driver is used on DT systems
> > by the tegra specific cpufreq, memory and pci drivers, but I would
> > expect that on ACPI those all use shared drivers. Are there any other
> > users that are not already covered on ACPI?
> > 
> 
> For ACPI systems, CPUFreq operates through CPPC via PCC, MEMIO, or
> supported backends.
> 
> My understanding is that the BMRQ method is called by tegra_bpmp_transfer(),
> which supports Tegra-specific drivers for power domains, clocks, resets,
> I2C, PCIe, and memory. On ACPI, these can be abstracted through PCC
> OpRegions as part of standard methods like _ON/_OFF or other device state
> methods. Although device/memory DVFS is trickier since the ACPI
> specification lacks standard methods for it today, the commit message
> implies these components are largely unused on ACPI systems.

I think this goes back to the disconnect from the patch thread and
earlier in this discussion: the intent was very much to encapsulate all
the power management within standard ACPI methods, and that's working
fine, hence why clocks, resets and power domains are not getting exposed
on ACPI systems.

However, there's no equivalent in ACPI to expose these MBWT knobs, hence
the need to expose this through BPMP directly.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-11-05 13:31 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
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 [this message]
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=aux_4NxiWvD9uVev@orome \
    --to=thierry.reding@kernel.org \
    --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=jonathan.cameron@oss.qualcomm.com \
    --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@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