From: Bhawanpreet Lakha <[email protected]> Add a KUnit test driving amdgpu_dm_connector_mode_valid() through the EDID-management branch for a forced-on connector.
Assisted-by: Copilot:Claude-Opus-4.8 Reviewed-by: Alex Hung <[email protected]> Signed-off-by: Bhawanpreet Lakha <[email protected]> Signed-off-by: Ivan Lipski <[email protected]> --- .../tests/amdgpu_dm_connector_test.c | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c index 23b83bbde73fd..fc16d3a35b653 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_connector_test.c @@ -6321,6 +6321,30 @@ static void dm_test_mode_valid_force_on_no_stream(struct kunit *test) MODE_ERROR); } +/** + * dm_test_mode_valid_edid_mgmt_forced - Test the forced-connector EDID refresh + * @test: The KUnit test context + * + * A forced connector with no emulated sink runs the one-time EDID mgmt refresh + * before validating; with no readable EDID no dc_sink appears and a non-on + * force still bails to MODE_ERROR. + */ +static void dm_test_mode_valid_edid_mgmt_forced(struct kunit *test) +{ + struct dm_test_edid_ctx *ctx = + dm_test_edid_ctx_alloc(test, DRM_MODE_CONNECTOR_DisplayPort); + struct drm_display_mode *mode; + + ctx->link->connector_signal = SIGNAL_TYPE_DISPLAY_PORT; + + mode = kunit_kzalloc(test, sizeof(*mode), GFP_KERNEL); + KUNIT_ASSERT_NOT_NULL(test, mode); + + KUNIT_EXPECT_EQ(test, + amdgpu_dm_connector_mode_valid(&ctx->aconnector->base, mode), + MODE_ERROR); +} + /** * dm_test_update_after_detect_mst_noop - Test MST connectors are left to drm_mst * @test: The KUnit test context @@ -7178,6 +7202,7 @@ static struct kunit_case amdgpu_dm_connector_tests[] = { KUNIT_CASE(dm_test_mode_valid_dblscan_rejected), KUNIT_CASE(dm_test_mode_valid_no_dc_sink), KUNIT_CASE(dm_test_mode_valid_force_on_no_stream), + KUNIT_CASE(dm_test_mode_valid_edid_mgmt_forced), /* amdgpu_dm_hdmi_cec_set_edid */ KUNIT_CASE(dm_test_hdmi_cec_set_edid_no_notifier), /* amdgpu_dm_s3_handle_hdmi_cec */ -- 2.43.0
