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>
This commit is contained in:
Maxime Ripard
2023-04-14 12:57:53 +02:00
committed by Dom Cobley
parent b0f7178b0a
commit 8631dee6a2
2 changed files with 25 additions and 0 deletions

View File

@@ -39,6 +39,9 @@ struct vc4_dummy_plane {
struct vc4_plane plane;
};
struct vc4_dummy_plane *vc4_dummy_plane(struct kunit *test,
struct drm_device *drm,
enum drm_plane_type type);
struct drm_plane *vc4_dummy_plane(struct kunit *test, struct drm_device *drm,
enum drm_plane_type type);

View File

@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
#include <drm/drm_kunit_helpers.h>
#include <drm/drm_atomic_uapi.h>
#include <drm/drm_plane.h>
#include <kunit/test.h>
@@ -37,3 +38,24 @@ struct drm_plane *vc4_dummy_plane(struct kunit *test, struct drm_device *drm,
return 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;
}