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: Ondrej Jirman <megi@xff.cz> Reviewed-by: Maxime Ripard <mripard@kernel.org> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://lore.kernel.org/r/20240224150604.3855534-3-megi@xff.cz Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
parent
134155a50c
commit
aa0b4a69b6
@ -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");
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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");
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user