]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/sun4i: Nuke mixer pointer from layer code
authorJernej Skrabec <jernej.skrabec@gmail.com>
Tue, 4 Nov 2025 18:09:42 +0000 (19:09 +0100)
committerChen-Yu Tsai <wens@kernel.org>
Wed, 12 Nov 2025 09:18:25 +0000 (17:18 +0800)
It's not used anymore, so remove it. This allows trully independent
layer state from mixer.

Reviewed-by: Chen-Yu Tsai <wens@kernel.org>
Tested-by: Ryan Walklin <ryan@testtoast.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20251104180942.61538-31-jernej.skrabec@gmail.com
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
drivers/gpu/drm/sun4i/sun8i_mixer.c
drivers/gpu/drm/sun4i/sun8i_mixer.h
drivers/gpu/drm/sun4i/sun8i_ui_layer.c
drivers/gpu/drm/sun4i/sun8i_ui_layer.h
drivers/gpu/drm/sun4i/sun8i_vi_layer.c
drivers/gpu/drm/sun4i/sun8i_vi_layer.h

index 5fd5781d4b1351e543a7a72b6eaa7b5cfbb74cdd..ce9c155bfad7fc85d1abf25ff01eb09813c38d65 100644 (file)
@@ -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",
index 3948023e095b1a7dac017fc1bf11f642f934f7b8..e2f83301aae8dcf6a91f0bf2745edb0b95d3fda1 100644 (file)
@@ -226,7 +226,6 @@ enum {
 
 struct sun8i_layer {
        struct drm_plane                plane;
-       struct sun8i_mixer              *mixer;
        int                             type;
        int                             index;
        int                             channel;
index a8a67241c822cbdb119f856342533a239297529e..f08f6da55dd0c5c760ce733431c81d217b6d10d2 100644 (file)
@@ -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;
index c357b39999ff2ec3efd10abdf9d7f406cd29c876..1581ffc6d4e5cf30cde00e8d9bb1aa4bfb67c076 100644 (file)
@@ -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,
index da0d9167d328130ac1040d601674fc7d816771c4..ca3ab59e108d47770f9c08a897b5fde1a9da5a7e 100644 (file)
@@ -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;
index 6ec68baa2409459dfa864dd932b3e05743b99c6b..29cc5573691f9c1d9492d30d29e1bf6c3e1ac842 100644 (file)
@@ -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,