All of lore.kernel.org
 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: 29+ 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

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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.