mirror of
https://github.com/torvalds/linux.git
synced 2026-04-24 09:35:52 -04:00
Merge tag 'drm-misc-next-2024-07-04' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next
drm-misc-next for $kernel-version:
UAPI Changes:
Cross-subsystem Changes:
Core Changes:
- dp/mst: Fix daisy-chaining at resume
- dsc: Add helper to dump the DSC configuration
- tests: Add tests for the new monochrome TV mode variant
Driver Changes:
- ast: Refactor the mode setting code
- panfrost: Fix devfreq job reporting
- stm: Add LDVS support, DSI PHY updates
- panels:
- New panel: AUO G104STN01, K&d kd101ne3-40ti,
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
From: Maxime Ripard <mripard@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240704-curvy-outstanding-lizard-bcea78@houat
This commit is contained in:
@@ -992,6 +992,17 @@ static const struct drm_cmdline_tv_option_test drm_cmdline_tv_option_tests[] = {
|
||||
TV_OPT_TEST(PAL_M, "720x480i,tv_mode=PAL-M", drm_mode_analog_ntsc_480i),
|
||||
TV_OPT_TEST(PAL_N, "720x576i,tv_mode=PAL-N", drm_mode_analog_pal_576i),
|
||||
TV_OPT_TEST(SECAM, "720x576i,tv_mode=SECAM", drm_mode_analog_pal_576i),
|
||||
{
|
||||
.name = "MONO_525",
|
||||
.cmdline = "720x480i,tv_mode=Mono",
|
||||
.mode_fn = drm_mode_analog_ntsc_480i,
|
||||
.tv_mode = DRM_MODE_TV_MODE_MONOCHROME,
|
||||
}, {
|
||||
.name = "MONO_625",
|
||||
.cmdline = "720x576i,tv_mode=Mono",
|
||||
.mode_fn = drm_mode_analog_pal_576i,
|
||||
.tv_mode = DRM_MODE_TV_MODE_MONOCHROME,
|
||||
},
|
||||
};
|
||||
|
||||
static void drm_cmdline_tv_option_desc(const struct drm_cmdline_tv_option_test *t,
|
||||
|
||||
@@ -777,6 +777,7 @@ struct drm_get_tv_mode_from_name_test drm_get_tv_mode_from_name_valid_tests[] =
|
||||
TV_MODE_NAME("PAL-M", DRM_MODE_TV_MODE_PAL_M),
|
||||
TV_MODE_NAME("PAL-N", DRM_MODE_TV_MODE_PAL_N),
|
||||
TV_MODE_NAME("SECAM", DRM_MODE_TV_MODE_SECAM),
|
||||
TV_MODE_NAME("Mono", DRM_MODE_TV_MODE_MONOCHROME),
|
||||
};
|
||||
|
||||
static void
|
||||
|
||||
@@ -130,7 +130,38 @@ static void drm_test_modes_analog_tv_pal_576i_inlined(struct kunit *test)
|
||||
KUNIT_EXPECT_TRUE(test, drm_mode_equal(expected, mode));
|
||||
}
|
||||
|
||||
static void drm_test_modes_analog_tv_mono_576i(struct kunit *test)
|
||||
{
|
||||
struct drm_test_modes_priv *priv = test->priv;
|
||||
struct drm_display_mode *mode;
|
||||
|
||||
mode = drm_analog_tv_mode(priv->drm,
|
||||
DRM_MODE_TV_MODE_MONOCHROME,
|
||||
13500 * HZ_PER_KHZ, 720, 576,
|
||||
true);
|
||||
KUNIT_ASSERT_NOT_NULL(test, mode);
|
||||
|
||||
KUNIT_EXPECT_EQ(test, drm_mode_vrefresh(mode), 50);
|
||||
KUNIT_EXPECT_EQ(test, mode->hdisplay, 720);
|
||||
|
||||
/* BT.601 defines hsync_start at 732 for 576i */
|
||||
KUNIT_EXPECT_EQ(test, mode->hsync_start, 732);
|
||||
|
||||
/*
|
||||
* The PAL standard expects a line to take 64us. With a pixel
|
||||
* clock of 13.5 MHz, a pixel takes around 74ns, so we need to
|
||||
* have 64000ns / 74ns = 864.
|
||||
*
|
||||
* This is also mandated by BT.601.
|
||||
*/
|
||||
KUNIT_EXPECT_EQ(test, mode->htotal, 864);
|
||||
|
||||
KUNIT_EXPECT_EQ(test, mode->vdisplay, 576);
|
||||
KUNIT_EXPECT_EQ(test, mode->vtotal, 625);
|
||||
}
|
||||
|
||||
static struct kunit_case drm_modes_analog_tv_tests[] = {
|
||||
KUNIT_CASE(drm_test_modes_analog_tv_mono_576i),
|
||||
KUNIT_CASE(drm_test_modes_analog_tv_ntsc_480i),
|
||||
KUNIT_CASE(drm_test_modes_analog_tv_ntsc_480i_inlined),
|
||||
KUNIT_CASE(drm_test_modes_analog_tv_pal_576i),
|
||||
|
||||
Reference in New Issue
Block a user