Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63b93c08 authored by Russell King's avatar Russell King
Browse files

drm/armada: move plane works to overlay



Only overlay makes use of these now, so move these to the overlay code.

Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
parent d40af7b1
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -48,8 +48,6 @@ struct armada_plane_work {
struct armada_plane {
	struct drm_plane	base;
	wait_queue_head_t	frame_wait;
	bool			next_work;
	struct armada_plane_work works[2];
	struct armada_plane_work *work;
};
#define drm_to_armada_plane(p) container_of(p, struct armada_plane, base)
+8 −4
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@ struct armada_ovl_plane_properties {

struct armada_ovl_plane {
	struct armada_plane base;
	struct armada_plane_work works[2];
	bool next_work;
	bool wait_vblank;
	struct armada_ovl_plane_properties prop;
};
@@ -245,7 +247,7 @@ static int armada_overlay_commit(struct drm_plane *plane,
	if (ret)
		goto put_state;

	work = &dplane->base.works[dplane->base.next_work];
	work = &dplane->works[dplane->next_work];

	if (plane->state->fb != state->fb) {
		/*
@@ -295,7 +297,7 @@ static int armada_overlay_commit(struct drm_plane *plane,
		ret = 0;
	}

	dplane->base.next_work = !dplane->base.next_work;
	dplane->next_work = !dplane->next_work;

put_state:
	drm_atomic_helper_plane_destroy_state(plane, state);
@@ -515,8 +517,10 @@ int armada_overlay_plane_create(struct drm_device *dev, unsigned long crtcs)
		return ret;
	}

	dplane->base.works[0].fn = armada_ovl_plane_work;
	dplane->base.works[1].fn = armada_ovl_plane_work;
	dplane->works[0].plane = &dplane->base.base;
	dplane->works[0].fn = armada_ovl_plane_work;
	dplane->works[1].plane = &dplane->base.base;
	dplane->works[1].fn = armada_ovl_plane_work;

	drm_plane_helper_add(&dplane->base.base,
			     &armada_overlay_plane_helper_funcs);
+0 −6
Original line number Diff line number Diff line
@@ -264,13 +264,7 @@ static const struct drm_plane_funcs armada_primary_plane_funcs = {

int armada_drm_plane_init(struct armada_plane *plane)
{
	unsigned int i;

	for (i = 0; i < ARRAY_SIZE(plane->works); i++)
		plane->works[i].plane = &plane->base;

	init_waitqueue_head(&plane->frame_wait);

	return 0;
}