Re: [PATCH] ACPI: scan: Honor _DEP for Intel CVS devices
From: Thorsten Leemhuis
Date: Sat Sep 12 2026 - 13:08:37 EST
On 6/1/26 21:40, Miguel Vadillo wrote:
> 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.
TWIMC, there is a bug report where one or two people claim that this
change caused a regression; the report is quite verbose (guess LLM
assisted) and hard to grasp for me as outsider; requests for
clarifications from my side were not really fruitful. Not sure what to
make of this, but I thought I'd let you know; for details see:
https://bugzilla.kernel.org/show_bug.cgi?id=221988
Ciao, Thorsten
> 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 */