[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: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ddc7f72a3d
commit
e83c30c723
|
@ -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;
|
||||||
|
std = V4L2_STD_UNKNOWN;
|
||||||
|
} else {
|
||||||
if ((status & 0x08)) /* PALDET set */
|
if ((status & 0x08)) /* PALDET set */
|
||||||
std = V4L2_STD_PAL;
|
std &= V4L2_STD_PAL;
|
||||||
else
|
else
|
||||||
std = V4L2_STD_NTSC;
|
std &= V4L2_STD_NTSC;
|
||||||
|
}
|
||||||
|
if ((status & 0x10)) /* PALDET set */
|
||||||
|
std &= V4L2_STD_525_60;
|
||||||
|
else
|
||||||
|
std &= V4L2_STD_625_50;
|
||||||
if (pstd)
|
if (pstd)
|
||||||
*pstd = std;
|
*pstd = std;
|
||||||
if (pstatus)
|
if (pstatus)
|
||||||
|
|
Loading…
Reference in New Issue