On Fri, May 10, 2024 at 6:10 PM Armin Wolf <W_Armin@xxxxxx> wrote: > > Am 10.05.24 um 16:03 schrieb Rafael J. Wysocki: > > > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > > > > It is reported that _DSM evaluation fails in ucsi_acpi_dsm() on Lenovo > > IdeaPad Pro 5 due to a missing address space handler for the EC address > > space: > > > > ACPI Error: No handler for Region [ECSI] (000000007b8176ee) [EmbeddedControl] (20230628/evregion-130) > > > > This happens because the EC driver only registers the EC address space > > handler for operation regions defined in the EC device scope of the > > ACPI namespace while the operation region being accessed by the _DSM > > in question is located beyond that scope. > > > > To address this, modify the ACPI EC driver to install the EC address > > space handler at the root of the ACPI namespace. > > > > Note that this change is consistent with some examples in the ACPI > > specification in which EC operation regions located outside the EC > > device scope are used (for example, see Section 9.17.15 in ACPI 6.5), > > so the current behavior of the EC driver is arguably questionable. > > Hi, > > the patch itself looks good to me, but i wonder what happens if multiple > ACPI EC devices are present. How would we handle such a situation? I'm wondering if this is a theoretical question or do you have any existing or planned systems in mind? ec_read(), ec_write() and ec_transaction() use only the first EC that has been found anyway.