ACPI: scan: Defer enumeration of devices with a _DEP pointing to IVSC device
authorWentong Wu <wentong.wu@intel.com>
Sat, 29 Jul 2023 11:52:55 +0000 (19:52 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 17 Aug 2023 16:29:05 +0000 (18:29 +0200)
commit7f6fd06d34f4a9bd62bc30e9232934cfb89ae4d8
treee446b8bff252404287d37d668088b9b28b7bdc9a
parent2ccdd1b13c591d306f0401d98dedc4bdcd02b421
ACPI: scan: Defer enumeration of devices with a _DEP pointing to IVSC device

Inside IVSC, switching ownership requires an interface with two
different hardware modules, ACE and CSI. The software interface
to these modules is based on Intel MEI framework. Usually mei
client devices are dynamically created, so the info of consumers
depending on mei client devices is not present in the firmware
tables.

This causes problems with the probe ordering with respect to
drivers for consumers of these MEI client devices. But on these
camera sensor devices, the ACPI nodes describing the sensors all
have a _DEP dependency on the matching MEI bus ACPI device, so
adding IVSC MEI bus ACPI device to acpi_honor_dep_ids allows
solving the probe-ordering problem by deferring the enumeration of
ACPI-devices which have a _DEP dependency on an IVSC mei bus ACPI
device.

On TGL platform, the HID of IVSC MEI bus ACPI device is INTC1059,
and on ADL platform, the HID is INTC1095. So add both of them to
acpi_honor_dep_ids.

Signed-off-by: Wentong Wu <wentong.wu@intel.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/scan.c