Browse Source

[media] cx231xx: properly set active line count for PAL/SECAM

The cx231xx_do_mode_ctrl_overrides() function was not touching the vactive line
count for PAL/SECAM modes, which in some use cases results in it being left in
the chip default state of 480 (NTSC).

Explicitly set the values, as is already done for NTSC.

Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Devin Heitmueller 15 năm trước cách đây
mục cha
commit
222c435205

+ 14 - 0
drivers/media/video/cx231xx/cx231xx-avcore.c

@@ -1013,6 +1013,13 @@ int cx231xx_do_mode_ctrl_overrides(struct cx231xx *dev)
 							VID_BLK_I2C_ADDRESS,
 							VID_BLK_I2C_ADDRESS,
 							VERT_TIM_CTRL,
 							VERT_TIM_CTRL,
 							FLD_VBLANK_CNT, 0x24);
 							FLD_VBLANK_CNT, 0x24);
+		status = cx231xx_read_modify_write_i2c_dword(dev,
+							VID_BLK_I2C_ADDRESS,
+							VERT_TIM_CTRL,
+							FLD_VACTIVE_CNT,
+							cx231xx_set_field
+							(FLD_VACTIVE_CNT,
+							 0x240));
 		status = cx231xx_read_modify_write_i2c_dword(dev,
 		status = cx231xx_read_modify_write_i2c_dword(dev,
 							VID_BLK_I2C_ADDRESS,
 							VID_BLK_I2C_ADDRESS,
 							VERT_TIM_CTRL,
 							VERT_TIM_CTRL,
@@ -1033,6 +1040,13 @@ int cx231xx_do_mode_ctrl_overrides(struct cx231xx *dev)
 							VID_BLK_I2C_ADDRESS,
 							VID_BLK_I2C_ADDRESS,
 							VERT_TIM_CTRL,
 							VERT_TIM_CTRL,
 							FLD_VBLANK_CNT, 0x24);
 							FLD_VBLANK_CNT, 0x24);
+		status = cx231xx_read_modify_write_i2c_dword(dev,
+							VID_BLK_I2C_ADDRESS,
+							VERT_TIM_CTRL,
+							FLD_VACTIVE_CNT,
+							cx231xx_set_field
+							(FLD_VACTIVE_CNT,
+							 0x240));
 		status = cx231xx_read_modify_write_i2c_dword(dev,
 		status = cx231xx_read_modify_write_i2c_dword(dev,
 							VID_BLK_I2C_ADDRESS,
 							VID_BLK_I2C_ADDRESS,
 							VERT_TIM_CTRL,
 							VERT_TIM_CTRL,