[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m3mtqedfsg.fsf@t19.piap.pl>
Date: Thu, 22 Jul 2021 08:27:27 +0200
From: Krzysztof Hałasa <khalasa@...p.pl>
To: Hans Verkuil <hverkuil@...all.nl>
Cc: Tim Harvey <tharvey@...eworks.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-media@...r.kernel.org, lkml <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH REPOST] TDA1997x: replace video detection routine
Hans,
I have a problem with matching H/V sync polarities. It appears the
standard modes use different polarity settings, and HDMI doesn't have
separate sync lines, it uses in-band signaling. I don't know what
polarity should I set for the v4l2_find_dv_timings_cap() ->
v4l2_match_dv_timings() to succeed.
1. I can try all 4 combinations (+/+, +/-, -/+, -/-) and see if there is
a match. Seems weird to me.
2. I can add a flag to v4l2_find_dv_timings_cap() ->
v4l2_match_dv_timings() which asks for the polarities to be ignored.
3. I could add
#define V4L2_DV_VSYNC_POS_POL 0x00000001
#define V4L2_DV_HSYNC_POS_POL 0x00000002
+#define V4L2_DV_VSYNC_ANY_POL 0x00000004
+#define V4L2_DV_HSYNC_ANY_POL 0x00000008
and v4l2_match_dv_timings() would skip comparing them. A bit hacky.
4. I could also add
#define V4L2_DV_VSYNC_POS_POL 0x00000001
#define V4L2_DV_HSYNC_POS_POL 0x00000002
+#define V4L2_DV_VSYNC_NEG_POL 0x00000004
+#define V4L2_DV_HSYNC_NEG_POL 0x00000008
and, likewise, v4l2_match_dv_timings() would know what to do. This is
IMHO cleaner but requires much more changes in other code (like
drivers).
Any other idea?
Perhaps I should do "2"?
Thanks,
--
Krzysztof "Chris" Hałasa
Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa
Powered by blists - more mailing lists