mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] media: i2c: cvs: Leave the privacy LED to firmware on Synaptics SVP7xxx
@ 2026-10-08 15:09 Praveen Puglia via B4 Relay
  2026-10-08 15:33 ` Marco Nenciarini
  0 siblings, 1 reply; 2+ messages in thread
From: Praveen Puglia via B4 Relay @ 2026-10-08 15:09 UTC (permalink / raw)
  To: Miguel Vadillo, Mauro Carvalho Chehab, Sakari Ailus, Mehdi Djait
  Cc: Marco Nenciarini, linux-media, linux-kernel, stable, Praveen Puglia

From: Praveen Puglia <praveenpuglia@gmail.com>

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@vger.kernel.org
Link: https://github.com/intel/ipu6-drivers/issues/417
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Praveen Puglia <praveenpuglia@gmail.com>
---
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@gmail.com>



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-08 15:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-08 15:09 [PATCH] media: i2c: cvs: Leave the privacy LED to firmware on Synaptics SVP7xxx Praveen Puglia via B4 Relay
2026-10-08 15:33 ` Marco Nenciarini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®