]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some unneeded 5.10 patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Dec 2023 07:53:46 +0000 (08:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Dec 2023 07:53:46 +0000 (08:53 +0100)
queue-5.10/drm-atomic-pass-the-full-state-to-crtc-atomic-begin-.patch [deleted file]
queue-5.10/drm-mediatek-add-spinlock-for-setting-vblank-event-i.patch
queue-5.10/drm-use-state-helper-instead-of-crtc-state-pointer.patch [deleted file]
queue-5.10/series

diff --git a/queue-5.10/drm-atomic-pass-the-full-state-to-crtc-atomic-begin-.patch b/queue-5.10/drm-atomic-pass-the-full-state-to-crtc-atomic-begin-.patch
deleted file mode 100644 (file)
index 2e0bc63..0000000
+++ /dev/null
@@ -1,1126 +0,0 @@
-From bfc9ac42f8c6d5c3dee78c8daf97ed426e628449 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 28 Oct 2020 13:32:22 +0100
-Subject: drm/atomic: Pass the full state to CRTC atomic begin and flush
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Maxime Ripard <maxime@cerno.tech>
-
-[ Upstream commit f6ebe9f9c9233a6114eb922aba9a0c9ccc2d2e14 ]
-
-The current atomic helpers have either their object state being passed as
-an argument or the full atomic state.
-
-The former is the pattern that was done at first, before switching to the
-latter for new hooks or when it was needed.
-
-Let's start convert all the remaining helpers to provide a consistent
-interface, starting with the CRTC's atomic_begin and atomic_flush.
-
-The conversion was done using the coccinelle script below, built tested on
-all the drivers and actually tested on vc4.
-
-virtual report
-
-@@
-struct drm_crtc_helper_funcs *FUNCS;
-identifier old_crtc_state, old_state;
-identifier crtc;
-identifier f;
-@@
-
- f(struct drm_crtc_state *old_crtc_state)
- {
-       ...
-       struct drm_atomic_state *old_state = old_crtc_state->state;
-       <...
--      FUNCS->atomic_begin(crtc, old_crtc_state);
-+      FUNCS->atomic_begin(crtc, old_state);
-       ...>
- }
-
-@@
-struct drm_crtc_helper_funcs *FUNCS;
-identifier old_crtc_state, old_state;
-identifier crtc;
-identifier f;
-@@
-
- f(struct drm_crtc_state *old_crtc_state)
- {
-       ...
-       struct drm_atomic_state *old_state = old_crtc_state->state;
-       <...
--      FUNCS->atomic_flush(crtc, old_crtc_state);
-+      FUNCS->atomic_flush(crtc, old_state);
-       ...>
- }
-
-@@
-struct drm_crtc_helper_funcs *FUNCS;
-struct drm_crtc *crtc;
-struct drm_crtc_state *crtc_state;
-identifier dev, state;
-identifier f;
-@@
-
- f(struct drm_device *dev, struct drm_atomic_state *state, ...)
- {
-       <...
--      FUNCS->atomic_begin(crtc, crtc_state);
-+      FUNCS->atomic_begin(crtc, state);
-       ...>
- }
-
-@@
-struct drm_crtc_helper_funcs *FUNCS;
-struct drm_crtc *crtc;
-struct drm_crtc_state *crtc_state;
-identifier dev, state;
-identifier f;
-@@
-
- f(struct drm_device *dev, struct drm_atomic_state *state, ...)
- {
-       <...
--      FUNCS->atomic_flush(crtc, crtc_state);
-+      FUNCS->atomic_flush(crtc, state);
-       ...>
- }
-
-@@
-identifier crtc, old_state;
-@@
-
- struct drm_crtc_helper_funcs {
-       ...
--      void (*atomic_begin)(struct drm_crtc *crtc, struct drm_crtc_state *old_state);
-+      void (*atomic_begin)(struct drm_crtc *crtc, struct drm_atomic_state *state);
-       ...
--      void (*atomic_flush)(struct drm_crtc *crtc, struct drm_crtc_state *old_state);
-+      void (*atomic_flush)(struct drm_crtc *crtc, struct drm_atomic_state *state);
-       ...
-}
-
-@ crtc_atomic_func @
-identifier helpers;
-identifier func;
-@@
-
-(
-static struct drm_crtc_helper_funcs helpers = {
-       ...,
-       .atomic_begin = func,
-       ...,
-};
-|
-static struct drm_crtc_helper_funcs helpers = {
-       ...,
-       .atomic_flush = func,
-       ...,
-};
-)
-
-@ ignores_old_state @
-identifier crtc_atomic_func.func;
-identifier crtc, old_state;
-@@
-
-void func(struct drm_crtc *crtc,
-               struct drm_crtc_state *old_state)
-{
-       ... when != old_state
-}
-
-@ adds_old_state depends on crtc_atomic_func && !ignores_old_state @
-identifier crtc_atomic_func.func;
-identifier crtc, old_state;
-@@
-
-void func(struct drm_crtc *crtc, struct drm_crtc_state *old_state)
-{
-+      struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state, crtc);
-       ...
-}
-
-@ depends on crtc_atomic_func @
-identifier crtc_atomic_func.func;
-expression E;
-type T;
-@@
-
-void func(...)
-{
-       ...
--      T state = E;
-+      T crtc_state = E;
-       <+...
--      state
-+      crtc_state
-       ...+>
-
-}
-
-@ depends on crtc_atomic_func @
-identifier crtc_atomic_func.func;
-type T;
-@@
-
-void func(...)
-{
-       ...
--      T state;
-+      T crtc_state;
-       <+...
--      state
-+      crtc_state
-       ...+>
-
-}
-
-@@
-identifier old_state;
-identifier crtc;
-@@
-
- void vc4_hvs_atomic_flush(struct drm_crtc *crtc,
--                         struct drm_crtc_state *old_state
-+                         struct drm_atomic_state *state
-                          )
-{
-+      struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state, crtc);
-       ...
-}
-
-@@
-identifier old_state;
-identifier crtc;
-@@
-
- void vc4_hvs_atomic_flush(struct drm_crtc *crtc,
--                         struct drm_crtc_state *old_state
-+                         struct drm_atomic_state *state
-                          );
-
-@@
-identifier old_state;
-identifier crtc;
-@@
-
- void vmw_du_crtc_atomic_begin(struct drm_crtc *crtc,
--                         struct drm_crtc_state *old_state
-+                         struct drm_atomic_state *state
-                          )
-{
-       ...
-}
-
-@@
-identifier old_state;
-identifier crtc;
-@@
-
- void vmw_du_crtc_atomic_begin(struct drm_crtc *crtc,
--                         struct drm_crtc_state *old_state
-+                         struct drm_atomic_state *state
-                          );
-
-@@
-identifier old_state;
-identifier crtc;
-@@
-
- void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc,
--                         struct drm_crtc_state *old_state
-+                         struct drm_atomic_state *state
-                          )
-{
-       ...
-}
-
-@@
-identifier old_state;
-identifier crtc;
-@@
-
- void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc,
--                         struct drm_crtc_state *old_state
-+                         struct drm_atomic_state *state
-                          );
-
-@ depends on crtc_atomic_func @
-identifier crtc_atomic_func.func;
-identifier old_state;
-identifier crtc;
-@@
-
-void func(struct drm_crtc *crtc,
--             struct drm_crtc_state *old_state
-+             struct drm_atomic_state *state
-              )
-               { ... }
-
-@ include depends on adds_old_state @
-@@
-
- #include <drm/drm_atomic.h>
-
-@ no_include depends on !include && adds_old_state @
-@@
-
-+ #include <drm/drm_atomic.h>
-  #include <drm/...>
-
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
-Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-maxime@cerno.tech
-Stable-dep-of: fe4c5f662097 ("drm/mediatek: Add spinlock for setting vblank event in atomic_begin")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../gpu/drm/arm/display/komeda/komeda_crtc.c    |  4 +++-
- drivers/gpu/drm/arm/hdlcd_crtc.c                |  2 +-
- drivers/gpu/drm/armada/armada_crtc.c            |  4 ++--
- drivers/gpu/drm/ast/ast_mode.c                  |  5 ++++-
- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c  |  4 ++--
- drivers/gpu/drm/drm_atomic_helper.c             |  8 ++++----
- drivers/gpu/drm/exynos/exynos_drm_crtc.c        |  4 ++--
- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c      |  2 +-
- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c  |  4 ++--
- drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c |  4 ++--
- drivers/gpu/drm/imx/dcss/dcss-crtc.c            |  4 ++--
- drivers/gpu/drm/imx/ipuv3-crtc.c                |  4 ++--
- drivers/gpu/drm/ingenic/ingenic-drm-drv.c       | 17 +++++++++--------
- drivers/gpu/drm/mediatek/mtk_drm_crtc.c         | 16 ++++++++--------
- drivers/gpu/drm/meson/meson_crtc.c              |  4 ++--
- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c        |  4 ++--
- drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c       |  4 ++--
- drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c       |  4 ++--
- drivers/gpu/drm/mxsfb/mxsfb_kms.c               |  2 +-
- drivers/gpu/drm/omapdrm/omap_crtc.c             |  4 ++--
- drivers/gpu/drm/qxl/qxl_display.c               |  2 +-
- drivers/gpu/drm/rcar-du/rcar_du_crtc.c          |  4 ++--
- drivers/gpu/drm/rockchip/rockchip_drm_vop.c     |  8 ++++++--
- drivers/gpu/drm/sti/sti_crtc.c                  |  2 +-
- drivers/gpu/drm/stm/ltdc.c                      |  2 +-
- drivers/gpu/drm/sun4i/sun4i_crtc.c              |  6 ++++--
- drivers/gpu/drm/tegra/dc.c                      | 10 +++++-----
- drivers/gpu/drm/tidss/tidss_crtc.c              |  4 +++-
- drivers/gpu/drm/tilcdc/tilcdc_crtc.c            |  2 +-
- drivers/gpu/drm/vboxvideo/vbox_mode.c           |  2 +-
- drivers/gpu/drm/vc4/vc4_drv.h                   |  3 ++-
- drivers/gpu/drm/vc4/vc4_hvs.c                   |  4 +++-
- drivers/gpu/drm/virtio/virtgpu_display.c        |  2 +-
- drivers/gpu/drm/vkms/vkms_crtc.c                |  4 ++--
- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c             |  4 ++--
- drivers/gpu/drm/vmwgfx/vmwgfx_kms.h             |  4 ++--
- drivers/gpu/drm/xlnx/zynqmp_disp.c              |  4 ++--
- drivers/gpu/drm/zte/zx_vou.c                    |  2 +-
- include/drm/drm_modeset_helper_vtables.h        |  4 ++--
- 39 files changed, 97 insertions(+), 80 deletions(-)
-
-diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
-index f33418d6e1a08..3c77eeb0a7a0c 100644
---- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
-+++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
-@@ -379,8 +379,10 @@ komeda_crtc_atomic_disable(struct drm_crtc *crtc,
- static void
- komeda_crtc_atomic_flush(struct drm_crtc *crtc,
--                       struct drm_crtc_state *old)
-+                       struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old = drm_atomic_get_old_crtc_state(state,
-+                                                                 crtc);
-       /* commit with modeset will be handled in enable/disable */
-       if (drm_atomic_crtc_needs_modeset(crtc->state))
-               return;
-diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c
-index af67fefed38dc..bd17646f4e133 100644
---- a/drivers/gpu/drm/arm/hdlcd_crtc.c
-+++ b/drivers/gpu/drm/arm/hdlcd_crtc.c
-@@ -205,7 +205,7 @@ static enum drm_mode_status hdlcd_crtc_mode_valid(struct drm_crtc *crtc,
- }
- static void hdlcd_crtc_atomic_begin(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *state)
-+                                  struct drm_atomic_state *state)
- {
-       struct drm_pending_vblank_event *event = crtc->state->event;
-diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
-index a887b6a5f8bd7..13c7c474fb26e 100644
---- a/drivers/gpu/drm/armada/armada_crtc.c
-+++ b/drivers/gpu/drm/armada/armada_crtc.c
-@@ -427,7 +427,7 @@ static int armada_drm_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void armada_drm_crtc_atomic_begin(struct drm_crtc *crtc,
--                                       struct drm_crtc_state *old_crtc_state)
-+                                       struct drm_atomic_state *state)
- {
-       struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc);
-@@ -441,7 +441,7 @@ static void armada_drm_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void armada_drm_crtc_atomic_flush(struct drm_crtc *crtc,
--                                       struct drm_crtc_state *old_crtc_state)
-+                                       struct drm_atomic_state *state)
- {
-       struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc);
-diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
-index d27f2840b9555..84c2e90d415f4 100644
---- a/drivers/gpu/drm/ast/ast_mode.c
-+++ b/drivers/gpu/drm/ast/ast_mode.c
-@@ -777,8 +777,11 @@ static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc,
- }
- static void
--ast_crtc_helper_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state)
-+ast_crtc_helper_atomic_flush(struct drm_crtc *crtc,
-+                           struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state,
-+                                                                            crtc);
-       struct ast_private *ast = to_ast_private(crtc->dev);
-       struct ast_crtc_state *ast_crtc_state = to_ast_crtc_state(crtc->state);
-       struct ast_crtc_state *old_ast_crtc_state = to_ast_crtc_state(old_crtc_state);
-diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
-index ce246b96330b7..e7064abfa66ef 100644
---- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
-+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
-@@ -341,7 +341,7 @@ static int atmel_hlcdc_crtc_atomic_check(struct drm_crtc *c,
- }
- static void atmel_hlcdc_crtc_atomic_begin(struct drm_crtc *c,
--                                        struct drm_crtc_state *old_s)
-+                                        struct drm_atomic_state *state)
- {
-       struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c);
-@@ -356,7 +356,7 @@ static void atmel_hlcdc_crtc_atomic_begin(struct drm_crtc *c,
- }
- static void atmel_hlcdc_crtc_atomic_flush(struct drm_crtc *crtc,
--                                        struct drm_crtc_state *old_s)
-+                                        struct drm_atomic_state *state)
- {
-       /* TODO: write common plane control register if available */
- }
-diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
-index 0fde260b7edd8..121947e570e97 100644
---- a/drivers/gpu/drm/drm_atomic_helper.c
-+++ b/drivers/gpu/drm/drm_atomic_helper.c
-@@ -2526,7 +2526,7 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev,
-               if (active_only && !new_crtc_state->active)
-                       continue;
--              funcs->atomic_begin(crtc, old_crtc_state);
-+              funcs->atomic_begin(crtc, old_state);
-       }
-       for_each_oldnew_plane_in_state(old_state, plane, old_plane_state, new_plane_state, i) {
-@@ -2584,7 +2584,7 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev,
-               if (active_only && !new_crtc_state->active)
-                       continue;
--              funcs->atomic_flush(crtc, old_crtc_state);
-+              funcs->atomic_flush(crtc, old_state);
-       }
- }
- EXPORT_SYMBOL(drm_atomic_helper_commit_planes);
-@@ -2622,7 +2622,7 @@ drm_atomic_helper_commit_planes_on_crtc(struct drm_crtc_state *old_crtc_state)
-       crtc_funcs = crtc->helper_private;
-       if (crtc_funcs && crtc_funcs->atomic_begin)
--              crtc_funcs->atomic_begin(crtc, old_crtc_state);
-+              crtc_funcs->atomic_begin(crtc, old_state);
-       drm_for_each_plane_mask(plane, crtc->dev, plane_mask) {
-               struct drm_plane_state *old_plane_state =
-@@ -2648,7 +2648,7 @@ drm_atomic_helper_commit_planes_on_crtc(struct drm_crtc_state *old_crtc_state)
-       }
-       if (crtc_funcs && crtc_funcs->atomic_flush)
--              crtc_funcs->atomic_flush(crtc, old_crtc_state);
-+              crtc_funcs->atomic_flush(crtc, old_state);
- }
- EXPORT_SYMBOL(drm_atomic_helper_commit_planes_on_crtc);
-diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
-index de9fadccf22e5..3043f49c70f0c 100644
---- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
-+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
-@@ -62,7 +62,7 @@ static int exynos_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void exynos_crtc_atomic_begin(struct drm_crtc *crtc,
--                                   struct drm_crtc_state *old_crtc_state)
-+                                   struct drm_atomic_state *state)
- {
-       struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
-@@ -71,7 +71,7 @@ static void exynos_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void exynos_crtc_atomic_flush(struct drm_crtc *crtc,
--                                   struct drm_crtc_state *old_crtc_state)
-+                                   struct drm_atomic_state *state)
- {
-       struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
-diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c
-index b9ca81a6f80fb..9cd0c5c35af96 100644
---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c
-+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_crtc.c
-@@ -21,7 +21,7 @@
- #include "fsl_dcu_drm_plane.h"
- static void fsl_dcu_drm_crtc_atomic_flush(struct drm_crtc *crtc,
--                                        struct drm_crtc_state *old_crtc_state)
-+                                        struct drm_atomic_state *state)
- {
-       struct drm_device *dev = crtc->dev;
-       struct fsl_dcu_drm_device *fsl_dev = dev->dev_private;
-diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
-index 4d57ec688f827..222a895a3608e 100644
---- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
-+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
-@@ -393,7 +393,7 @@ static void hibmc_crtc_mode_set_nofb(struct drm_crtc *crtc)
- }
- static void hibmc_crtc_atomic_begin(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_state)
-+                                  struct drm_atomic_state *state)
- {
-       unsigned int reg;
-       struct drm_device *dev = crtc->dev;
-@@ -413,7 +413,7 @@ static void hibmc_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void hibmc_crtc_atomic_flush(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_state)
-+                                  struct drm_atomic_state *state)
- {
-       unsigned long flags;
-diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
-index e1108c1735ad0..32d3cc89dbe93 100644
---- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
-+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
-@@ -485,7 +485,7 @@ static void ade_crtc_mode_set_nofb(struct drm_crtc *crtc)
- }
- static void ade_crtc_atomic_begin(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_state)
-+                                struct drm_atomic_state *state)
- {
-       struct kirin_crtc *kcrtc = to_kirin_crtc(crtc);
-       struct ade_hw_ctx *ctx = kcrtc->hw_ctx;
-@@ -498,7 +498,7 @@ static void ade_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void ade_crtc_atomic_flush(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_state)
-+                                struct drm_atomic_state *state)
- {
-       struct kirin_crtc *kcrtc = to_kirin_crtc(crtc);
-diff --git a/drivers/gpu/drm/imx/dcss/dcss-crtc.c b/drivers/gpu/drm/imx/dcss/dcss-crtc.c
-index 36abff0890b28..98fb71ca06695 100644
---- a/drivers/gpu/drm/imx/dcss/dcss-crtc.c
-+++ b/drivers/gpu/drm/imx/dcss/dcss-crtc.c
-@@ -52,13 +52,13 @@ static const struct drm_crtc_funcs dcss_crtc_funcs = {
- };
- static void dcss_crtc_atomic_begin(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       drm_crtc_vblank_on(crtc);
- }
- static void dcss_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct dcss_crtc *dcss_crtc = container_of(crtc, struct dcss_crtc,
-                                                  base);
-diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
-index fd9d8e51837fa..cf1e39f83401f 100644
---- a/drivers/gpu/drm/imx/ipuv3-crtc.c
-+++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
-@@ -236,13 +236,13 @@ static int ipu_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void ipu_crtc_atomic_begin(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_crtc_state)
-+                                struct drm_atomic_state *state)
- {
-       drm_crtc_vblank_on(crtc);
- }
- static void ipu_crtc_atomic_flush(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_crtc_state)
-+                                struct drm_atomic_state *state)
- {
-       spin_lock_irq(&crtc->dev->event_lock);
-       if (crtc->state->event) {
-diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
-index 5ec9770e401e4..6d56b701118da 100644
---- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
-+++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
-@@ -287,7 +287,7 @@ ingenic_drm_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode
- }
- static void ingenic_drm_crtc_atomic_begin(struct drm_crtc *crtc,
--                                        struct drm_crtc_state *oldstate)
-+                                        struct drm_atomic_state *state)
- {
-       struct ingenic_drm *priv = drm_crtc_get_priv(crtc);
-       u32 ctrl = 0;
-@@ -307,26 +307,27 @@ static void ingenic_drm_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void ingenic_drm_crtc_atomic_flush(struct drm_crtc *crtc,
--                                        struct drm_crtc_state *oldstate)
-+                                        struct drm_atomic_state *state)
- {
-       struct ingenic_drm *priv = drm_crtc_get_priv(crtc);
--      struct drm_crtc_state *state = crtc->state;
--      struct drm_pending_vblank_event *event = state->event;
-+      struct drm_crtc_state *crtc_state = crtc->state;
-+      struct drm_pending_vblank_event *event = crtc_state->event;
--      if (drm_atomic_crtc_needs_modeset(state)) {
--              ingenic_drm_crtc_update_timings(priv, &state->mode);
-+      if (drm_atomic_crtc_needs_modeset(crtc_state)) {
-+              ingenic_drm_crtc_update_timings(priv, &crtc_state->mode);
-               priv->update_clk_rate = true;
-       }
-       if (priv->update_clk_rate) {
-               mutex_lock(&priv->clk_mutex);
--              clk_set_rate(priv->pix_clk, state->adjusted_mode.clock * 1000);
-+              clk_set_rate(priv->pix_clk,
-+                           crtc_state->adjusted_mode.clock * 1000);
-               priv->update_clk_rate = false;
-               mutex_unlock(&priv->clk_mutex);
-       }
-       if (event) {
--              state->event = NULL;
-+              crtc_state->event = NULL;
-               spin_lock_irq(&crtc->dev->event_lock);
-               if (drm_crtc_vblank_get(crtc) == 0)
-diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-index cc3cb5b63d444..067b4dc39f4f0 100644
---- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-@@ -578,24 +578,24 @@ static void mtk_drm_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void mtk_drm_crtc_atomic_begin(struct drm_crtc *crtc,
--                                    struct drm_crtc_state *old_crtc_state)
-+                                    struct drm_atomic_state *state)
- {
--      struct mtk_crtc_state *state = to_mtk_crtc_state(crtc->state);
-+      struct mtk_crtc_state *crtc_state = to_mtk_crtc_state(crtc->state);
-       struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
--      if (mtk_crtc->event && state->base.event)
-+      if (mtk_crtc->event && crtc_state->base.event)
-               DRM_ERROR("new event while there is still a pending event\n");
--      if (state->base.event) {
--              state->base.event->pipe = drm_crtc_index(crtc);
-+      if (crtc_state->base.event) {
-+              crtc_state->base.event->pipe = drm_crtc_index(crtc);
-               WARN_ON(drm_crtc_vblank_get(crtc) != 0);
--              mtk_crtc->event = state->base.event;
--              state->base.event = NULL;
-+              mtk_crtc->event = crtc_state->base.event;
-+              crtc_state->base.event = NULL;
-       }
- }
- static void mtk_drm_crtc_atomic_flush(struct drm_crtc *crtc,
--                                    struct drm_crtc_state *old_crtc_state)
-+                                    struct drm_atomic_state *state)
- {
-       struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
-       int i;
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index 2854272dc2d9b..c7f7bb160bba4 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -201,7 +201,7 @@ static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void meson_crtc_atomic_begin(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *state)
-+                                  struct drm_atomic_state *state)
- {
-       struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
-       unsigned long flags;
-@@ -217,7 +217,7 @@ static void meson_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void meson_crtc_atomic_flush(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_crtc_state)
-+                                  struct drm_atomic_state *state)
- {
-       struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
-       struct meson_drm *priv = meson_crtc->priv;
-diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
-index 4c64e2d4f6500..108911a43f92b 100644
---- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
-+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
-@@ -485,7 +485,7 @@ static void _dpu_crtc_setup_cp_blocks(struct drm_crtc *crtc)
- }
- static void dpu_crtc_atomic_begin(struct drm_crtc *crtc,
--              struct drm_crtc_state *old_state)
-+              struct drm_atomic_state *state)
- {
-       struct dpu_crtc_state *cstate = to_dpu_crtc_state(crtc->state);
-       struct drm_encoder *encoder;
-@@ -526,7 +526,7 @@ static void dpu_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void dpu_crtc_atomic_flush(struct drm_crtc *crtc,
--              struct drm_crtc_state *old_crtc_state)
-+              struct drm_atomic_state *state)
- {
-       struct dpu_crtc *dpu_crtc;
-       struct drm_device *dev;
-diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
-index a0253297bc769..69ac1eee1a227 100644
---- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
-+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c
-@@ -316,14 +316,14 @@ static int mdp4_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void mdp4_crtc_atomic_begin(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
-       DBG("%s: begin", mdp4_crtc->name);
- }
- static void mdp4_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
-       struct drm_device *dev = crtc->dev;
-diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
-index 60e7371cd0e0d..077369989a04b 100644
---- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
-+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
-@@ -775,13 +775,13 @@ static int mdp5_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void mdp5_crtc_atomic_begin(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       DBG("%s: begin", crtc->name);
- }
- static void mdp5_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
-       struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
-diff --git a/drivers/gpu/drm/mxsfb/mxsfb_kms.c b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
-index b535621f4f78d..d0e9d0ae9951f 100644
---- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c
-+++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c
-@@ -324,7 +324,7 @@ static int mxsfb_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_state)
-+                                  struct drm_atomic_state *state)
- {
-       struct drm_pending_vblank_event *event;
-diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
-index 328a4a74f534e..3bc060682dcdc 100644
---- a/drivers/gpu/drm/omapdrm/omap_crtc.c
-+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
-@@ -598,12 +598,12 @@ static int omap_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void omap_crtc_atomic_begin(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
- }
- static void omap_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct omap_drm_private *priv = crtc->dev->dev_private;
-       struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index f22a1b776f4ba..26294016f1e39 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -373,7 +373,7 @@ static void qxl_crtc_update_monitors_config(struct drm_crtc *crtc,
- }
- static void qxl_crtc_atomic_flush(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_crtc_state)
-+                                struct drm_atomic_state *state)
- {
-       qxl_crtc_update_monitors_config(crtc, "flush");
- }
-diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-index 065604c5837de..7007a8120394e 100644
---- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
-@@ -780,7 +780,7 @@ static void rcar_du_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void rcar_du_crtc_atomic_begin(struct drm_crtc *crtc,
--                                    struct drm_crtc_state *old_crtc_state)
-+                                    struct drm_atomic_state *state)
- {
-       struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc);
-@@ -809,7 +809,7 @@ static void rcar_du_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void rcar_du_crtc_atomic_flush(struct drm_crtc *crtc,
--                                    struct drm_crtc_state *old_crtc_state)
-+                                    struct drm_atomic_state *state)
- {
-       struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc);
-       struct drm_device *dev = rcrtc->crtc.dev;
-diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-index 682d78fab9a59..b7eeb3183aa94 100644
---- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-@@ -1255,8 +1255,10 @@ static void vop_crtc_gamma_set(struct vop *vop, struct drm_crtc *crtc,
- }
- static void vop_crtc_atomic_begin(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_crtc_state)
-+                                struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state,
-+                                                                            crtc);
-       struct vop *vop = to_vop(crtc);
-       /*
-@@ -1467,8 +1469,10 @@ static int vop_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void vop_crtc_atomic_flush(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_crtc_state)
-+                                struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state,
-+                                                                            crtc);
-       struct drm_atomic_state *old_state = old_crtc_state->state;
-       struct drm_plane_state *old_plane_state, *new_plane_state;
-       struct vop *vop = to_vop(crtc);
-diff --git a/drivers/gpu/drm/sti/sti_crtc.c b/drivers/gpu/drm/sti/sti_crtc.c
-index 6f37c104c46f9..4f1e22933f48b 100644
---- a/drivers/gpu/drm/sti/sti_crtc.c
-+++ b/drivers/gpu/drm/sti/sti_crtc.c
-@@ -133,7 +133,7 @@ sti_crtc_mode_set_nofb(struct drm_crtc *crtc)
- }
- static void sti_crtc_atomic_flush(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_crtc_state)
-+                                struct drm_atomic_state *state)
- {
-       struct drm_device *drm_dev = crtc->dev;
-       struct sti_mixer *mixer = to_sti_mixer(crtc);
-diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
-index 089c00a8e7d49..ae73b93a14612 100644
---- a/drivers/gpu/drm/stm/ltdc.c
-+++ b/drivers/gpu/drm/stm/ltdc.c
-@@ -629,7 +629,7 @@ static void ltdc_crtc_mode_set_nofb(struct drm_crtc *crtc)
- }
- static void ltdc_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct ltdc_device *ldev = crtc_to_ltdc(crtc);
-       struct drm_device *ddev = crtc->dev;
-diff --git a/drivers/gpu/drm/sun4i/sun4i_crtc.c b/drivers/gpu/drm/sun4i/sun4i_crtc.c
-index 3a153648b3698..cab86ec070843 100644
---- a/drivers/gpu/drm/sun4i/sun4i_crtc.c
-+++ b/drivers/gpu/drm/sun4i/sun4i_crtc.c
-@@ -58,8 +58,10 @@ static int sun4i_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void sun4i_crtc_atomic_begin(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_state)
-+                                  struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state,
-+                                                                       crtc);
-       struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc);
-       struct drm_device *dev = crtc->dev;
-       struct sunxi_engine *engine = scrtc->engine;
-@@ -79,7 +81,7 @@ static void sun4i_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void sun4i_crtc_atomic_flush(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_state)
-+                                  struct drm_atomic_state *state)
- {
-       struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc);
-       struct drm_pending_vblank_event *event = crtc->state->event;
-diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
-index 958d12da902d3..f1e8951fa86c4 100644
---- a/drivers/gpu/drm/tegra/dc.c
-+++ b/drivers/gpu/drm/tegra/dc.c
-@@ -1924,7 +1924,7 @@ static void tegra_crtc_atomic_enable(struct drm_crtc *crtc,
- }
- static void tegra_crtc_atomic_begin(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_crtc_state)
-+                                  struct drm_atomic_state *state)
- {
-       unsigned long flags;
-@@ -1943,17 +1943,17 @@ static void tegra_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void tegra_crtc_atomic_flush(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_crtc_state)
-+                                  struct drm_atomic_state *state)
- {
--      struct tegra_dc_state *state = to_dc_state(crtc->state);
-+      struct tegra_dc_state *crtc_state = to_dc_state(crtc->state);
-       struct tegra_dc *dc = to_tegra_dc(crtc);
-       u32 value;
--      value = state->planes << 8 | GENERAL_UPDATE;
-+      value = crtc_state->planes << 8 | GENERAL_UPDATE;
-       tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
-       value = tegra_dc_readl(dc, DC_CMD_STATE_CONTROL);
--      value = state->planes | GENERAL_ACT_REQ;
-+      value = crtc_state->planes | GENERAL_ACT_REQ;
-       tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
-       value = tegra_dc_readl(dc, DC_CMD_STATE_CONTROL);
- }
-diff --git a/drivers/gpu/drm/tidss/tidss_crtc.c b/drivers/gpu/drm/tidss/tidss_crtc.c
-index 3c5744a91d4a0..7f80496173e85 100644
---- a/drivers/gpu/drm/tidss/tidss_crtc.c
-+++ b/drivers/gpu/drm/tidss/tidss_crtc.c
-@@ -161,8 +161,10 @@ static void tidss_crtc_position_planes(struct tidss_device *tidss,
- }
- static void tidss_crtc_atomic_flush(struct drm_crtc *crtc,
--                                  struct drm_crtc_state *old_crtc_state)
-+                                  struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state,
-+                                                                            crtc);
-       struct tidss_crtc *tcrtc = to_tidss_crtc(crtc);
-       struct drm_device *ddev = crtc->dev;
-       struct tidss_device *tidss = to_tidss(ddev);
-diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
-index 0aaa4a26b5db5..bf8587c24dfe7 100644
---- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
-+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
-@@ -547,7 +547,7 @@ static void tilcdc_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void tilcdc_crtc_atomic_flush(struct drm_crtc *crtc,
--                                   struct drm_crtc_state *old_state)
-+                                   struct drm_atomic_state *state)
- {
-       if (!crtc->state->event)
-               return;
-diff --git a/drivers/gpu/drm/vboxvideo/vbox_mode.c b/drivers/gpu/drm/vboxvideo/vbox_mode.c
-index 4fcc0a542b8a6..ce173baaa84b6 100644
---- a/drivers/gpu/drm/vboxvideo/vbox_mode.c
-+++ b/drivers/gpu/drm/vboxvideo/vbox_mode.c
-@@ -223,7 +223,7 @@ static void vbox_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void vbox_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
- }
-diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h
-index 921463625d82e..5d1e6a8323bf2 100644
---- a/drivers/gpu/drm/vc4/vc4_drv.h
-+++ b/drivers/gpu/drm/vc4/vc4_drv.h
-@@ -919,7 +919,8 @@ int vc4_hvs_get_fifo_from_output(struct drm_device *dev, unsigned int output);
- int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state);
- void vc4_hvs_atomic_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state);
- void vc4_hvs_atomic_disable(struct drm_crtc *crtc, struct drm_crtc_state *old_state);
--void vc4_hvs_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *state);
-+void vc4_hvs_atomic_flush(struct drm_crtc *crtc,
-+                        struct drm_atomic_state *state);
- void vc4_hvs_dump_state(struct drm_device *dev);
- void vc4_hvs_unmask_underrun(struct drm_device *dev, int channel);
- void vc4_hvs_mask_underrun(struct drm_device *dev, int channel);
-diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c
-index f8f2fc3d15f73..34c342968e49e 100644
---- a/drivers/gpu/drm/vc4/vc4_hvs.c
-+++ b/drivers/gpu/drm/vc4/vc4_hvs.c
-@@ -414,8 +414,10 @@ void vc4_hvs_atomic_disable(struct drm_crtc *crtc,
- }
- void vc4_hvs_atomic_flush(struct drm_crtc *crtc,
--                        struct drm_crtc_state *old_state)
-+                        struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state,
-+                                                                       crtc);
-       struct drm_device *dev = crtc->dev;
-       struct vc4_dev *vc4 = to_vc4_dev(dev);
-       struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
-diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
-index 9b2b99e853422..fcbb0a6cdb173 100644
---- a/drivers/gpu/drm/virtio/virtgpu_display.c
-+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
-@@ -117,7 +117,7 @@ static int virtio_gpu_crtc_atomic_check(struct drm_crtc *crtc,
- }
- static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc,
--                                       struct drm_crtc_state *old_state)
-+                                       struct drm_atomic_state *state)
- {
-       struct virtio_gpu_output *output = drm_crtc_to_virtio_gpu_output(crtc);
-diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
-index 1ae5cd47d9546..252b7e0ba58e8 100644
---- a/drivers/gpu/drm/vkms/vkms_crtc.c
-+++ b/drivers/gpu/drm/vkms/vkms_crtc.c
-@@ -227,7 +227,7 @@ static void vkms_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void vkms_crtc_atomic_begin(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc);
-@@ -238,7 +238,7 @@ static void vkms_crtc_atomic_begin(struct drm_crtc *crtc,
- }
- static void vkms_crtc_atomic_flush(struct drm_crtc *crtc,
--                                 struct drm_crtc_state *old_crtc_state)
-+                                 struct drm_atomic_state *state)
- {
-       struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc);
-diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
-index 0e963fd7db17e..0d5da0a1b506a 100644
---- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
-+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
-@@ -553,13 +553,13 @@ int vmw_du_crtc_atomic_check(struct drm_crtc *crtc,
- void vmw_du_crtc_atomic_begin(struct drm_crtc *crtc,
--                            struct drm_crtc_state *old_crtc_state)
-+                            struct drm_atomic_state *state)
- {
- }
- void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc,
--                            struct drm_crtc_state *old_crtc_state)
-+                            struct drm_atomic_state *state)
- {
-       struct drm_pending_vblank_event *event = crtc->state->event;
-diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
-index 3ee03227607c6..d49b1c741b6b1 100644
---- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
-+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
-@@ -475,9 +475,9 @@ void vmw_du_plane_unpin_surf(struct vmw_plane_state *vps,
- int vmw_du_crtc_atomic_check(struct drm_crtc *crtc,
-                            struct drm_crtc_state *state);
- void vmw_du_crtc_atomic_begin(struct drm_crtc *crtc,
--                            struct drm_crtc_state *old_crtc_state);
-+                            struct drm_atomic_state *state);
- void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc,
--                            struct drm_crtc_state *old_crtc_state);
-+                            struct drm_atomic_state *state);
- void vmw_du_crtc_reset(struct drm_crtc *crtc);
- struct drm_crtc_state *vmw_du_crtc_duplicate_state(struct drm_crtc *crtc);
- void vmw_du_crtc_destroy_state(struct drm_crtc *crtc,
-diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c
-index 205c72a249b75..227449ca017ee 100644
---- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
-+++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
-@@ -1511,14 +1511,14 @@ static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc,
- static void
- zynqmp_disp_crtc_atomic_begin(struct drm_crtc *crtc,
--                            struct drm_crtc_state *old_crtc_state)
-+                            struct drm_atomic_state *state)
- {
-       drm_crtc_vblank_on(crtc);
- }
- static void
- zynqmp_disp_crtc_atomic_flush(struct drm_crtc *crtc,
--                            struct drm_crtc_state *old_crtc_state)
-+                            struct drm_atomic_state *state)
- {
-       if (crtc->state->event) {
-               struct drm_pending_vblank_event *event;
-diff --git a/drivers/gpu/drm/zte/zx_vou.c b/drivers/gpu/drm/zte/zx_vou.c
-index 5259ff2825f94..d91563a2603a8 100644
---- a/drivers/gpu/drm/zte/zx_vou.c
-+++ b/drivers/gpu/drm/zte/zx_vou.c
-@@ -473,7 +473,7 @@ static void zx_crtc_atomic_disable(struct drm_crtc *crtc,
- }
- static void zx_crtc_atomic_flush(struct drm_crtc *crtc,
--                                struct drm_crtc_state *old_state)
-+                                struct drm_atomic_state *state)
- {
-       struct drm_pending_vblank_event *event = crtc->state->event;
-diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
-index 4efec30f8badc..e4b645f5b04a1 100644
---- a/include/drm/drm_modeset_helper_vtables.h
-+++ b/include/drm/drm_modeset_helper_vtables.h
-@@ -374,7 +374,7 @@ struct drm_crtc_helper_funcs {
-        * transitional plane helpers, but it is optional.
-        */
-       void (*atomic_begin)(struct drm_crtc *crtc,
--                           struct drm_crtc_state *old_crtc_state);
-+                           struct drm_atomic_state *state);
-       /**
-        * @atomic_flush:
-        *
-@@ -398,7 +398,7 @@ struct drm_crtc_helper_funcs {
-        * transitional plane helpers, but it is optional.
-        */
-       void (*atomic_flush)(struct drm_crtc *crtc,
--                           struct drm_crtc_state *old_crtc_state);
-+                           struct drm_atomic_state *state);
-       /**
-        * @atomic_enable:
--- 
-2.43.0
-
index da73b7bd859350a1ece6a09f1ec36c985c795c70..8c2da9d2a5ce55e4f031e9e8b211672cd63ec976 100644 (file)
@@ -22,33 +22,28 @@ Link: https://patchwork.kernel.org/project/dri-devel/patch/20230920090658.31181-
 Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 5 +++++
+ drivers/gpu/drm/mediatek/mtk_drm_crtc.c |    5 +++++
  1 file changed, 5 insertions(+)
 
-diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-index 380b0b52d2c7a..46ad9ce993f10 100644
 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
 +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-@@ -585,6 +585,7 @@ static void mtk_drm_crtc_atomic_begin(struct drm_crtc *crtc,
-                                                                         crtc);
-       struct mtk_crtc_state *mtk_crtc_state = to_mtk_crtc_state(crtc_state);
+@@ -582,6 +582,7 @@ static void mtk_drm_crtc_atomic_begin(st
+ {
+       struct mtk_crtc_state *state = to_mtk_crtc_state(crtc->state);
        struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
 +      unsigned long flags;
  
-       if (mtk_crtc->event && mtk_crtc_state->base.event)
+       if (mtk_crtc->event && state->base.event)
                DRM_ERROR("new event while there is still a pending event\n");
-@@ -592,7 +593,11 @@ static void mtk_drm_crtc_atomic_begin(struct drm_crtc *crtc,
-       if (mtk_crtc_state->base.event) {
-               mtk_crtc_state->base.event->pipe = drm_crtc_index(crtc);
+@@ -589,7 +590,11 @@ static void mtk_drm_crtc_atomic_begin(st
+       if (state->base.event) {
+               state->base.event->pipe = drm_crtc_index(crtc);
                WARN_ON(drm_crtc_vblank_get(crtc) != 0);
 +
 +              spin_lock_irqsave(&crtc->dev->event_lock, flags);
-               mtk_crtc->event = mtk_crtc_state->base.event;
+               mtk_crtc->event = state->base.event;
 +              spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
 +
-               mtk_crtc_state->base.event = NULL;
+               state->base.event = NULL;
        }
  }
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-use-state-helper-instead-of-crtc-state-pointer.patch b/queue-5.10/drm-use-state-helper-instead-of-crtc-state-pointer.patch
deleted file mode 100644 (file)
index 26dc04a..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-From d633b09b632a6ec4c62ba0079e34aee2001ce6a5 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 5 Nov 2020 17:45:18 +0100
-Subject: drm: Use state helper instead of CRTC state pointer
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Maxime Ripard <maxime@cerno.tech>
-
-[ Upstream commit 253f28b6237264216b052ac0848fd7fc917b5259 ]
-
-Many drivers reference the crtc->pointer in order to get the current CRTC
-state in their atomic_begin or atomic_flush hooks, which would be the new
-CRTC state in the global atomic state since _swap_state happened when those
-hooks are run.
-
-Use the drm_atomic_get_new_crtc_state helper to get that state to make it
-more obvious.
-
-This was made using the coccinelle script below:
-
-@ crtc_atomic_func @
-identifier helpers;
-identifier func;
-@@
-
-(
-static struct drm_crtc_helper_funcs helpers = {
-       ...,
-       .atomic_begin = func,
-       ...,
-};
-|
-static struct drm_crtc_helper_funcs helpers = {
-       ...,
-       .atomic_flush = func,
-       ...,
-};
-)
-
-@@
-identifier crtc_atomic_func.func;
-identifier crtc, state;
-symbol crtc_state;
-expression e;
-@@
-
-  func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
-  ...
-- struct tegra_dc_state *crtc_state = e;
-+ struct tegra_dc_state *dc_state = e;
-  <+...
--       crtc_state
-+      dc_state
-  ...+>
-  }
-
-@@
-identifier crtc_atomic_func.func;
-identifier crtc, state;
-symbol crtc_state;
-expression e;
-@@
-
-  func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
-  ...
-- struct mtk_crtc_state *crtc_state = e;
-+ struct mtk_crtc_state *mtk_crtc_state = e;
-  <+...
--       crtc_state
-+      mtk_crtc_state
-  ...+>
-  }
-
-@ replaces_new_state @
-identifier crtc_atomic_func.func;
-identifier crtc, state, crtc_state;
-@@
-
-  func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
-  ...
-- struct drm_crtc_state *crtc_state = crtc->state;
-+ struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
-  ...
- }
-
-@@
-identifier crtc_atomic_func.func;
-identifier crtc, state, crtc_state;
-@@
-
-  func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
-  struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
-  ...
-- crtc->state
-+ crtc_state
-  ...
- }
-
-@ adds_new_state @
-identifier crtc_atomic_func.func;
-identifier crtc, state;
-@@
-
-  func(struct drm_crtc *crtc, struct drm_atomic_state *state) {
-+ struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
-  ...
-- crtc->state
-+ crtc_state
-  ...
- }
-
-@ include depends on adds_new_state || replaces_new_state @
-@@
-
- #include <drm/drm_atomic.h>
-
-@ no_include depends on !include && (adds_new_state || replaces_new_state) @
-@@
-
-+ #include <drm/drm_atomic.h>
-  #include <drm/...>
-
-Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
-Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
-Cc: "James (Qian) Wang" <james.qian.wang@arm.com>
-Cc: Liviu Dudau <liviu.dudau@arm.com>
-Cc: Mihail Atanassov <mihail.atanassov@arm.com>
-Cc: Brian Starkey <brian.starkey@arm.com>
-Cc: Russell King <linux@armlinux.org.uk>
-Cc: Paul Cercueil <paul@crapouillou.net>
-Cc: Chun-Kuang Hu <chunkuang.hu@kernel.org>
-Cc: Philipp Zabel <p.zabel@pengutronix.de>
-Cc: Sandy Huang <hjc@rock-chips.com>
-Cc: "Heiko Stübner" <heiko@sntech.de>
-Cc: Thierry Reding <thierry.reding@gmail.com>
-Cc: Gerd Hoffmann <kraxel@redhat.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20201105164518.392891-1-maxime@cerno.tech
-Stable-dep-of: fe4c5f662097 ("drm/mediatek: Add spinlock for setting vblank event in atomic_begin")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/arm/display/komeda/komeda_crtc.c |  4 +++-
- drivers/gpu/drm/armada/armada_crtc.c             |  8 ++++++--
- drivers/gpu/drm/ast/ast_mode.c                   |  4 +++-
- drivers/gpu/drm/ingenic/ingenic-drm-drv.c        |  7 +++++--
- drivers/gpu/drm/mediatek/mtk_drm_crtc.c          | 15 +++++++++------
- drivers/gpu/drm/rockchip/rockchip_drm_vop.c      |  6 ++++--
- drivers/gpu/drm/tegra/dc.c                       |  8 +++++---
- drivers/gpu/drm/virtio/virtgpu_display.c         |  4 +++-
- 8 files changed, 38 insertions(+), 18 deletions(-)
-
-diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
-index 3c77eeb0a7a0c..db995250cbff6 100644
---- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
-+++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
-@@ -381,10 +381,12 @@ static void
- komeda_crtc_atomic_flush(struct drm_crtc *crtc,
-                        struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct drm_crtc_state *old = drm_atomic_get_old_crtc_state(state,
-                                                                  crtc);
-       /* commit with modeset will be handled in enable/disable */
--      if (drm_atomic_crtc_needs_modeset(crtc->state))
-+      if (drm_atomic_crtc_needs_modeset(crtc_state))
-               return;
-       komeda_crtc_do_flush(crtc, old);
-diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
-index 13c7c474fb26e..8b7cc7bc81ee4 100644
---- a/drivers/gpu/drm/armada/armada_crtc.c
-+++ b/drivers/gpu/drm/armada/armada_crtc.c
-@@ -429,11 +429,13 @@ static int armada_drm_crtc_atomic_check(struct drm_crtc *crtc,
- static void armada_drm_crtc_atomic_begin(struct drm_crtc *crtc,
-                                        struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc);
-       DRM_DEBUG_KMS("[CRTC:%d:%s]\n", crtc->base.id, crtc->name);
--      if (crtc->state->color_mgmt_changed)
-+      if (crtc_state->color_mgmt_changed)
-               armada_drm_update_gamma(crtc);
-       dcrtc->regs_idx = 0;
-@@ -443,6 +445,8 @@ static void armada_drm_crtc_atomic_begin(struct drm_crtc *crtc,
- static void armada_drm_crtc_atomic_flush(struct drm_crtc *crtc,
-                                        struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc);
-       DRM_DEBUG_KMS("[CRTC:%d:%s]\n", crtc->base.id, crtc->name);
-@@ -453,7 +457,7 @@ static void armada_drm_crtc_atomic_flush(struct drm_crtc *crtc,
-        * If we aren't doing a full modeset, then we need to queue
-        * the event here.
-        */
--      if (!drm_atomic_crtc_needs_modeset(crtc->state)) {
-+      if (!drm_atomic_crtc_needs_modeset(crtc_state)) {
-               dcrtc->update_pending = true;
-               armada_drm_crtc_queue_state_event(crtc);
-               spin_lock_irq(&dcrtc->irq_lock);
-diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
-index 84c2e90d415f4..7f3f961035872 100644
---- a/drivers/gpu/drm/ast/ast_mode.c
-+++ b/drivers/gpu/drm/ast/ast_mode.c
-@@ -780,10 +780,12 @@ static void
- ast_crtc_helper_atomic_flush(struct drm_crtc *crtc,
-                            struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state,
-                                                                             crtc);
-       struct ast_private *ast = to_ast_private(crtc->dev);
--      struct ast_crtc_state *ast_crtc_state = to_ast_crtc_state(crtc->state);
-+      struct ast_crtc_state *ast_crtc_state = to_ast_crtc_state(crtc_state);
-       struct ast_crtc_state *old_ast_crtc_state = to_ast_crtc_state(old_crtc_state);
-       /*
-diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
-index 6d56b701118da..784a91d32bd1e 100644
---- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
-+++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
-@@ -289,11 +289,13 @@ ingenic_drm_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode
- static void ingenic_drm_crtc_atomic_begin(struct drm_crtc *crtc,
-                                         struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct ingenic_drm *priv = drm_crtc_get_priv(crtc);
-       u32 ctrl = 0;
-       if (priv->soc_info->has_osd &&
--          drm_atomic_crtc_needs_modeset(crtc->state)) {
-+          drm_atomic_crtc_needs_modeset(crtc_state)) {
-               /*
-                * If IPU plane is enabled, enable IPU as source for the F1
-                * plane; otherwise use regular DMA.
-@@ -310,7 +312,8 @@ static void ingenic_drm_crtc_atomic_flush(struct drm_crtc *crtc,
-                                         struct drm_atomic_state *state)
- {
-       struct ingenic_drm *priv = drm_crtc_get_priv(crtc);
--      struct drm_crtc_state *crtc_state = crtc->state;
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct drm_pending_vblank_event *event = crtc_state->event;
-       if (drm_atomic_crtc_needs_modeset(crtc_state)) {
-diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-index 067b4dc39f4f0..380b0b52d2c7a 100644
---- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
-@@ -11,6 +11,7 @@
- #include <asm/barrier.h>
- #include <soc/mediatek/smi.h>
-+#include <drm/drm_atomic.h>
- #include <drm/drm_atomic_helper.h>
- #include <drm/drm_plane_helper.h>
- #include <drm/drm_probe_helper.h>
-@@ -580,17 +581,19 @@ static void mtk_drm_crtc_atomic_disable(struct drm_crtc *crtc,
- static void mtk_drm_crtc_atomic_begin(struct drm_crtc *crtc,
-                                     struct drm_atomic_state *state)
- {
--      struct mtk_crtc_state *crtc_state = to_mtk_crtc_state(crtc->state);
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-+      struct mtk_crtc_state *mtk_crtc_state = to_mtk_crtc_state(crtc_state);
-       struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
--      if (mtk_crtc->event && crtc_state->base.event)
-+      if (mtk_crtc->event && mtk_crtc_state->base.event)
-               DRM_ERROR("new event while there is still a pending event\n");
--      if (crtc_state->base.event) {
--              crtc_state->base.event->pipe = drm_crtc_index(crtc);
-+      if (mtk_crtc_state->base.event) {
-+              mtk_crtc_state->base.event->pipe = drm_crtc_index(crtc);
-               WARN_ON(drm_crtc_vblank_get(crtc) != 0);
--              mtk_crtc->event = crtc_state->base.event;
--              crtc_state->base.event = NULL;
-+              mtk_crtc->event = mtk_crtc_state->base.event;
-+              mtk_crtc_state->base.event = NULL;
-       }
- }
-diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-index b7eeb3183aa94..0a20fe4200b3d 100644
---- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
-@@ -1257,6 +1257,8 @@ static void vop_crtc_gamma_set(struct vop *vop, struct drm_crtc *crtc,
- static void vop_crtc_atomic_begin(struct drm_crtc *crtc,
-                                 struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct drm_crtc_state *old_crtc_state = drm_atomic_get_old_crtc_state(state,
-                                                                             crtc);
-       struct vop *vop = to_vop(crtc);
-@@ -1265,8 +1267,8 @@ static void vop_crtc_atomic_begin(struct drm_crtc *crtc,
-        * Only update GAMMA if the 'active' flag is not changed,
-        * otherwise it's updated by .atomic_enable.
-        */
--      if (crtc->state->color_mgmt_changed &&
--          !crtc->state->active_changed)
-+      if (crtc_state->color_mgmt_changed &&
-+          !crtc_state->active_changed)
-               vop_crtc_gamma_set(vop, crtc, old_crtc_state);
- }
-diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
-index f1e8951fa86c4..093ac01ac3d90 100644
---- a/drivers/gpu/drm/tegra/dc.c
-+++ b/drivers/gpu/drm/tegra/dc.c
-@@ -1945,15 +1945,17 @@ static void tegra_crtc_atomic_begin(struct drm_crtc *crtc,
- static void tegra_crtc_atomic_flush(struct drm_crtc *crtc,
-                                   struct drm_atomic_state *state)
- {
--      struct tegra_dc_state *crtc_state = to_dc_state(crtc->state);
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-+      struct tegra_dc_state *dc_state = to_dc_state(crtc_state);
-       struct tegra_dc *dc = to_tegra_dc(crtc);
-       u32 value;
--      value = crtc_state->planes << 8 | GENERAL_UPDATE;
-+      value = dc_state->planes << 8 | GENERAL_UPDATE;
-       tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
-       value = tegra_dc_readl(dc, DC_CMD_STATE_CONTROL);
--      value = crtc_state->planes | GENERAL_ACT_REQ;
-+      value = dc_state->planes | GENERAL_ACT_REQ;
-       tegra_dc_writel(dc, value, DC_CMD_STATE_CONTROL);
-       value = tegra_dc_readl(dc, DC_CMD_STATE_CONTROL);
- }
-diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
-index fcbb0a6cdb173..9af912fc2426b 100644
---- a/drivers/gpu/drm/virtio/virtgpu_display.c
-+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
-@@ -119,6 +119,8 @@ static int virtio_gpu_crtc_atomic_check(struct drm_crtc *crtc,
- static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc,
-                                        struct drm_atomic_state *state)
- {
-+      struct drm_crtc_state *crtc_state = drm_atomic_get_new_crtc_state(state,
-+                                                                        crtc);
-       struct virtio_gpu_output *output = drm_crtc_to_virtio_gpu_output(crtc);
-       /*
-@@ -127,7 +129,7 @@ static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc,
-        * in the plane update callback, and here we just check
-        * whenever we must force the modeset.
-        */
--      if (drm_atomic_crtc_needs_modeset(crtc->state)) {
-+      if (drm_atomic_crtc_needs_modeset(crtc_state)) {
-               output->needs_modeset = true;
-       }
- }
--- 
-2.43.0
-
index 1f27bbf634de1d92812d7d8117c9a8091cbe6988..30f1d1473ac04b9688a96cd20d6a53268dbd01ed 100644 (file)
@@ -27,8 +27,6 @@ alsa-hda-hdmi-add-force-connect-quirks-for-asustek-z170-variants.patch
 alsa-hda-realtek-apply-mute-led-quirk-for-hp15-db.patch
 revert-pci-acpiphp-reassign-resources-on-bridge-if-necessary.patch
 pci-loongson-limit-mrrs-to-256.patch
-drm-atomic-pass-the-full-state-to-crtc-atomic-begin-.patch
-drm-use-state-helper-instead-of-crtc-state-pointer.patch
 drm-mediatek-add-spinlock-for-setting-vblank-event-i.patch
 usb-aqc111-check-packet-for-fixup-for-true-limit.patch
 blk-throttle-fix-lockdep-warning-of-cgroup_mutex-or-.patch