mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@kernel.org>
To: Sudeep Holla <sudeep.holla@kernel.org>
Cc: Aniruddha Rao <anrao@nvidia.com>,
	jonathanh@nvidia.com,  linux-tegra@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 2/5] firmware: tegra: bpmp: Add ACPI support
Date: Fri, 6 Nov 2026 13:18:56 +0100	[thread overview]
Message-ID: <au3Ag3uEKhppG930@orome> (raw)
In-Reply-To: <20261106-emu-of-nonconcrete-wizardry-174c3b@sudeepholla>

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

On Fri, Nov 06, 2026 at 09:25:56AM +0000, Sudeep Holla wrote:
> On Thu, Nov 05, 2026 at 02:07:48PM +0100, Thierry Reding wrote:
> > On Thu, Nov 05, 2026 at 09:50:26AM +0000, Sudeep Holla wrote:
> > > On Tue, Sep 29, 2026 at 09:59:12AM +0000, Aniruddha Rao wrote:
> > > > Add required changes in the Tegra BPMP driver to make it compatible with
> > > > ACPI-based platforms.
> > > > 
> > > > On ACPI systems, IPC is handled through an AML method instead of the
> > > > kernel mailbox and IVC frameworks.
> > > > 
> > > > Clock, reset and power-domain providers are not controlled by the Linux
> > > > BPMP driver on ACPI-based systems, so do not initialize them there.
> > > > 
> > > 
> > > The above 2 statements are very clear and says this driver is not much
> > > useful on ACPI systems which is good and aligns with the general
> > > expectations.
> > > 
> > > > Keep transport initialization in the SoC-specific init operation. Use an
> > > > optional init_providers operation for DT child and provider registration
> > > > after BPMP communication has been established and the firmware tag has
> > > > been read. ACPI platforms leave this operation unset.
> > > > 
> > > 
> > > "ACPI platforms leave this operation unset" - I don't fully understand
> > > what this means ? If it means we need to do something on ACPI systems,
> > > why can't it be done by some boot firmware instead ?
> > 
> > I think it just means that the "init_providers" operation isn't needed
> > on ACPI systems because we don't expose clocks, resets or power domains
> > in ACPI (we do this only on DT so that we can have cross-references
> > between device tree nodes). I don't think anything needs to be done in
> > the ACPI case, so leaving this operation unset is exactly that.
> > 
> 
> Thanks for the confirmation.
> 
> > > > DT transports register an MRQ_PING handler for requests initiated by
> > > > BPMP firmware. This request direction was used only by a diagnostic
> > > > command in older firmware and is not provided by firmware on ACPI-based
> > > > systems. The ACPI transport therefore does not register an incoming
> > > > handler; its init operation only sends the outgoing MRQ_PING request used
> > > > to verify communication with firmware.
> > > > 
> > > 
> > > OK, I am more confused as you state more things are not needed on ACPI
> > > systems. Why do we need to add any support for ACPI systems then? Can you
> > > make it clear as what is needed on ACPI systems and why it needs to be
> > > done by OSPM and not any boot firmware if it is just one time initialisation.
> > 
> > My understanding of this is that the goal was to completely hide BPMP on
> > ACPI systems and do all the clock, reset and power domain handling via
> > standard ACPI operations. MBWT is a feature that's needed on ACPI
> > systems and that can't be represented as a standard ACPI operation, as I
> > understand it, hence the addition of ACPI support to BPMP.
> > 
> 
> OK.
> 
> > So some of this patch is stripping out things that don't make sense on
> > ACPI (the ACPI support for BPMP is very minimal) just to get enough
> > support in place to expose the MBWT caps via sysfs.
> > 
> 
> I am bit concerned as MBWT is something to do with memory bandwidth
> throttling and resctrl provides user ABI for such things, this sysfs
> may be duplicating part of it.
> 
> > The sysfs knobs exposed in patches 4 and 5 exist because the bandwidth
> > caps may need to be adjusted dynamically at runtime. It is indeed a bit
> > absurd to bootstrap a restricted version of BPMP like this for just this
> > one feature, but I don't see any alternatives.
> > 
> 
> Is MPAM/resctrl path explored and you have valid reasons to not use that
> and create your own sysfs ?

My understanding is that only monitoring is implemented for MPAM with no
way of actually controlling bandwidth through it.

I've started an internal discussion to evaluate whether we can avoid
custom sysfs attributes in favour of exposing them through resctrl.

Thierry

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

  reply	other threads:[~2026-11-06 12:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29  9:59 [PATCH v5 0/5] firmware: tegra: bpmp: Add ACPI and MBWT support Aniruddha Rao
2026-09-29  9:59 ` [PATCH v5 1/5] firmware: tegra: bpmp: Move channel initialization to helper Aniruddha Rao
2026-09-29  9:59 ` [PATCH v5 2/5] firmware: tegra: bpmp: Add ACPI support Aniruddha Rao
2026-11-05  9:50   ` Sudeep Holla
2026-11-05 13:07     ` Thierry Reding
2026-11-06  9:25       ` Sudeep Holla
2026-11-06 12:18         ` Thierry Reding [this message]
2026-11-06 14:32           ` Sudeep Holla
2026-09-29  9:59 ` [PATCH v5 3/5] firmware: tegra: bpmp: Add the Memory Bandwidth Throttler ABI definitions Aniruddha Rao
2026-09-29  9:59 ` [PATCH v5 4/5] firmware: tegra: bpmp: Add MBWT BPMP helpers Aniruddha Rao
2026-09-29  9:59 ` [PATCH v5 5/5] firmware: tegra: bpmp: Add MBWT sysfs interface Aniruddha Rao
2026-10-02  7:50 ` [PATCH v5 0/5] firmware: tegra: bpmp: Add ACPI and MBWT support Thierry Reding

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=au3Ag3uEKhppG930@orome \
    --to=thierry.reding@kernel.org \
    --cc=anrao@nvidia.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=sudeep.holla@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

all inboxes | Powered by JetHome®