Commit e83c30c7 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] ks0127: fix querystd

Return V4L2_STD_UNKNOWN if no signal is detected.
Otherwise AND the standard mask with the detected standards.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent ddc7f72a
...@@ -609,17 +609,24 @@ static int ks0127_status(struct v4l2_subdev *sd, u32 *pstatus, v4l2_std_id *pstd ...@@ -609,17 +609,24 @@ static int ks0127_status(struct v4l2_subdev *sd, u32 *pstatus, v4l2_std_id *pstd
{ {
int stat = V4L2_IN_ST_NO_SIGNAL; int stat = V4L2_IN_ST_NO_SIGNAL;
u8 status; u8 status;
v4l2_std_id std = V4L2_STD_ALL; v4l2_std_id std = pstd ? *pstd : V4L2_STD_ALL;
status = ks0127_read(sd, KS_STAT); status = ks0127_read(sd, KS_STAT);
if (!(status & 0x20)) /* NOVID not set */ if (!(status & 0x20)) /* NOVID not set */
stat = 0; stat = 0;
if (!(status & 0x01)) /* CLOCK set */ if (!(status & 0x01)) { /* CLOCK set */
stat |= V4L2_IN_ST_NO_COLOR; stat |= V4L2_IN_ST_NO_COLOR;
if ((status & 0x08)) /* PALDET set */ std = V4L2_STD_UNKNOWN;
std = V4L2_STD_PAL; } else {
if ((status & 0x08)) /* PALDET set */
std &= V4L2_STD_PAL;
else
std &= V4L2_STD_NTSC;
}
if ((status & 0x10)) /* PALDET set */
std &= V4L2_STD_525_60;
else else
std = V4L2_STD_NTSC; std &= V4L2_STD_625_50;
if (pstd) if (pstd)
*pstd = std; *pstd = std;
if (pstatus) if (pstatus)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment