[PATCH] ACPI: scan: Honor _DEP for Intel CVS devices
From: Miguel Vadillo
Date: Mon Jun 01 2026 - 15:47:12 EST
CVS (Computer Vision Sensing) is an ACPI-enumerated device that sits
inline in the CSI-2 path between the camera sensor and Intel IPU.
On platforms where CVS is present, the camera sensor's ACPI node
declares a _DEP dependency on the CVS device.
The CVS driver must be fully initialized before camera sensor drivers
probe, because CVS controls the CSI-2 link ownership handshake (via
GPIO REQ/RESP), the MIPI/CSI-2 lane configuration, and the camera
power domain. Without CVS ready, the sensor driver can bind but the
CSI-2 stream will not function correctly.
The CVS driver calls acpi_dev_clear_dependencies() at the end of its
probe() to unblock waiting consumers once it is ready.
Move the CVS HIDs from acpi_ignore_dep_ids[] to acpi_honor_dep_ids[]
so that camera sensor enumeration is deferred until the CVS driver has
finished probing, matching the behavior already in place for IVSC.
Signed-off-by: Miguel Vadillo <miguel.vadillo@xxxxxxxxx>
---
Note: this patch has a functional dependency on the CVS driver and its
IPU bridge support, which are queued in media-next for v7.2. Without
those drivers, no code will call acpi_dev_clear_dependencies() for the
CVS HIDs and camera sensors will remain deferred indefinitely.
The CVS driver series (v5) can be found at:
https://lore.kernel.org/linux-media/20260527170531.383871-1-miguel.vadillo@xxxxxxxxx/
drivers/acpi/scan.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 530547cda8b2..1463eb3a4f6e 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -848,8 +848,6 @@ static bool acpi_info_matches_ids(struct acpi_device_info *info,
static const char * const acpi_ignore_dep_ids[] = {
"PNP0D80", /* Windows-compatible System Power Management Controller */
"INT33BD", /* Intel Baytrail Mailbox Device */
- "INTC10DE", /* Intel CVS LNL */
- "INTC10E0", /* Intel CVS ARL */
"LATT2021", /* Lattice FW Update Client Driver */
NULL
};
@@ -861,6 +859,9 @@ static const char * const acpi_honor_dep_ids[] = {
"INTC1095", /* IVSC (ADL) driver must be loaded to allow i2c access to camera sensors */
"INTC100A", /* IVSC (RPL) driver must be loaded to allow i2c access to camera sensors */
"INTC10CF", /* IVSC (MTL) driver must be loaded to allow i2c access to camera sensors */
+ "INTC10DE", /* CVS (LNL) driver must be loaded to allow camera streaming */
+ "INTC10E0", /* CVS (ARL) driver must be loaded to allow camera streaming */
+ "INTC10E1", /* CVS (PTL) driver must be loaded to allow camera streaming */
"RSCV0001", /* RISC-V PLIC */
"RSCV0002", /* RISC-V APLIC */
"RSCV0005", /* RISC-V SBI MPXY MBOX */
--
2.43.0