drm/modes: Introduce more named modes
Now that we can easily extend the named modes list, let's add a few more analog TV modes that were used in the wild, and some unit tests to make sure it works as intended. Reviewed-by: Noralf Trønnes <noralf@tronnes.org> Tested-by: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com> Acked-in-principle-or-something-like-that-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://lore.kernel.org/r/20220728-rpi-analog-tv-properties-v10-11-256dad125326@cerno.tech Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
parent
eab2161609
commit
d5a88691ef
|
@ -26,6 +26,14 @@ Valid mode specifiers (mode_option argument)::
|
|||
with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
|
||||
Things between square brackets are optional.
|
||||
|
||||
Valid names are::
|
||||
|
||||
- NSTC: 480i output, with the CCIR System-M TV mode and NTSC color encoding
|
||||
- NTSC-J: 480i output, with the CCIR System-M TV mode, the NTSC color
|
||||
encoding, and a black level equal to the blanking level.
|
||||
- PAL: 576i output, with the CCIR System-B TV mode and PAL color encoding
|
||||
- PAL-M: 480i output, with the CCIR System-M TV mode and PAL color encoding
|
||||
|
||||
If 'M' is specified in the mode_option argument (after <yres> and before
|
||||
<bpp> and <refresh>, if specified) the timings will be calculated using
|
||||
VESA(TM) Coordinated Video Timings instead of looking up the mode from a table.
|
||||
|
|
|
@ -2274,7 +2274,9 @@ struct drm_named_mode {
|
|||
|
||||
static const struct drm_named_mode drm_named_modes[] = {
|
||||
NAMED_MODE("NTSC", 13500, 720, 480, DRM_MODE_FLAG_INTERLACE, DRM_MODE_TV_MODE_NTSC),
|
||||
NAMED_MODE("NTSC-J", 13500, 720, 480, DRM_MODE_FLAG_INTERLACE, DRM_MODE_TV_MODE_NTSC_J),
|
||||
NAMED_MODE("PAL", 13500, 720, 576, DRM_MODE_FLAG_INTERLACE, DRM_MODE_TV_MODE_PAL),
|
||||
NAMED_MODE("PAL-M", 13500, 720, 480, DRM_MODE_FLAG_INTERLACE, DRM_MODE_TV_MODE_PAL_M),
|
||||
};
|
||||
|
||||
static int drm_mode_parse_cmdline_named_mode(const char *name,
|
||||
|
|
|
@ -150,7 +150,9 @@ static void drm_test_pick_cmdline_named(struct kunit *test)
|
|||
static const
|
||||
struct drm_connector_pick_cmdline_mode_test drm_connector_pick_cmdline_mode_tests[] = {
|
||||
TEST_CMDLINE("NTSC", drm_mode_analog_ntsc_480i),
|
||||
TEST_CMDLINE("NTSC-J", drm_mode_analog_ntsc_480i),
|
||||
TEST_CMDLINE("PAL", drm_mode_analog_pal_576i),
|
||||
TEST_CMDLINE("PAL-M", drm_mode_analog_ntsc_480i),
|
||||
};
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue