solo6x10: fix broken PAL support.
Subsystems (2)
PATCH 1/1 solo6x10: fix broken PAL support.
The video_type was never set correctly for PAL: it's not a bool, instead it is a register value.
Signed-off-by Hans Verkuil <[email protected]>
Tested-by Hans Verkuil <[email protected]>
Reported-by [email protected]
--- drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c | 2 +- drivers/staging/media/solo6x10/solo6x10-v4l2.c | 7 ++++--- drivers/staging/media/solo6x10/solo6x10.h | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-)
drivers/staging/media/solo6x10/solo6x10-v4l2-enc.c +1 -1
@@ -966,7 +966,7 @@ static int solo_enc_s_std(struct file *file, void *priv, v4l2_std_id std) {struct solo_enc_dev *solo_enc =video_drvdata (file); -return solo_set_video_type (solo_enc->solo_dev, std &V4L2_STD_PAL ); +return solo_set_video_type (solo_enc->solo_dev, std &V4L2_STD_625_50 ); } static int solo_enum_framesizes(struct file *file, void *priv,
drivers/staging/media/solo6x10/solo6x10-v4l2.c +4 -3
@@ -527,7 +527,7 @@ static int solo_g_std(struct file *file, void *priv, v4l2_std_id *i)return 0 ; } -int solo_set_video_type (struct solo_dev *solo_dev,bool type) +int solo_set_video_type (struct solo_dev *solo_dev,bool is_50hz) {int i;
@@ -537,7 +537,8 @@ int solo_set_video_type(struct solo_dev *solo_dev, bool type)for (i =0 ; i < solo_dev->nr_chans; i++)if (vb2_is_busy (&solo_dev->v4l2_enc[i]->vidq))return -EBUSY ; - solo_dev->video_type = type; + solo_dev->video_type = is_50hz ?SOLO_VO_FMT_TYPE_PAL : +SOLO_VO_FMT_TYPE_NTSC ;/* Reconfigure for the new standard */ solo_disp_init (solo_dev);solo_enc_init (solo_dev);
@@ -551,7 +552,7 @@ static int solo_s_std(struct file *file, void *priv, v4l2_std_id std) {struct solo_dev *solo_dev =video_drvdata (file); -return solo_set_video_type (solo_dev, std &V4L2_STD_PAL ); +return solo_set_video_type (solo_dev, std &V4L2_STD_625_50 ); }static int solo_s_ctrl (struct v4l2_ctrl *ctrl)
drivers/staging/media/solo6x10/solo6x10.h +1 -1
@@ -398,7 +398,7 @@ int solo_p2m_dma_desc(struct solo_dev *solo_dev, int desc_cnt);/* Global s_std ioctl */ -int solo_set_video_type (struct solo_dev *solo_dev,bool type); +int solo_set_video_type (struct solo_dev *solo_dev,bool is_50hz);void solo_update_mode (struct solo_enc_dev *solo_enc);/* Set the threshold for motion detection */
Signature · 1 line
1.8.5.1