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

Reply via email to