Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7dd8fbbe authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] adv7183: fix querystd



If no signal is detected, return V4L2_STD_UNKNOWN. Otherwise AND the standard
with the detected standards.
Note that the v4l2 core initializes the std with tvnorms before calling the
querystd ioctl.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Cc: Scott Jiang <scott.jiang.linux@gmail.com>
Acked-by: default avatarScott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent ca371575
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -374,28 +374,28 @@ static int adv7183_querystd(struct v4l2_subdev *sd, v4l2_std_id *std)
	reg = adv7183_read(sd, ADV7183_STATUS_1);
	switch ((reg >> 0x4) & 0x7) {
	case 0:
		*std = V4L2_STD_NTSC;
		*std &= V4L2_STD_NTSC;
		break;
	case 1:
		*std = V4L2_STD_NTSC_443;
		*std &= V4L2_STD_NTSC_443;
		break;
	case 2:
		*std = V4L2_STD_PAL_M;
		*std &= V4L2_STD_PAL_M;
		break;
	case 3:
		*std = V4L2_STD_PAL_60;
		*std &= V4L2_STD_PAL_60;
		break;
	case 4:
		*std = V4L2_STD_PAL;
		*std &= V4L2_STD_PAL;
		break;
	case 5:
		*std = V4L2_STD_SECAM;
		*std &= V4L2_STD_SECAM;
		break;
	case 6:
		*std = V4L2_STD_PAL_Nc;
		*std &= V4L2_STD_PAL_Nc;
		break;
	case 7:
		*std = V4L2_STD_SECAM;
		*std &= V4L2_STD_SECAM;
		break;
	default:
		*std = V4L2_STD_UNKNOWN;