Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Bryan O'Donoghue <bod@kernel.org>
To: Bjorn Andersson <andersson@kernel.org>
Cc: Hans de Goede <johannes.goede@oss.qualcomm.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Srinivas Kandagatla <srini@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Dmitry Baryshkov <lumag@kernel.org>,
	Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>,
	Abel Vesa <abel.vesa@oss.qualcomm.com>,
	linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-acpi@vger.kernel.org
Subject: Re: [RFC 00/12] RFC: Devicetree-ACPI hybrid mode
Date: Mon, 29 Jun 2026 09:41:52 +0100	[thread overview]
Message-ID: <00d29422-b887-41cc-a41d-a6177bdd2edd@kernel.org> (raw)
In-Reply-To: <akHHCx0MLYu3vfbq@baldur>

On 29/06/2026 02:34, Bjorn Andersson wrote:
> On Fri, Jun 26, 2026 at 03:43:59PM +0100, Bryan O'Donoghue wrote:
>> On 26/06/2026 15:33, Bryan O'Donoghue wrote:
>>> On 23/06/2026 15:52, Hans de Goede wrote:
>>>> Comments, thoughts ?
>>>
>>> Throw out DT and just do this...
>>>
>>> One thing I like about this approach TBH is that you don't do the easy
>>> thing of presuming to push the hard work into the bootloader - thus
>>> creating a dependency on bootloader.
>>>
>>> We've had _alot_ of problems doing DT selectivity to get OSes installed
>>> on arm64 laptops. You mentioned I2C-HID devices and EC controllers which
>>> I agree are a good and obvious targets.
>>>
>>> I don't think this can replace a full and complete DT but, then I don't
>>> think that should be the objective.
>>>
>>> Much like installing cursed OSes like Windows on "normal" laptops or x86
>>> machines, you'd expect to boot in ACPI mode have enough of the OS
>>> running to install more of the OS - which I think _can_ be a viable
>>> objective with an ACPI-DT translator.
>>>
>>> Sadly OpenBSD could boot all the way to console on the Qcom laptops
>>> where Linux could not - because ACPI support was better there.
>>>
>>> And, we have Nvidia laptops coming too, Windows laptops which will parse
>>> ACPI tables to boot.
>>>
>>> There's almost no upside in having ACPI data and not trying to make
>>> maximal use of it, especially if you don't have a DT supplied by
>>> antecedent boot stages.
>>>
>>> ---
>>> bod
>>>
>>
>> I'm going to agree with myself some more on the boot story.
>>
> 
> Good for you.
>> As a Linux user I don't expect everything to work, especially so on aarch64
>> but, if I can get to a boot console with a screen and keyboard - I have
>> scope to play in a way I otherwise don't - parsing DSDT from Windows and
>> walking backwards to DT.
>>
> 
> We supported this on SDM850 and 8cx, we had sufficient amount of
> support/quirks in Linux to allow you to boot and run the Debian
> installer - but that's how far it was possible to push things without
> improving ACPI specification and tables.
> 
> Given that you couldn't run any real use cases, this was not adequately
> maintained and as we moved on to 8cx Gen3 I argued that we should
> prioritize the DT-effort.

Boot to console is infinitely superior to not booting at all, if OpenBSD 
can boot to console on day 1, a community project with no funded effort, 
how much effort is really involved in Linux being able to do the same 
thing ?

https://undeadly.org/cgi?action=article;sid=20240620105457#:~:text=se%3E%20Date%3A%202024%2D06,I%20beat%20my%20last%20record.

Console, keyboard, NVME, USB. I believe their policy is also ACPI to 
bootstrap until DT gets going sufficient.

There's nothing to stop populating DT nodes with ACPI data being part of 
that boot story.
>> DT _should_ be the landing zone of course but, ACPI-DT hybrid to "just boot"
>> seems like an obvious yes to me.
>>
> 
> But this proposal doesn't give you ACPI+DT, it gives you DT+ACPI, you
> still need a base DT that is somewhat functional - and then you
> explicitly need to make references to the external ACPI representation.
> 
> Quite nice for experimentation, but I don't think it will solve either
> of your problems.
There are two arguments, three really.

- Boot in ACPI mode to console.
   This should be done, it at least allows people to tinker with their
   hardware.

- DT-ACPI mode.
   This proposal. Surely worthwhile doing and not incompatible with your
   notion of shipping an upstream compliant DT somewhere.
   In fact it might even let you boot enough of a system based on a
   silicon vendor DT that never changes to again - allow end users to
   actually do something with their hardware absent lots of upstream
   churn post release.

- ACPI-DT mode.
   It is entirely possible to have Linux eat ACPI tables and produce
   in-memory DT. Not easy or nice but technically feasible.

   It could even be hybrid with the first bullet point.

Either way supporting more ACPI on the boot path shouldn't be a barrier 
to better DT support.

---
bod

  reply	other threads:[~2026-06-29  8:41 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <pskkNka1-QtLVb1tcyyUSjNNeMAWUUOLyvn0XSpq55AyeqXnEjOWDCXF1pWVAufJEya52NTx6ZCXz5dMHcMlyQ==@protonmail.internalid>
2026-06-23 14:52 ` [RFC 00/12] RFC: Devicetree-ACPI hybrid mode Hans de Goede
2026-06-23 14:52   ` [RFC 01/12] ACPI: Introduce DT-ACPI " Hans de Goede
2026-06-23 14:52   ` [RFC 02/12] arm64: acpi: Cleanup acpi=[on|off|force] handling Hans de Goede
2026-06-23 14:52   ` [RFC 03/12] arm64: acpi: add acpi=hybrid support Hans de Goede
2026-06-23 14:52   ` [RFC 04/12] ACPI: Add helpers for dealing with ACPI fwnode as secondary fwnode Hans de Goede
2026-06-23 14:52   ` [RFC 05/12] ACPI: glue: Implement setting secondary-fwnode for DT-ACPI hybrid mode Hans de Goede
2026-06-23 14:52   ` [RFC 06/12] ACPI: scan: Retry acpi_device_notify() in " Hans de Goede
2026-06-23 14:52   ` [RFC 07/12] ACPI: Make device_match_acpi_handle() also check the secondary fwnode Hans de Goede
2026-06-23 14:52   ` [RFC 08/12] irqchip/gic-v3: Always call acpi_set_irq_model() Hans de Goede
2026-06-23 14:52   ` [RFC 09/12] pinctrl: qcom: Add support for WoA ACPI tables virtual TLMM pin numbers Hans de Goede
2026-06-29  1:59     ` Bjorn Andersson
2026-06-29 10:30       ` Hans de Goede
2026-06-23 14:52   ` [RFC 10/12] i2c: acpi: Also register ACPI i2c_clients for adapters with a secondary ACPI fwnode Hans de Goede
2026-06-23 14:52   ` [RFC 11/12] i2c: qcom-geni: Fall back to i2c_acpi_find_bus_speed() Hans de Goede
2026-06-23 14:52   ` [RFC 12/12] arm64: dts: qcom: x1e78100-thinkpad-t14s: Move keyb and touchpad to ACPI enumeration Hans de Goede
2026-06-29  1:43     ` Bjorn Andersson
2026-06-29 10:19       ` Hans de Goede
2026-06-25 10:18   ` [RFC 00/12] RFC: Devicetree-ACPI hybrid mode Konrad Dybcio
2026-06-26 14:33   ` Bryan O'Donoghue
2026-06-26 14:43     ` Bryan O'Donoghue
2026-06-29  1:34       ` Bjorn Andersson
2026-06-29  8:41         ` Bryan O'Donoghue [this message]
2026-06-26 15:52   ` Sudeep Holla
2026-06-26 20:57     ` Dmitry Baryshkov
2026-06-27 14:12       ` Sudeep Holla
2026-06-28 19:23         ` Dmitry Baryshkov
2026-06-29  8:22           ` Sudeep Holla
2026-06-29  2:27   ` Bjorn Andersson
2026-06-29 10:07     ` Hans de Goede
2026-06-29 11:48   ` Hanjun Guo

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=00d29422-b887-41cc-a41d-a6177bdd2edd@kernel.org \
    --to=bod@kernel.org \
    --cc=abel.vesa@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=bartosz.golaszewski@oss.qualcomm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=johannes.goede@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=lumag@kernel.org \
    --cc=rafael@kernel.org \
    --cc=srini@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