Unverified Commit aa0b4a69 authored by Ondrej Jirman's avatar Ondrej Jirman Committed by Maxime Ripard
Browse files

drm/sun4i: Add more parameters to sunxi_engine commit callback



These will be needed later on when we move layer configuration to
crtc update.

Signed-off-by: default avatarOndrej Jirman <megi@xff.cz>
Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
Reviewed-by: default avatarJernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20240224150604.3855534-3-megi@xff.cz


Signed-off-by: default avatarMaxime Ripard <mripard@kernel.org>
parent 134155a5
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -69,7 +69,9 @@ static void sun4i_backend_disable_color_correction(struct sunxi_engine *engine)
			   SUN4I_BACKEND_OCCTL_ENABLE, 0);
}

static void sun4i_backend_commit(struct sunxi_engine *engine)
static void sun4i_backend_commit(struct sunxi_engine *engine,
				 struct drm_crtc *crtc,
				 struct drm_atomic_state *state)
{
	DRM_DEBUG_DRIVER("Committing changes\n");

+1 −1
Original line number Diff line number Diff line
@@ -91,7 +91,7 @@ static void sun4i_crtc_atomic_flush(struct drm_crtc *crtc,

	DRM_DEBUG_DRIVER("Committing plane changes\n");

	sunxi_engine_commit(scrtc->engine);
	sunxi_engine_commit(scrtc->engine, crtc, state);

	if (event) {
		crtc->state->event = NULL;
+4 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#include <linux/platform_device.h>
#include <linux/reset.h>

#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h>
#include <drm/drm_framebuffer.h>
@@ -249,7 +250,9 @@ int sun8i_mixer_drm_format_to_hw(u32 format, u32 *hw_format)
	return -EINVAL;
}

static void sun8i_mixer_commit(struct sunxi_engine *engine)
static void sun8i_mixer_commit(struct sunxi_engine *engine,
			       struct drm_crtc *crtc,
			       struct drm_atomic_state *state)
{
	DRM_DEBUG_DRIVER("Committing changes\n");

+10 −3
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
#define _SUNXI_ENGINE_H_

struct drm_plane;
struct drm_crtc;
struct drm_device;
struct drm_crtc_state;
struct drm_display_mode;
@@ -59,7 +60,9 @@ struct sunxi_engine_ops {
	 *
	 * This function is optional.
	 */
	void (*commit)(struct sunxi_engine *engine);
	void (*commit)(struct sunxi_engine *engine,
		       struct drm_crtc *crtc,
		       struct drm_atomic_state *state);

	/**
	 * @layers_init:
@@ -144,12 +147,16 @@ struct sunxi_engine {
/**
 * sunxi_engine_commit() - commit all changes of the engine
 * @engine:	pointer to the engine
 * @crtc:	pointer to crtc the engine is associated with
 * @state:	atomic state
 */
static inline void
sunxi_engine_commit(struct sunxi_engine *engine)
sunxi_engine_commit(struct sunxi_engine *engine,
		    struct drm_crtc *crtc,
		    struct drm_atomic_state *state)
{
	if (engine->ops && engine->ops->commit)
		engine->ops->commit(engine);
		engine->ops->commit(engine, crtc, state);
}

/**