soc/intel/skylake: Fix ACPI exception AE_NOT_FOUND
Make sure to match devices on the root bus only. This fixes an issue where the SoC returned "MCHC" as ACPI name for devices behind bridge devices, as the DEVFN matched. Fixes observed "ACPI exception: AE_NOT_FOUND" in dmesg, as the ACPI path no longer contains invalid names. Tested on Supermicro X11SSH-TF. Change-Id: I6eca37a1792287502a46a90144f2f0d8e12ae5d4 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/35621 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
6ba9b5a86f
commit
45ffee8346
|
@ -760,6 +760,10 @@ const char *soc_acpi_name(const struct device *dev)
|
||||||
if (dev->path.type != DEVICE_PATH_PCI)
|
if (dev->path.type != DEVICE_PATH_PCI)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
/* Only match devices on the root bus */
|
||||||
|
if (dev->bus && dev->bus->secondary > 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
switch (dev->path.pci.devfn) {
|
switch (dev->path.pci.devfn) {
|
||||||
case SA_DEVFN_ROOT: return "MCHC";
|
case SA_DEVFN_ROOT: return "MCHC";
|
||||||
case SA_DEVFN_IGD: return "GFX0";
|
case SA_DEVFN_IGD: return "GFX0";
|
||||||
|
|
Loading…
Reference in New Issue