]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
ACPI / scan: Do not enumerate Indirect IO host children
authorJohn Garry <john.garry@huawei.com>
Wed, 14 Mar 2018 18:15:57 +0000 (02:15 +0800)
committerSeth Forshee <seth.forshee@canonical.com>
Tue, 10 Apr 2018 17:36:41 +0000 (12:36 -0500)
commitd1b720aad5e8a2a7c21fc2440c6fd2abf54b2968
treea7ccd8bc2f86ce8286703fc97dccbc854fbbfb7a
parent012002458ea2f21246bbc1c0b2814d6f28feac97
ACPI / scan: Do not enumerate Indirect IO host children

BugLink: https://bugs.launchpad.net/bugs/1762758
Through the logical PIO framework, systems which otherwise have no IO space
access to legacy ISA/LPC devices may access these devices through so-called
"indirect IO" method.  In this, IO space accesses for non-PCI hosts are
redirected to a host LLDD to manually generate the IO space (bus) accesses.
Hosts are able to register a region in logical PIO space to map to its bus
address range.

Indirect IO child devices have an associated host-specific bus address.
Special translation is required to map between a logical PIO address for a
device and its host bus address.

Since in the ACPI tables the child device IO resources would be the
host-specific values, it is required the ACPI scan code should not
enumerate these devices, and that this should be the responsibility of the
host driver so that it can "fixup" the resources so that they map to the
appropriate logical PIO addresses.

To avoid enumerating these child devices, add a check from
acpi_device_enumeration_by_parent() as to whether the parent for a device
is a member of a known list of "indirect IO" hosts.  For now, the HiSilicon
LPC host controller ID is added.

Tested-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit dfda4492322ed0a1eb9c4d4715c4b90c9af57352)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/acpi/scan.c