In preparation to improve error handling throughout all test cases, introduce a macro to check for EDEADLK and automate the restart of the atomic sequence.
Signed-off-by: Cristian Ciocaltea <cristian.ciocal...@collabora.com> --- drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 c8969ee6518954ab4496d3a4398f428bf4104a36..c8bb131d63ea6d0c9e166c8d9ba5e403118cd9f1 100644 --- a/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c +++ b/drivers/gpu/drm/tests/drm_hdmi_state_helper_test.c @@ -224,6 +224,16 @@ drm_kunit_helper_connector_hdmi_init(struct kunit *test, test_edid_hdmi_1080p_rgb_max_200mhz); } +#define drm_kunit_atomic_restart_on_deadlock(ret, state, ctx, start) do { \ + if (ret == -EDEADLK) { \ + if (state) \ + drm_atomic_state_clear(state); \ + ret = drm_modeset_backoff(ctx); \ + if (!ret) \ + goto start; \ + } \ +} while (0) + /* * Test that if we change the RGB quantization property to a different * value, we trigger a mode change on the connector's CRTC, which will -- 2.49.0