Skip to content

Commit 2c17c9d

Browse files
mripardpopcornmix
authored andcommitted
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 <maxime@cerno.tech>
1 parent f062948 commit 2c17c9d

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

drivers/gpu/drm/vc4/tests/vc4_mock.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ struct vc4_dummy_plane {
3939
struct vc4_plane plane;
4040
};
4141

42+
struct vc4_dummy_plane *vc4_dummy_plane(struct kunit *test,
43+
struct drm_device *drm,
44+
enum drm_plane_type type);
4245
struct drm_plane *vc4_dummy_plane(struct kunit *test, struct drm_device *drm,
4346
enum drm_plane_type type);
4447

drivers/gpu/drm/vc4/tests/vc4_mock_plane.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0
22

33
#include <drm/drm_kunit_helpers.h>
4+
#include <drm/drm_atomic_uapi.h>
45
#include <drm/drm_plane.h>
56

67
#include <kunit/test.h>
@@ -37,3 +38,24 @@ struct drm_plane *vc4_dummy_plane(struct kunit *test, struct drm_device *drm,
3738

3839
return plane;
3940
}
41+
42+
struct drm_plane *
43+
vc4_mock_atomic_add_plane(struct kunit *test,
44+
struct drm_atomic_state *state,
45+
struct drm_crtc *crtc)
46+
{
47+
struct drm_plane_state *plane_state;
48+
struct drm_plane *plane;
49+
int ret;
50+
51+
plane = vc4_mock_find_plane_for_crtc(test, crtc);
52+
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, plane);
53+
54+
plane_state = drm_atomic_get_plane_state(state, plane);
55+
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, plane_state);
56+
57+
ret = drm_atomic_set_crtc_for_plane(plane_state, crtc);
58+
KUNIT_EXPECT_EQ(test, ret, 0);
59+
60+
return plane;
61+
}

0 commit comments

Comments
 (0)