From a2f912c44b98acb6c10c977db105e199011c09b5 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Fri, 14 Apr 2023 12:57:53 +0200 Subject: [PATCH] drm/vc4: tests: Add helper to add a new plane to a state We'll start to add some tests for the plane state logic, so let's create a helper to add a plane to an existing atomic state. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/tests/vc4_mock.h | 4 ++++ drivers/gpu/drm/vc4/tests/vc4_mock_plane.c | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) --- a/drivers/gpu/drm/vc4/tests/vc4_mock.h +++ b/drivers/gpu/drm/vc4/tests/vc4_mock.h @@ -42,6 +42,10 @@ struct vc4_dummy_plane { struct vc4_dummy_plane *vc4_dummy_plane(struct kunit *test, struct drm_device *drm, enum drm_plane_type type); +struct drm_plane * +vc4_mock_atomic_add_plane(struct kunit *test, + struct drm_atomic_state *state, + struct drm_crtc *crtc); struct vc4_dummy_crtc { struct vc4_crtc crtc; --- a/drivers/gpu/drm/vc4/tests/vc4_mock_plane.c +++ b/drivers/gpu/drm/vc4/tests/vc4_mock_plane.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 #include +#include #include #include #include @@ -46,3 +47,24 @@ struct vc4_dummy_plane *vc4_dummy_plane( return dummy_plane; } + +struct drm_plane * +vc4_mock_atomic_add_plane(struct kunit *test, + struct drm_atomic_state *state, + struct drm_crtc *crtc) +{ + struct drm_plane_state *plane_state; + struct drm_plane *plane; + int ret; + + plane = vc4_mock_find_plane_for_crtc(test, crtc); + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, plane); + + plane_state = drm_atomic_get_plane_state(state, plane); + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, plane_state); + + ret = drm_atomic_set_crtc_for_plane(plane_state, crtc); + KUNIT_EXPECT_EQ(test, ret, 0); + + return plane; +}