Messages in this thread | | | From | Krzysztof Hałasa <> | Subject | Re: [PATCH REPOST] TDA1997x: replace video detection routine | Date | Thu, 22 Jul 2021 08:27:27 +0200 |
| |
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
| |