Re: [PATCH] media: i2c: cvs: Leave the privacy LED to firmware on Synaptics SVP7xxx
From: Antti Laakso
Date: Fri Oct 09 2026 - 06:48:28 EST
On Thu, Oct 08, 2026 at 08:39:37PM +0530, Praveen Puglia via B4 Relay wrote:
> From: Praveen Puglia <praveenpuglia@xxxxxxxxx>
>
> The Synaptics SVP7xxx (06cb:0701) quirk sets ICVS_HOST_PRIV_CTRL, so
> SET_DEV_HOST_ID tells the CVS firmware that the host owns the privacy
> LED. Nothing in the driver drives it, though: V4L2_CID_PRIVACY is a
> read-only placeholder. The firmware then never turns the LED on and the
> camera streams with the LED off.
>
> The host has no way to drive it on these machines either. On the Dell
> Pro Max 16 Premium (MA16250) the only camera LED that INT3472 exposes
> is the IR flood LED. The out-of-tree Intel vision driver sends
> privacy_led_host = 0 for this bridge, and the LED works there.
>
> Drop ICVS_HOST_PRIV_CTRL from the quirk (quirks 0x7a -> 0x3a). The LED
> now turns on while streaming and the stream is unaffected.
>
> Tested on a Dell Pro Max 16 Premium (MA16250) with v7.2.8.
>
> Fixes: 8e2b43d2c10b ("media: i2c: cvs: Add driver of Intel Computer Vision Sensing Controller(CVS)")
> Cc: stable@xxxxxxxxxxxxxxx
> Link: https://github.com/intel/ipu6-drivers/issues/417
> Assisted-by: Claude:claude-opus-5-5
> Signed-off-by: Praveen Puglia <praveenpuglia@xxxxxxxxx>
> ---
> This is my first kernel patch. I found and debugged this with an AI
> assistant (Claude), then verified it myself on the laptop: quirks read
> 0x3a, the LED turns on and off with streaming, and the stream is
> unchanged. Tested as a rebuilt module on Fedora's v7.2.8, not on
> v7.3-rc.
>
> Marco Nenciarini reproduced this on the same laptop with Debian and
> v7.2.6, and found no host-controlled privacy LED pin in the DSDT/SSDTs:
> https://github.com/intel/ipu6-drivers/issues/417#issuecomment-5996738346
> ---
> drivers/media/i2c/cvs/core.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/media/i2c/cvs/core.c b/drivers/media/i2c/cvs/core.c
> index d4a3b9c3ba..3520325717 100644
> --- a/drivers/media/i2c/cvs/core.c
> +++ b/drivers/media/i2c/cvs/core.c
> @@ -72,7 +72,6 @@ static const struct icvs_device_quirk cvs_quirk_table[] = {
> }, /* Lattice NX33 */
> { 0x06CB, 0x0701, ICVS_SKIP_FW_RESET |
> ICVS_HOST_SENSOR_PWR_CTRL |
> - ICVS_HOST_PRIV_CTRL |
> ICVS_FW_BUF_SIZE_256 |
> ICVS_FW_HEADER_SIZE_256
> }, /* Synaptics SVP7xxx */
>
> ---
> base-commit: 47324d3a5b3abd781295044d01d92d09f184e872
> change-id: 20261008-cvs-privacy-led-7d0f2327c31f
>
> Best regards,
> --
> Praveen Puglia <praveenpuglia@xxxxxxxxx>
>
Tested-by: Antti Laakso <antti.laakso@xxxxxxxxxxxxxxx>