From: Bradford Love Date: Thu, 12 Mar 2026 21:35:25 +0000 (-0500) Subject: media: cx231xx: Fix AGC levels for NTSC-M X-Git-Tag: v7.1-rc1~169^2~143 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69426c6c9bb1601a200dc5dd7ffcc5d542e545b1;p=thirdparty%2Flinux.git 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 --- diff --git a/drivers/media/usb/cx231xx/cx231xx-avcore.c b/drivers/media/usb/cx231xx/cx231xx-avcore.c index 1cfec76b72f37..0a5c635da0406 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;