From: Jernej Skrabec Date: Tue, 4 Nov 2025 18:09:42 +0000 (+0100) Subject: drm/sun4i: Nuke mixer pointer from layer code X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=54c33a4fcf155bade9e270527670432f56e309ec;p=thirdparty%2Fkernel%2Flinux.git drm/sun4i: Nuke mixer pointer from layer code It's not used anymore, so remove it. This allows trully independent layer state from mixer. Reviewed-by: Chen-Yu Tsai Tested-by: Ryan Walklin Signed-off-by: Jernej Skrabec Link: https://patch.msgid.link/20251104180942.61538-31-jernej.skrabec@gmail.com Signed-off-by: Chen-Yu Tsai --- diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c index 5fd5781d4b135..ce9c155bfad7f 100644 --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c @@ -269,7 +269,7 @@ static void sun8i_mixer_commit(struct sunxi_engine *engine, int w, h, x, y, zpos; bool enable; - if (!(plane->possible_crtcs & drm_crtc_mask(crtc)) || layer->mixer != mixer) + if (!(plane->possible_crtcs & drm_crtc_mask(crtc))) continue; plane_state = drm_atomic_get_new_plane_state(state, plane); @@ -337,9 +337,8 @@ static struct drm_plane **sun8i_layers_init(struct drm_device *drm, if (mixer->cfg->de_type == SUN8I_MIXER_DE33) phy_index = mixer->cfg->map[i]; - layer = sun8i_vi_layer_init_one(drm, mixer, type, - mixer->engine.regs, i, - phy_index, plane_cnt, + layer = sun8i_vi_layer_init_one(drm, type, mixer->engine.regs, + i, phy_index, plane_cnt, &mixer->cfg->lay_cfg); if (IS_ERR(layer)) { dev_err(drm->dev, @@ -363,9 +362,8 @@ static struct drm_plane **sun8i_layers_init(struct drm_device *drm, if (mixer->cfg->de_type == SUN8I_MIXER_DE33) phy_index = mixer->cfg->map[index]; - layer = sun8i_ui_layer_init_one(drm, mixer, type, - mixer->engine.regs, index, - phy_index, plane_cnt, + layer = sun8i_ui_layer_init_one(drm, type, mixer->engine.regs, + index, phy_index, plane_cnt, &mixer->cfg->lay_cfg); if (IS_ERR(layer)) { dev_err(drm->dev, "Couldn't initialize %s plane\n", diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/sun8i_mixer.h index 3948023e095b1..e2f83301aae8d 100644 --- a/drivers/gpu/drm/sun4i/sun8i_mixer.h +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h @@ -226,7 +226,6 @@ enum { struct sun8i_layer { struct drm_plane plane; - struct sun8i_mixer *mixer; int type; int index; int channel; diff --git a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c index a8a67241c822c..f08f6da55dd0c 100644 --- a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c +++ b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c @@ -258,7 +258,6 @@ static const uint64_t sun8i_layer_modifiers[] = { }; struct sun8i_layer *sun8i_ui_layer_init_one(struct drm_device *drm, - struct sun8i_mixer *mixer, enum drm_plane_type type, struct regmap *regs, int index, int phy_index, @@ -272,7 +271,6 @@ struct sun8i_layer *sun8i_ui_layer_init_one(struct drm_device *drm, if (!layer) return ERR_PTR(-ENOMEM); - layer->mixer = mixer; layer->type = SUN8I_LAYER_TYPE_UI; layer->index = index; layer->channel = phy_index; diff --git a/drivers/gpu/drm/sun4i/sun8i_ui_layer.h b/drivers/gpu/drm/sun4i/sun8i_ui_layer.h index c357b39999ff2..1581ffc6d4e5c 100644 --- a/drivers/gpu/drm/sun4i/sun8i_ui_layer.h +++ b/drivers/gpu/drm/sun4i/sun8i_ui_layer.h @@ -50,7 +50,6 @@ struct sun8i_mixer; struct sun8i_layer; struct sun8i_layer *sun8i_ui_layer_init_one(struct drm_device *drm, - struct sun8i_mixer *mixer, enum drm_plane_type type, struct regmap *regs, int index, int phy_index, diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c index da0d9167d3281..ca3ab59e108d4 100644 --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c @@ -409,7 +409,6 @@ static const uint64_t sun8i_layer_modifiers[] = { }; struct sun8i_layer *sun8i_vi_layer_init_one(struct drm_device *drm, - struct sun8i_mixer *mixer, enum drm_plane_type type, struct regmap *regs, int index, int phy_index, @@ -426,7 +425,6 @@ struct sun8i_layer *sun8i_vi_layer_init_one(struct drm_device *drm, if (!layer) return ERR_PTR(-ENOMEM); - layer->mixer = mixer; layer->type = SUN8I_LAYER_TYPE_VI; layer->index = index; layer->channel = phy_index; diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.h b/drivers/gpu/drm/sun4i/sun8i_vi_layer.h index 6ec68baa24094..29cc5573691f9 100644 --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.h +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.h @@ -55,7 +55,6 @@ struct sun8i_mixer; struct sun8i_layer; struct sun8i_layer *sun8i_vi_layer_init_one(struct drm_device *drm, - struct sun8i_mixer *mixer, enum drm_plane_type type, struct regmap *regs, int index, int phy_index,