@@ -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
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.ciocaltea@collabora.com> --- drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 43 +++++++++++----------- 1 file changed, 21 insertions(+), 22 deletions(-)