From 69426c6c9bb1601a200dc5dd7ffcc5d542e545b1 Mon Sep 17 00:00:00 2001 From: Bradford Love Date: Thu, 12 Mar 2026 16:35:25 -0500 Subject: [PATCH] media: cx231xx: Fix AGC levels for NTSC-M Windows uses the implemented command sequence to set AGC for NTSC-M. The previous Linux values work, mostly, but on some embedded platforms NTSC-M is very unstable. The Windows default values completely fix any signal stability issues and produce a clear image. Signed-off-by: Bradford Love Signed-off-by: Hans Verkuil --- drivers/media/usb/cx231xx/cx231xx-avcore.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/media/usb/cx231xx/cx231xx-avcore.c b/drivers/media/usb/cx231xx/cx231xx-avcore.c index 1cfec76b72f3..0a5c635da040 100644 --- a/drivers/media/usb/cx231xx/cx231xx-avcore.c +++ b/drivers/media/usb/cx231xx/cx231xx-avcore.c @@ -2027,10 +2027,9 @@ int cx231xx_dif_set_standard(struct cx231xx *dev, u32 standard) status = vid_blk_write_word(dev, DIF_SRC_GAIN_CONTROL, 0x000035e8); - status = vid_blk_write_word(dev, DIF_AGC_CTRL_IF, 0xC2262600); - status = vid_blk_write_word(dev, DIF_AGC_CTRL_INT, - 0xC2262600); - status = vid_blk_write_word(dev, DIF_AGC_CTRL_RF, 0xC2262600); + status = vid_blk_write_word(dev, DIF_AGC_CTRL_IF, 0xC2262600); + status = vid_blk_write_word(dev, DIF_AGC_CTRL_INT, 0xC2260000); + status = vid_blk_write_word(dev, DIF_AGC_CTRL_RF, 0xC2260000); /* Save the Spec Inversion value */ dif_misc_ctrl_value &= FLD_DIF_SPEC_INV;