Introduce a few macros to facilitate setting custom (i.e. non-default) EDID data during connector initialization.
The actual conversion to use the new helpers is handled separately. Signed-off-by: Cristian Ciocaltea <cristian.ciocal...@collabora.com> --- drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 43 +++++++++++----------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c index 7ffd666753b10bc991894e238206a3c5328d0e23..bcbd146fb655f4402529e59af09c99dbae7be0bf 100644 --- a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c +++ b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c @@ -140,10 +140,12 @@ static const struct drm_connector_funcs dummy_connector_funcs = { static struct drm_atomic_helper_connector_hdmi_priv * -drm_kunit_helper_connector_hdmi_init_funcs(struct kunit *test, - unsigned int formats, - unsigned int max_bpc, - const struct drm_connector_hdmi_funcs *hdmi_funcs) +connector_hdmi_init_with_edid_funcs(struct kunit *test, + unsigned int formats, + unsigned int max_bpc, + const struct drm_connector_hdmi_funcs *hdmi_funcs, + const char *edid_data, + size_t edid_len) { struct drm_atomic_helper_connector_hdmi_priv *priv; struct drm_connector *conn; @@ -197,30 +199,27 @@ drm_kunit_helper_connector_hdmi_init_funcs(struct kunit *test, drm_mode_config_reset(drm); + if (edid_data && edid_len) { + ret = set_connector_edid(test, &priv->connector, edid_data, edid_len); + KUNIT_ASSERT_GT(test, ret, 0); + } + return priv; } -static -struct drm_atomic_helper_connector_hdmi_priv * -drm_kunit_helper_connector_hdmi_init(struct kunit *test, - unsigned int formats, - unsigned int max_bpc) -{ - struct drm_atomic_helper_connector_hdmi_priv *priv; - int ret; +#define drm_kunit_helper_connector_hdmi_init_funcs(test, formats, max_bpc, funcs) \ + connector_hdmi_init_with_edid_funcs(test, formats, max_bpc, funcs, NULL, 0) - priv = drm_kunit_helper_connector_hdmi_init_funcs(test, - formats, max_bpc, - &dummy_connector_hdmi_funcs); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, priv); +#define drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test, formats, max_bpc, funcs, edid) \ + connector_hdmi_init_with_edid_funcs(test, formats, max_bpc, funcs, edid, ARRAY_SIZE(edid)) - ret = set_connector_edid(test, &priv->connector, - test_edid_hdmi_1080p_rgb_max_200mhz, - ARRAY_SIZE(test_edid_hdmi_1080p_rgb_max_200mhz)); - KUNIT_ASSERT_GT(test, ret, 0); +#define drm_kunit_helper_connector_hdmi_init_with_edid(test, formats, max_bpc, edid) \ + drm_kunit_helper_connector_hdmi_init_with_edid_funcs(test, formats, max_bpc, \ + &dummy_connector_hdmi_funcs, edid) - return priv; -} +#define drm_kunit_helper_connector_hdmi_init(test, formats, max_bpc) \ + drm_kunit_helper_connector_hdmi_init_with_edid(test, formats, max_bpc, \ + test_edid_hdmi_1080p_rgb_max_200mhz) /* * Test that if we change the RGB quantization property to a different -- 2.49.0