aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/arc/arcpgu_crtc.c5
-rw-r--r--drivers/gpu/drm/arm/hdlcd_crtc.c5
-rw-r--r--drivers/gpu/drm/arm/malidp_crtc.c5
-rw-r--r--drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c5
-rw-r--r--drivers/gpu/drm/drm_simple_kms_helper.c5
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_crtc.c5
-rw-r--r--drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c5
-rw-r--r--drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c5
-rw-r--r--drivers/gpu/drm/mediatek/mtk_drm_crtc.c5
-rw-r--r--drivers/gpu/drm/meson/meson_crtc.c5
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c5
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c5
-rw-r--r--drivers/gpu/drm/omapdrm/omap_crtc.c5
-rw-r--r--drivers/gpu/drm/qxl/qxl_display.c5
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_crtc.c5
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_vop.c5
-rw-r--r--drivers/gpu/drm/sti/sti_crtc.c5
-rw-r--r--drivers/gpu/drm/stm/ltdc.c5
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_crtc.c5
-rw-r--r--drivers/gpu/drm/tegra/dc.c5
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_crtc.c8
-rw-r--r--drivers/gpu/drm/vc4/vc4_crtc.c5
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_display.c5
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c7
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c7
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c5
-rw-r--r--drivers/gpu/drm/zte/zx_vou.c5
27 files changed, 87 insertions, 55 deletions
diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c
index c9bc6a90ac83..1859dd3ad622 100644
--- a/drivers/gpu/drm/arc/arcpgu_crtc.c
+++ b/drivers/gpu/drm/arc/arcpgu_crtc.c
@@ -130,7 +130,8 @@ static void arc_pgu_crtc_atomic_enable(struct drm_crtc *crtc,
130 ARCPGU_CTRL_ENABLE_MASK); 130 ARCPGU_CTRL_ENABLE_MASK);
131} 131}
132 132
133static void arc_pgu_crtc_disable(struct drm_crtc *crtc) 133static void arc_pgu_crtc_atomic_disable(struct drm_crtc *crtc,
134 struct drm_crtc_state *old_state)
134{ 135{
135 struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc); 136 struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc);
136 137
@@ -162,9 +163,9 @@ static const struct drm_crtc_helper_funcs arc_pgu_crtc_helper_funcs = {
162 .mode_set = drm_helper_crtc_mode_set, 163 .mode_set = drm_helper_crtc_mode_set,
163 .mode_set_base = drm_helper_crtc_mode_set_base, 164 .mode_set_base = drm_helper_crtc_mode_set_base,
164 .mode_set_nofb = arc_pgu_crtc_mode_set_nofb, 165 .mode_set_nofb = arc_pgu_crtc_mode_set_nofb,
165 .disable = arc_pgu_crtc_disable,
166 .atomic_begin = arc_pgu_crtc_atomic_begin, 166 .atomic_begin = arc_pgu_crtc_atomic_begin,
167 .atomic_enable = arc_pgu_crtc_atomic_enable, 167 .atomic_enable = arc_pgu_crtc_atomic_enable,
168 .atomic_disable = arc_pgu_crtc_atomic_disable,
168}; 169};
169 170
170static void arc_pgu_plane_atomic_update(struct drm_plane *plane, 171static void arc_pgu_plane_atomic_update(struct drm_plane *plane,
diff --git a/drivers/gpu/drm/arm/hdlcd_crtc.c b/drivers/gpu/drm/arm/hdlcd_crtc.c
index 2b7f4f05d91f..16e1e20cf04c 100644
--- a/drivers/gpu/drm/arm/hdlcd_crtc.c
+++ b/drivers/gpu/drm/arm/hdlcd_crtc.c
@@ -176,7 +176,8 @@ static void hdlcd_crtc_atomic_enable(struct drm_crtc *crtc,
176 drm_crtc_vblank_on(crtc); 176 drm_crtc_vblank_on(crtc);
177} 177}
178 178
179static void hdlcd_crtc_disable(struct drm_crtc *crtc) 179static void hdlcd_crtc_atomic_disable(struct drm_crtc *crtc,
180 struct drm_crtc_state *old_state)
180{ 181{
181 struct hdlcd_drm_private *hdlcd = crtc_to_hdlcd_priv(crtc); 182 struct hdlcd_drm_private *hdlcd = crtc_to_hdlcd_priv(crtc);
182 183
@@ -219,10 +220,10 @@ static void hdlcd_crtc_atomic_begin(struct drm_crtc *crtc,
219} 220}
220 221
221static const struct drm_crtc_helper_funcs hdlcd_crtc_helper_funcs = { 222static const struct drm_crtc_helper_funcs hdlcd_crtc_helper_funcs = {
222 .disable = hdlcd_crtc_disable,
223 .atomic_check = hdlcd_crtc_atomic_check, 223 .atomic_check = hdlcd_crtc_atomic_check,
224 .atomic_begin = hdlcd_crtc_atomic_begin, 224 .atomic_begin = hdlcd_crtc_atomic_begin,
225 .atomic_enable = hdlcd_crtc_atomic_enable, 225 .atomic_enable = hdlcd_crtc_atomic_enable,
226 .atomic_disable = hdlcd_crtc_atomic_disable,
226}; 227};
227 228
228static int hdlcd_plane_atomic_check(struct drm_plane *plane, 229static int hdlcd_plane_atomic_check(struct drm_plane *plane,
diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c
index 8e5b1c0181ab..3615d18a7ddf 100644
--- a/drivers/gpu/drm/arm/malidp_crtc.c
+++ b/drivers/gpu/drm/arm/malidp_crtc.c
@@ -70,7 +70,8 @@ static void malidp_crtc_atomic_enable(struct drm_crtc *crtc,
70 drm_crtc_vblank_on(crtc); 70 drm_crtc_vblank_on(crtc);
71} 71}
72 72
73static void malidp_crtc_disable(struct drm_crtc *crtc) 73static void malidp_crtc_atomic_disable(struct drm_crtc *crtc,
74 struct drm_crtc_state *old_state)
74{ 75{
75 struct malidp_drm *malidp = crtc_to_malidp_device(crtc); 76 struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
76 struct malidp_hw_device *hwdev = malidp->dev; 77 struct malidp_hw_device *hwdev = malidp->dev;
@@ -409,9 +410,9 @@ static int malidp_crtc_atomic_check(struct drm_crtc *crtc,
409 410
410static const struct drm_crtc_helper_funcs malidp_crtc_helper_funcs = { 411static const struct drm_crtc_helper_funcs malidp_crtc_helper_funcs = {
411 .mode_valid = malidp_crtc_mode_valid, 412 .mode_valid = malidp_crtc_mode_valid,
412 .disable = malidp_crtc_disable,
413 .atomic_check = malidp_crtc_atomic_check, 413 .atomic_check = malidp_crtc_atomic_check,
414 .atomic_enable = malidp_crtc_atomic_enable, 414 .atomic_enable = malidp_crtc_atomic_enable,
415 .atomic_disable = malidp_crtc_atomic_disable,
415}; 416};
416 417
417static struct drm_crtc_state *malidp_crtc_duplicate_state(struct drm_crtc *crtc) 418static struct drm_crtc_state *malidp_crtc_duplicate_state(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
index e54e503180f4..441769c5bcd4 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
@@ -149,7 +149,8 @@ atmel_hlcdc_crtc_mode_valid(struct drm_crtc *c,
149 return atmel_hlcdc_dc_mode_valid(crtc->dc, mode); 149 return atmel_hlcdc_dc_mode_valid(crtc->dc, mode);
150} 150}
151 151
152static void atmel_hlcdc_crtc_disable(struct drm_crtc *c) 152static void atmel_hlcdc_crtc_atomic_disable(struct drm_crtc *c,
153 struct drm_crtc_state *old_state)
153{ 154{
154 struct drm_device *dev = c->dev; 155 struct drm_device *dev = c->dev;
155 struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c); 156 struct atmel_hlcdc_crtc *crtc = drm_crtc_to_atmel_hlcdc_crtc(c);
@@ -320,11 +321,11 @@ static const struct drm_crtc_helper_funcs lcdc_crtc_helper_funcs = {
320 .mode_set = drm_helper_crtc_mode_set, 321 .mode_set = drm_helper_crtc_mode_set,
321 .mode_set_nofb = atmel_hlcdc_crtc_mode_set_nofb, 322 .mode_set_nofb = atmel_hlcdc_crtc_mode_set_nofb,
322 .mode_set_base = drm_helper_crtc_mode_set_base, 323 .mode_set_base = drm_helper_crtc_mode_set_base,
323 .disable = atmel_hlcdc_crtc_disable,
324 .atomic_check = atmel_hlcdc_crtc_atomic_check, 324 .atomic_check = atmel_hlcdc_crtc_atomic_check,
325 .atomic_begin = atmel_hlcdc_crtc_atomic_begin, 325 .atomic_begin = atmel_hlcdc_crtc_atomic_begin,
326 .atomic_flush = atmel_hlcdc_crtc_atomic_flush, 326 .atomic_flush = atmel_hlcdc_crtc_atomic_flush,
327 .atomic_enable = atmel_hlcdc_crtc_atomic_enable, 327 .atomic_enable = atmel_hlcdc_crtc_atomic_enable,
328 .atomic_disable = atmel_hlcdc_crtc_atomic_disable,
328}; 329};
329 330
330static void atmel_hlcdc_crtc_destroy(struct drm_crtc *c) 331static void atmel_hlcdc_crtc_destroy(struct drm_crtc *c)
diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c b/drivers/gpu/drm/drm_simple_kms_helper.c
index 58c27ab1756f..98250854af75 100644
--- a/drivers/gpu/drm/drm_simple_kms_helper.c
+++ b/drivers/gpu/drm/drm_simple_kms_helper.c
@@ -52,7 +52,8 @@ static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc,
52 pipe->funcs->enable(pipe, crtc->state); 52 pipe->funcs->enable(pipe, crtc->state);
53} 53}
54 54
55static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc) 55static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc,
56 struct drm_crtc_state *old_state)
56{ 57{
57 struct drm_simple_display_pipe *pipe; 58 struct drm_simple_display_pipe *pipe;
58 59
@@ -66,7 +67,7 @@ static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc)
66static const struct drm_crtc_helper_funcs drm_simple_kms_crtc_helper_funcs = { 67static const struct drm_crtc_helper_funcs drm_simple_kms_crtc_helper_funcs = {
67 .atomic_check = drm_simple_kms_crtc_check, 68 .atomic_check = drm_simple_kms_crtc_check,
68 .atomic_enable = drm_simple_kms_crtc_enable, 69 .atomic_enable = drm_simple_kms_crtc_enable,
69 .disable = drm_simple_kms_crtc_disable, 70 .atomic_disable = drm_simple_kms_crtc_disable,
70}; 71};
71 72
72static const struct drm_crtc_funcs drm_simple_kms_crtc_funcs = { 73static const struct drm_crtc_funcs drm_simple_kms_crtc_funcs = {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index b7e2fadb6442..c37078fbe0ea 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -32,7 +32,8 @@ static void exynos_drm_crtc_atomic_enable(struct drm_crtc *crtc,
32 drm_crtc_vblank_on(crtc); 32 drm_crtc_vblank_on(crtc);
33} 33}
34 34
35static void exynos_drm_crtc_disable(struct drm_crtc *crtc) 35static void exynos_drm_crtc_atomic_disable(struct drm_crtc *crtc,
36 struct drm_crtc_state *old_state)
36{ 37{
37 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); 38 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
38 39
@@ -83,11 +84,11 @@ static void exynos_crtc_atomic_flush(struct drm_crtc *crtc,
83} 84}
84 85
85static const struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = { 86static const struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = {
86 .disable = exynos_drm_crtc_disable,
87 .atomic_check = exynos_crtc_atomic_check, 87 .atomic_check = exynos_crtc_atomic_check,
88 .atomic_begin = exynos_crtc_atomic_begin, 88 .atomic_begin = exynos_crtc_atomic_begin,
89 .atomic_flush = exynos_crtc_atomic_flush, 89 .atomic_flush = exynos_crtc_atomic_flush,
90 .atomic_enable = exynos_drm_crtc_atomic_enable, 90 .atomic_enable = exynos_drm_crtc_atomic_enable,
91 .atomic_disable = exynos_drm_crtc_atomic_disable,
91}; 92};
92 93
93void exynos_crtc_handle_event(struct exynos_drm_crtc *exynos_crtc) 94void exynos_crtc_handle_event(struct exynos_drm_crtc *exynos_crtc)
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
index 49ef47c0c81a..54a4542a40f1 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
@@ -210,7 +210,8 @@ static void hibmc_crtc_atomic_enable(struct drm_crtc *crtc,
210 drm_crtc_vblank_on(crtc); 210 drm_crtc_vblank_on(crtc);
211} 211}
212 212
213static void hibmc_crtc_disable(struct drm_crtc *crtc) 213static void hibmc_crtc_atomic_disable(struct drm_crtc *crtc,
214 struct drm_crtc_state *old_state)
214{ 215{
215 unsigned int reg; 216 unsigned int reg;
216 struct hibmc_drm_private *priv = crtc->dev->dev_private; 217 struct hibmc_drm_private *priv = crtc->dev->dev_private;
@@ -454,11 +455,11 @@ static const struct drm_crtc_funcs hibmc_crtc_funcs = {
454}; 455};
455 456
456static const struct drm_crtc_helper_funcs hibmc_crtc_helper_funcs = { 457static const struct drm_crtc_helper_funcs hibmc_crtc_helper_funcs = {
457 .disable = hibmc_crtc_disable,
458 .mode_set_nofb = hibmc_crtc_mode_set_nofb, 458 .mode_set_nofb = hibmc_crtc_mode_set_nofb,
459 .atomic_begin = hibmc_crtc_atomic_begin, 459 .atomic_begin = hibmc_crtc_atomic_begin,
460 .atomic_flush = hibmc_crtc_atomic_flush, 460 .atomic_flush = hibmc_crtc_atomic_flush,
461 .atomic_enable = hibmc_crtc_atomic_enable, 461 .atomic_enable = hibmc_crtc_atomic_enable,
462 .atomic_disable = hibmc_crtc_atomic_disable,
462}; 463};
463 464
464int hibmc_de_init(struct hibmc_drm_private *priv) 465int hibmc_de_init(struct hibmc_drm_private *priv)
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index 8e00818b24fc..7e3abbf4ef73 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -490,7 +490,8 @@ static void ade_crtc_atomic_enable(struct drm_crtc *crtc,
490 acrtc->enable = true; 490 acrtc->enable = true;
491} 491}
492 492
493static void ade_crtc_disable(struct drm_crtc *crtc) 493static void ade_crtc_atomic_disable(struct drm_crtc *crtc,
494 struct drm_crtc_state *old_state)
494{ 495{
495 struct ade_crtc *acrtc = to_ade_crtc(crtc); 496 struct ade_crtc *acrtc = to_ade_crtc(crtc);
496 struct ade_hw_ctx *ctx = acrtc->ctx; 497 struct ade_hw_ctx *ctx = acrtc->ctx;
@@ -554,11 +555,11 @@ static void ade_crtc_atomic_flush(struct drm_crtc *crtc,
554} 555}
555 556
556static const struct drm_crtc_helper_funcs ade_crtc_helper_funcs = { 557static const struct drm_crtc_helper_funcs ade_crtc_helper_funcs = {
557 .disable = ade_crtc_disable,
558 .mode_set_nofb = ade_crtc_mode_set_nofb, 558 .mode_set_nofb = ade_crtc_mode_set_nofb,
559 .atomic_begin = ade_crtc_atomic_begin, 559 .atomic_begin = ade_crtc_atomic_begin,
560 .atomic_flush = ade_crtc_atomic_flush, 560 .atomic_flush = ade_crtc_atomic_flush,
561 .atomic_enable = ade_crtc_atomic_enable, 561 .atomic_enable = ade_crtc_atomic_enable,
562 .atomic_disable = ade_crtc_atomic_disable,
562}; 563};
563 564
564static const struct drm_crtc_funcs ade_crtc_funcs = { 565static const struct drm_crtc_funcs ade_crtc_funcs = {
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
index 5971b0827d1b..fc65c57dda8c 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -391,7 +391,8 @@ static void mtk_drm_crtc_atomic_enable(struct drm_crtc *crtc,
391 mtk_crtc->enabled = true; 391 mtk_crtc->enabled = true;
392} 392}
393 393
394static void mtk_drm_crtc_disable(struct drm_crtc *crtc) 394static void mtk_drm_crtc_atomic_disable(struct drm_crtc *crtc,
395 struct drm_crtc_state *old_state)
395{ 396{
396 struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc); 397 struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
397 struct mtk_ddp_comp *ovl = mtk_crtc->ddp_comp[0]; 398 struct mtk_ddp_comp *ovl = mtk_crtc->ddp_comp[0];
@@ -488,10 +489,10 @@ static const struct drm_crtc_funcs mtk_crtc_funcs = {
488static const struct drm_crtc_helper_funcs mtk_crtc_helper_funcs = { 489static const struct drm_crtc_helper_funcs mtk_crtc_helper_funcs = {
489 .mode_fixup = mtk_drm_crtc_mode_fixup, 490 .mode_fixup = mtk_drm_crtc_mode_fixup,
490 .mode_set_nofb = mtk_drm_crtc_mode_set_nofb, 491 .mode_set_nofb = mtk_drm_crtc_mode_set_nofb,
491 .disable = mtk_drm_crtc_disable,
492 .atomic_begin = mtk_drm_crtc_atomic_begin, 492 .atomic_begin = mtk_drm_crtc_atomic_begin,
493 .atomic_flush = mtk_drm_crtc_atomic_flush, 493 .atomic_flush = mtk_drm_crtc_atomic_flush,
494 .atomic_enable = mtk_drm_crtc_atomic_enable, 494 .atomic_enable = mtk_drm_crtc_atomic_enable,
495 .atomic_disable = mtk_drm_crtc_atomic_disable,
495}; 496};
496 497
497static int mtk_drm_crtc_init(struct drm_device *drm, 498static int mtk_drm_crtc_init(struct drm_device *drm,
diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
index 6f148307b0e0..5155f0179b61 100644
--- a/drivers/gpu/drm/meson/meson_crtc.c
+++ b/drivers/gpu/drm/meson/meson_crtc.c
@@ -103,7 +103,8 @@ static void meson_crtc_atomic_enable(struct drm_crtc *crtc,
103 priv->viu.osd1_enabled = true; 103 priv->viu.osd1_enabled = true;
104} 104}
105 105
106static void meson_crtc_disable(struct drm_crtc *crtc) 106static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
107 struct drm_crtc_state *old_state)
107{ 108{
108 struct meson_crtc *meson_crtc = to_meson_crtc(crtc); 109 struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
109 struct meson_drm *priv = meson_crtc->priv; 110 struct meson_drm *priv = meson_crtc->priv;
@@ -150,10 +151,10 @@ static void meson_crtc_atomic_flush(struct drm_crtc *crtc,
150} 151}
151 152
152static const struct drm_crtc_helper_funcs meson_crtc_helper_funcs = { 153static const struct drm_crtc_helper_funcs meson_crtc_helper_funcs = {
153 .disable = meson_crtc_disable,
154 .atomic_begin = meson_crtc_atomic_begin, 154 .atomic_begin = meson_crtc_atomic_begin,
155 .atomic_flush = meson_crtc_atomic_flush, 155 .atomic_flush = meson_crtc_atomic_flush,
156 .atomic_enable = meson_crtc_atomic_enable, 156 .atomic_enable = meson_crtc_atomic_enable,
157 .atomic_disable = meson_crtc_atomic_disable,
157}; 158};
158 159
159void meson_crtc_irq(struct meson_drm *priv) 160void meson_crtc_irq(struct meson_drm *priv)
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
index 9c20133f3f8d..3c7a9d343e05 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
@@ -279,7 +279,8 @@ static void mdp4_crtc_mode_set_nofb(struct drm_crtc *crtc)
279 } 279 }
280} 280}
281 281
282static void mdp4_crtc_disable(struct drm_crtc *crtc) 282static void mdp4_crtc_atomic_disable(struct drm_crtc *crtc,
283 struct drm_crtc_state *old_state)
283{ 284{
284 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc); 285 struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
285 struct mdp4_kms *mdp4_kms = get_kms(crtc); 286 struct mdp4_kms *mdp4_kms = get_kms(crtc);
@@ -493,11 +494,11 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = {
493 494
494static const struct drm_crtc_helper_funcs mdp4_crtc_helper_funcs = { 495static const struct drm_crtc_helper_funcs mdp4_crtc_helper_funcs = {
495 .mode_set_nofb = mdp4_crtc_mode_set_nofb, 496 .mode_set_nofb = mdp4_crtc_mode_set_nofb,
496 .disable = mdp4_crtc_disable,
497 .atomic_check = mdp4_crtc_atomic_check, 497 .atomic_check = mdp4_crtc_atomic_check,
498 .atomic_begin = mdp4_crtc_atomic_begin, 498 .atomic_begin = mdp4_crtc_atomic_begin,
499 .atomic_flush = mdp4_crtc_atomic_flush, 499 .atomic_flush = mdp4_crtc_atomic_flush,
500 .atomic_enable = mdp4_crtc_atomic_enable, 500 .atomic_enable = mdp4_crtc_atomic_enable,
501 .atomic_disable = mdp4_crtc_atomic_disable,
501}; 502};
502 503
503static void mdp4_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus) 504static void mdp4_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus)
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
index d39d9d24d169..4322a502555a 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c
@@ -409,7 +409,8 @@ static void mdp5_crtc_mode_set_nofb(struct drm_crtc *crtc)
409 spin_unlock_irqrestore(&mdp5_crtc->lm_lock, flags); 409 spin_unlock_irqrestore(&mdp5_crtc->lm_lock, flags);
410} 410}
411 411
412static void mdp5_crtc_disable(struct drm_crtc *crtc) 412static void mdp5_crtc_atomic_disable(struct drm_crtc *crtc,
413 struct drm_crtc_state *old_state)
413{ 414{
414 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc); 415 struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
415 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); 416 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state);
@@ -940,11 +941,11 @@ static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = {
940 941
941static const struct drm_crtc_helper_funcs mdp5_crtc_helper_funcs = { 942static const struct drm_crtc_helper_funcs mdp5_crtc_helper_funcs = {
942 .mode_set_nofb = mdp5_crtc_mode_set_nofb, 943 .mode_set_nofb = mdp5_crtc_mode_set_nofb,
943 .disable = mdp5_crtc_disable,
944 .atomic_check = mdp5_crtc_atomic_check, 944 .atomic_check = mdp5_crtc_atomic_check,
945 .atomic_begin = mdp5_crtc_atomic_begin, 945 .atomic_begin = mdp5_crtc_atomic_begin,
946 .atomic_flush = mdp5_crtc_atomic_flush, 946 .atomic_flush = mdp5_crtc_atomic_flush,
947 .atomic_enable = mdp5_crtc_atomic_enable, 947 .atomic_enable = mdp5_crtc_atomic_enable,
948 .atomic_disable = mdp5_crtc_atomic_disable,
948}; 949};
949 950
950static void mdp5_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus) 951static void mdp5_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus)
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 7a1b7a9cc270..14e8a7738b06 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -373,7 +373,8 @@ static void omap_crtc_atomic_enable(struct drm_crtc *crtc,
373 spin_unlock_irq(&crtc->dev->event_lock); 373 spin_unlock_irq(&crtc->dev->event_lock);
374} 374}
375 375
376static void omap_crtc_disable(struct drm_crtc *crtc) 376static void omap_crtc_atomic_disable(struct drm_crtc *crtc,
377 struct drm_crtc_state *old_state)
377{ 378{
378 struct omap_crtc *omap_crtc = to_omap_crtc(crtc); 379 struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
379 380
@@ -568,11 +569,11 @@ static const struct drm_crtc_funcs omap_crtc_funcs = {
568 569
569static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = { 570static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = {
570 .mode_set_nofb = omap_crtc_mode_set_nofb, 571 .mode_set_nofb = omap_crtc_mode_set_nofb,
571 .disable = omap_crtc_disable,
572 .atomic_check = omap_crtc_atomic_check, 572 .atomic_check = omap_crtc_atomic_check,
573 .atomic_begin = omap_crtc_atomic_begin, 573 .atomic_begin = omap_crtc_atomic_begin,
574 .atomic_flush = omap_crtc_atomic_flush, 574 .atomic_flush = omap_crtc_atomic_flush,
575 .atomic_enable = omap_crtc_atomic_enable, 575 .atomic_enable = omap_crtc_atomic_enable,
576 .atomic_disable = omap_crtc_atomic_disable,
576}; 577};
577 578
578/* ----------------------------------------------------------------------------- 579/* -----------------------------------------------------------------------------
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
index ea95e7e7cc7f..5eeae89c138d 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -453,7 +453,8 @@ static void qxl_crtc_atomic_enable(struct drm_crtc *crtc,
453 DRM_DEBUG("\n"); 453 DRM_DEBUG("\n");
454} 454}
455 455
456static void qxl_crtc_disable(struct drm_crtc *crtc) 456static void qxl_crtc_atomic_disable(struct drm_crtc *crtc,
457 struct drm_crtc_state *old_state)
457{ 458{
458 struct qxl_crtc *qcrtc = to_qxl_crtc(crtc); 459 struct qxl_crtc *qcrtc = to_qxl_crtc(crtc);
459 struct qxl_device *qdev = crtc->dev->dev_private; 460 struct qxl_device *qdev = crtc->dev->dev_private;
@@ -464,11 +465,11 @@ static void qxl_crtc_disable(struct drm_crtc *crtc)
464} 465}
465 466
466static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = { 467static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = {
467 .disable = qxl_crtc_disable,
468 .mode_fixup = qxl_crtc_mode_fixup, 468 .mode_fixup = qxl_crtc_mode_fixup,
469 .mode_set_nofb = qxl_mode_set_nofb, 469 .mode_set_nofb = qxl_mode_set_nofb,
470 .atomic_flush = qxl_crtc_atomic_flush, 470 .atomic_flush = qxl_crtc_atomic_flush,
471 .atomic_enable = qxl_crtc_atomic_enable, 471 .atomic_enable = qxl_crtc_atomic_enable,
472 .atomic_disable = qxl_crtc_atomic_disable,
472}; 473};
473 474
474static int qxl_primary_atomic_check(struct drm_plane *plane, 475static int qxl_primary_atomic_check(struct drm_plane *plane,
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index 6aa3fa8d06f9..f131fc68cc46 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -561,7 +561,8 @@ static void rcar_du_crtc_atomic_enable(struct drm_crtc *crtc,
561 rcar_du_crtc_start(rcrtc); 561 rcar_du_crtc_start(rcrtc);
562} 562}
563 563
564static void rcar_du_crtc_disable(struct drm_crtc *crtc) 564static void rcar_du_crtc_atomic_disable(struct drm_crtc *crtc,
565 struct drm_crtc_state *old_state)
565{ 566{
566 struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc); 567 struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc);
567 568
@@ -610,10 +611,10 @@ static void rcar_du_crtc_atomic_flush(struct drm_crtc *crtc,
610} 611}
611 612
612static const struct drm_crtc_helper_funcs crtc_helper_funcs = { 613static const struct drm_crtc_helper_funcs crtc_helper_funcs = {
613 .disable = rcar_du_crtc_disable,
614 .atomic_begin = rcar_du_crtc_atomic_begin, 614 .atomic_begin = rcar_du_crtc_atomic_begin,
615 .atomic_flush = rcar_du_crtc_atomic_flush, 615 .atomic_flush = rcar_du_crtc_atomic_flush,
616 .atomic_enable = rcar_du_crtc_atomic_enable, 616 .atomic_enable = rcar_du_crtc_atomic_enable,
617 .atomic_disable = rcar_du_crtc_atomic_disable,
617}; 618};
618 619
619static int rcar_du_crtc_enable_vblank(struct drm_crtc *crtc) 620static int rcar_du_crtc_enable_vblank(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index bb59f7410634..ee876a9631f0 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -563,7 +563,8 @@ err_put_pm_runtime:
563 return ret; 563 return ret;
564} 564}
565 565
566static void vop_crtc_disable(struct drm_crtc *crtc) 566static void vop_crtc_atomic_disable(struct drm_crtc *crtc,
567 struct drm_crtc_state *old_state)
567{ 568{
568 struct vop *vop = to_vop(crtc); 569 struct vop *vop = to_vop(crtc);
569 int i; 570 int i;
@@ -1080,11 +1081,11 @@ static void vop_crtc_atomic_begin(struct drm_crtc *crtc,
1080} 1081}
1081 1082
1082static const struct drm_crtc_helper_funcs vop_crtc_helper_funcs = { 1083static const struct drm_crtc_helper_funcs vop_crtc_helper_funcs = {
1083 .disable = vop_crtc_disable,
1084 .mode_fixup = vop_crtc_mode_fixup, 1084 .mode_fixup = vop_crtc_mode_fixup,
1085 .atomic_flush = vop_crtc_atomic_flush, 1085 .atomic_flush = vop_crtc_atomic_flush,
1086 .atomic_begin = vop_crtc_atomic_begin, 1086 .atomic_begin = vop_crtc_atomic_begin,
1087 .atomic_enable = vop_crtc_atomic_enable, 1087 .atomic_enable = vop_crtc_atomic_enable,
1088 .atomic_disable = vop_crtc_atomic_disable,
1088}; 1089};
1089 1090
1090static void vop_crtc_destroy(struct drm_crtc *crtc) 1091static void vop_crtc_destroy(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/sti/sti_crtc.c b/drivers/gpu/drm/sti/sti_crtc.c
index bb864345fedf..e8a4d48e985a 100644
--- a/drivers/gpu/drm/sti/sti_crtc.c
+++ b/drivers/gpu/drm/sti/sti_crtc.c
@@ -32,7 +32,8 @@ static void sti_crtc_atomic_enable(struct drm_crtc *crtc,
32 drm_crtc_vblank_on(crtc); 32 drm_crtc_vblank_on(crtc);
33} 33}
34 34
35static void sti_crtc_disabling(struct drm_crtc *crtc) 35static void sti_crtc_atomic_disable(struct drm_crtc *crtc,
36 struct drm_crtc_state *old_state)
36{ 37{
37 struct sti_mixer *mixer = to_sti_mixer(crtc); 38 struct sti_mixer *mixer = to_sti_mixer(crtc);
38 39
@@ -223,10 +224,10 @@ static void sti_crtc_atomic_flush(struct drm_crtc *crtc,
223} 224}
224 225
225static const struct drm_crtc_helper_funcs sti_crtc_helper_funcs = { 226static const struct drm_crtc_helper_funcs sti_crtc_helper_funcs = {
226 .disable = sti_crtc_disabling,
227 .mode_set_nofb = sti_crtc_mode_set_nofb, 227 .mode_set_nofb = sti_crtc_mode_set_nofb,
228 .atomic_flush = sti_crtc_atomic_flush, 228 .atomic_flush = sti_crtc_atomic_flush,
229 .atomic_enable = sti_crtc_atomic_enable, 229 .atomic_enable = sti_crtc_atomic_enable,
230 .atomic_disable = sti_crtc_atomic_disable,
230}; 231};
231 232
232static void sti_crtc_destroy(struct drm_crtc *crtc) 233static void sti_crtc_destroy(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 337fce004d08..533176015cbb 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -408,7 +408,8 @@ static void ltdc_crtc_atomic_enable(struct drm_crtc *crtc,
408 drm_crtc_vblank_on(crtc); 408 drm_crtc_vblank_on(crtc);
409} 409}
410 410
411static void ltdc_crtc_disable(struct drm_crtc *crtc) 411static void ltdc_crtc_atomic_disable(struct drm_crtc *crtc,
412 struct drm_crtc_state *old_state)
412{ 413{
413 struct ltdc_device *ldev = crtc_to_ltdc(crtc); 414 struct ltdc_device *ldev = crtc_to_ltdc(crtc);
414 415
@@ -525,10 +526,10 @@ static void ltdc_crtc_atomic_flush(struct drm_crtc *crtc,
525 526
526static struct drm_crtc_helper_funcs ltdc_crtc_helper_funcs = { 527static struct drm_crtc_helper_funcs ltdc_crtc_helper_funcs = {
527 .load_lut = ltdc_crtc_load_lut, 528 .load_lut = ltdc_crtc_load_lut,
528 .disable = ltdc_crtc_disable,
529 .mode_set_nofb = ltdc_crtc_mode_set_nofb, 529 .mode_set_nofb = ltdc_crtc_mode_set_nofb,
530 .atomic_flush = ltdc_crtc_atomic_flush, 530 .atomic_flush = ltdc_crtc_atomic_flush,
531 .atomic_enable = ltdc_crtc_atomic_enable, 531 .atomic_enable = ltdc_crtc_atomic_enable,
532 .atomic_disable = ltdc_crtc_atomic_disable,
532}; 533};
533 534
534int ltdc_crtc_enable_vblank(struct drm_device *ddev, unsigned int pipe) 535int ltdc_crtc_enable_vblank(struct drm_device *ddev, unsigned int pipe)
diff --git a/drivers/gpu/drm/sun4i/sun4i_crtc.c b/drivers/gpu/drm/sun4i/sun4i_crtc.c
index 509e4d8014f3..d097c6f93ad0 100644
--- a/drivers/gpu/drm/sun4i/sun4i_crtc.c
+++ b/drivers/gpu/drm/sun4i/sun4i_crtc.c
@@ -69,7 +69,8 @@ static void sun4i_crtc_atomic_flush(struct drm_crtc *crtc,
69 } 69 }
70} 70}
71 71
72static void sun4i_crtc_disable(struct drm_crtc *crtc) 72static void sun4i_crtc_atomic_disable(struct drm_crtc *crtc,
73 struct drm_crtc_state *old_state)
73{ 74{
74 struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc); 75 struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc);
75 76
@@ -100,7 +101,7 @@ static const struct drm_crtc_helper_funcs sun4i_crtc_helper_funcs = {
100 .atomic_begin = sun4i_crtc_atomic_begin, 101 .atomic_begin = sun4i_crtc_atomic_begin,
101 .atomic_flush = sun4i_crtc_atomic_flush, 102 .atomic_flush = sun4i_crtc_atomic_flush,
102 .atomic_enable = sun4i_crtc_atomic_enable, 103 .atomic_enable = sun4i_crtc_atomic_enable,
103 .disable = sun4i_crtc_disable, 104 .atomic_disable = sun4i_crtc_atomic_disable,
104}; 105};
105 106
106static int sun4i_crtc_enable_vblank(struct drm_crtc *crtc) 107static int sun4i_crtc_enable_vblank(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c
index 2e0d167cb657..0cb9b90e2e68 100644
--- a/drivers/gpu/drm/tegra/dc.c
+++ b/drivers/gpu/drm/tegra/dc.c
@@ -1199,7 +1199,8 @@ static int tegra_dc_wait_idle(struct tegra_dc *dc, unsigned long timeout)
1199 return -ETIMEDOUT; 1199 return -ETIMEDOUT;
1200} 1200}
1201 1201
1202static void tegra_crtc_disable(struct drm_crtc *crtc) 1202static void tegra_crtc_atomic_disable(struct drm_crtc *crtc,
1203 struct drm_crtc_state *old_state)
1203{ 1204{
1204 struct tegra_dc *dc = to_tegra_dc(crtc); 1205 struct tegra_dc *dc = to_tegra_dc(crtc);
1205 u32 value; 1206 u32 value;
@@ -1352,11 +1353,11 @@ static void tegra_crtc_atomic_flush(struct drm_crtc *crtc,
1352} 1353}
1353 1354
1354static const struct drm_crtc_helper_funcs tegra_crtc_helper_funcs = { 1355static const struct drm_crtc_helper_funcs tegra_crtc_helper_funcs = {
1355 .disable = tegra_crtc_disable,
1356 .atomic_check = tegra_crtc_atomic_check, 1356 .atomic_check = tegra_crtc_atomic_check,
1357 .atomic_begin = tegra_crtc_atomic_begin, 1357 .atomic_begin = tegra_crtc_atomic_begin,
1358 .atomic_flush = tegra_crtc_atomic_flush, 1358 .atomic_flush = tegra_crtc_atomic_flush,
1359 .atomic_enable = tegra_crtc_atomic_enable, 1359 .atomic_enable = tegra_crtc_atomic_enable,
1360 .atomic_disable = tegra_crtc_atomic_disable,
1360}; 1361};
1361 1362
1362static irqreturn_t tegra_dc_irq(int irq, void *data) 1363static irqreturn_t tegra_dc_irq(int irq, void *data)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 6c5892763d27..a43e720ab4e8 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -568,6 +568,12 @@ static void tilcdc_crtc_disable(struct drm_crtc *crtc)
568 tilcdc_crtc_off(crtc, false); 568 tilcdc_crtc_off(crtc, false);
569} 569}
570 570
571static void tilcdc_crtc_atomic_disable(struct drm_crtc *crtc,
572 struct drm_crtc_state *old_state)
573{
574 tilcdc_crtc_disable(crtc);
575}
576
571void tilcdc_crtc_shutdown(struct drm_crtc *crtc) 577void tilcdc_crtc_shutdown(struct drm_crtc *crtc)
572{ 578{
573 tilcdc_crtc_off(crtc, true); 579 tilcdc_crtc_off(crtc, true);
@@ -735,9 +741,9 @@ static const struct drm_crtc_funcs tilcdc_crtc_funcs = {
735 741
736static const struct drm_crtc_helper_funcs tilcdc_crtc_helper_funcs = { 742static const struct drm_crtc_helper_funcs tilcdc_crtc_helper_funcs = {
737 .mode_fixup = tilcdc_crtc_mode_fixup, 743 .mode_fixup = tilcdc_crtc_mode_fixup,
738 .disable = tilcdc_crtc_disable,
739 .atomic_check = tilcdc_crtc_atomic_check, 744 .atomic_check = tilcdc_crtc_atomic_check,
740 .atomic_enable = tilcdc_crtc_atomic_enable, 745 .atomic_enable = tilcdc_crtc_atomic_enable,
746 .atomic_disable = tilcdc_crtc_atomic_disable,
741}; 747};
742 748
743int tilcdc_crtc_max_width(struct drm_crtc *crtc) 749int tilcdc_crtc_max_width(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
index 4c03a565b276..9e0c1500375c 100644
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
@@ -479,7 +479,8 @@ static void require_hvs_enabled(struct drm_device *dev)
479 SCALER_DISPCTRL_ENABLE); 479 SCALER_DISPCTRL_ENABLE);
480} 480}
481 481
482static void vc4_crtc_disable(struct drm_crtc *crtc) 482static void vc4_crtc_atomic_disable(struct drm_crtc *crtc,
483 struct drm_crtc_state *old_state)
483{ 484{
484 struct drm_device *dev = crtc->dev; 485 struct drm_device *dev = crtc->dev;
485 struct vc4_dev *vc4 = to_vc4_dev(dev); 486 struct vc4_dev *vc4 = to_vc4_dev(dev);
@@ -870,11 +871,11 @@ static const struct drm_crtc_funcs vc4_crtc_funcs = {
870 871
871static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = { 872static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = {
872 .mode_set_nofb = vc4_crtc_mode_set_nofb, 873 .mode_set_nofb = vc4_crtc_mode_set_nofb,
873 .disable = vc4_crtc_disable,
874 .mode_valid = vc4_crtc_mode_valid, 874 .mode_valid = vc4_crtc_mode_valid,
875 .atomic_check = vc4_crtc_atomic_check, 875 .atomic_check = vc4_crtc_atomic_check,
876 .atomic_flush = vc4_crtc_atomic_flush, 876 .atomic_flush = vc4_crtc_atomic_flush,
877 .atomic_enable = vc4_crtc_atomic_enable, 877 .atomic_enable = vc4_crtc_atomic_enable,
878 .atomic_disable = vc4_crtc_atomic_disable,
878}; 879};
879 880
880static const struct vc4_crtc_data pv0_data = { 881static const struct vc4_crtc_data pv0_data = {
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
index 03a3c12ed100..ffd22e5ab43a 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -118,7 +118,8 @@ static void virtio_gpu_crtc_atomic_enable(struct drm_crtc *crtc,
118{ 118{
119} 119}
120 120
121static void virtio_gpu_crtc_disable(struct drm_crtc *crtc) 121static void virtio_gpu_crtc_atomic_disable(struct drm_crtc *crtc,
122 struct drm_crtc_state *old_state)
122{ 123{
123 struct drm_device *dev = crtc->dev; 124 struct drm_device *dev = crtc->dev;
124 struct virtio_gpu_device *vgdev = dev->dev_private; 125 struct virtio_gpu_device *vgdev = dev->dev_private;
@@ -146,11 +147,11 @@ static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc,
146} 147}
147 148
148static const struct drm_crtc_helper_funcs virtio_gpu_crtc_helper_funcs = { 149static const struct drm_crtc_helper_funcs virtio_gpu_crtc_helper_funcs = {
149 .disable = virtio_gpu_crtc_disable,
150 .mode_set_nofb = virtio_gpu_crtc_mode_set_nofb, 150 .mode_set_nofb = virtio_gpu_crtc_mode_set_nofb,
151 .atomic_check = virtio_gpu_crtc_atomic_check, 151 .atomic_check = virtio_gpu_crtc_atomic_check,
152 .atomic_flush = virtio_gpu_crtc_atomic_flush, 152 .atomic_flush = virtio_gpu_crtc_atomic_flush,
153 .atomic_enable = virtio_gpu_crtc_atomic_enable, 153 .atomic_enable = virtio_gpu_crtc_atomic_enable,
154 .atomic_disable = virtio_gpu_crtc_atomic_disable,
154}; 155};
155 156
156static void virtio_gpu_enc_mode_set(struct drm_encoder *encoder, 157static void virtio_gpu_enc_mode_set(struct drm_encoder *encoder,
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
index 832b83c582c2..6391069498d6 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
@@ -218,11 +218,12 @@ static void vmw_ldu_crtc_atomic_enable(struct drm_crtc *crtc,
218} 218}
219 219
220/** 220/**
221 * vmw_ldu_crtc_helper_disable - Turns off CRTC 221 * vmw_ldu_crtc_atomic_disable - Turns off CRTC
222 * 222 *
223 * @crtc: CRTC to be turned off 223 * @crtc: CRTC to be turned off
224 */ 224 */
225static void vmw_ldu_crtc_helper_disable(struct drm_crtc *crtc) 225static void vmw_ldu_crtc_atomic_disable(struct drm_crtc *crtc,
226 struct drm_crtc_state *old_state)
226{ 227{
227} 228}
228 229
@@ -377,12 +378,12 @@ drm_plane_helper_funcs vmw_ldu_primary_plane_helper_funcs = {
377}; 378};
378 379
379static const struct drm_crtc_helper_funcs vmw_ldu_crtc_helper_funcs = { 380static const struct drm_crtc_helper_funcs vmw_ldu_crtc_helper_funcs = {
380 .disable = vmw_ldu_crtc_helper_disable,
381 .mode_set_nofb = vmw_ldu_crtc_mode_set_nofb, 381 .mode_set_nofb = vmw_ldu_crtc_mode_set_nofb,
382 .atomic_check = vmw_du_crtc_atomic_check, 382 .atomic_check = vmw_du_crtc_atomic_check,
383 .atomic_begin = vmw_du_crtc_atomic_begin, 383 .atomic_begin = vmw_du_crtc_atomic_begin,
384 .atomic_flush = vmw_du_crtc_atomic_flush, 384 .atomic_flush = vmw_du_crtc_atomic_flush,
385 .atomic_enable = vmw_ldu_crtc_atomic_enable, 385 .atomic_enable = vmw_ldu_crtc_atomic_enable,
386 .atomic_disable = vmw_ldu_crtc_atomic_disable,
386}; 387};
387 388
388 389
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
index 8ba3bad06909..854403509216 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
@@ -282,11 +282,12 @@ static void vmw_sou_crtc_atomic_enable(struct drm_crtc *crtc,
282} 282}
283 283
284/** 284/**
285 * vmw_sou_crtc_helper_disable - Turns off CRTC 285 * vmw_sou_crtc_atomic_disable - Turns off CRTC
286 * 286 *
287 * @crtc: CRTC to be turned off 287 * @crtc: CRTC to be turned off
288 */ 288 */
289static void vmw_sou_crtc_helper_disable(struct drm_crtc *crtc) 289static void vmw_sou_crtc_atomic_disable(struct drm_crtc *crtc,
290 struct drm_crtc_state *old_state)
290{ 291{
291 struct vmw_private *dev_priv; 292 struct vmw_private *dev_priv;
292 struct vmw_screen_object_unit *sou; 293 struct vmw_screen_object_unit *sou;
@@ -574,12 +575,12 @@ drm_plane_helper_funcs vmw_sou_primary_plane_helper_funcs = {
574 575
575static const struct drm_crtc_helper_funcs vmw_sou_crtc_helper_funcs = { 576static const struct drm_crtc_helper_funcs vmw_sou_crtc_helper_funcs = {
576 .prepare = vmw_sou_crtc_helper_prepare, 577 .prepare = vmw_sou_crtc_helper_prepare,
577 .disable = vmw_sou_crtc_helper_disable,
578 .mode_set_nofb = vmw_sou_crtc_mode_set_nofb, 578 .mode_set_nofb = vmw_sou_crtc_mode_set_nofb,
579 .atomic_check = vmw_du_crtc_atomic_check, 579 .atomic_check = vmw_du_crtc_atomic_check,
580 .atomic_begin = vmw_du_crtc_atomic_begin, 580 .atomic_begin = vmw_du_crtc_atomic_begin,
581 .atomic_flush = vmw_du_crtc_atomic_flush, 581 .atomic_flush = vmw_du_crtc_atomic_flush,
582 .atomic_enable = vmw_sou_crtc_atomic_enable, 582 .atomic_enable = vmw_sou_crtc_atomic_enable,
583 .atomic_disable = vmw_sou_crtc_atomic_disable,
583}; 584};
584 585
585 586
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
index f2b39d9c51cc..ed9404a7f457 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
@@ -433,7 +433,8 @@ static void vmw_stdu_crtc_atomic_enable(struct drm_crtc *crtc,
433 vmw_kms_del_active(dev_priv, &stdu->base); 433 vmw_kms_del_active(dev_priv, &stdu->base);
434} 434}
435 435
436static void vmw_stdu_crtc_helper_disable(struct drm_crtc *crtc) 436static void vmw_stdu_crtc_atomic_disable(struct drm_crtc *crtc,
437 struct drm_crtc_state *old_state)
437{ 438{
438 struct vmw_private *dev_priv; 439 struct vmw_private *dev_priv;
439 struct vmw_screen_target_display_unit *stdu; 440 struct vmw_screen_target_display_unit *stdu;
@@ -1416,12 +1417,12 @@ drm_plane_helper_funcs vmw_stdu_primary_plane_helper_funcs = {
1416 1417
1417static const struct drm_crtc_helper_funcs vmw_stdu_crtc_helper_funcs = { 1418static const struct drm_crtc_helper_funcs vmw_stdu_crtc_helper_funcs = {
1418 .prepare = vmw_stdu_crtc_helper_prepare, 1419 .prepare = vmw_stdu_crtc_helper_prepare,
1419 .disable = vmw_stdu_crtc_helper_disable,
1420 .mode_set_nofb = vmw_stdu_crtc_mode_set_nofb, 1420 .mode_set_nofb = vmw_stdu_crtc_mode_set_nofb,
1421 .atomic_check = vmw_du_crtc_atomic_check, 1421 .atomic_check = vmw_du_crtc_atomic_check,
1422 .atomic_begin = vmw_du_crtc_atomic_begin, 1422 .atomic_begin = vmw_du_crtc_atomic_begin,
1423 .atomic_flush = vmw_du_crtc_atomic_flush, 1423 .atomic_flush = vmw_du_crtc_atomic_flush,
1424 .atomic_enable = vmw_stdu_crtc_atomic_enable, 1424 .atomic_enable = vmw_stdu_crtc_atomic_enable,
1425 .atomic_disable = vmw_stdu_crtc_atomic_disable,
1425}; 1426};
1426 1427
1427 1428
diff --git a/drivers/gpu/drm/zte/zx_vou.c b/drivers/gpu/drm/zte/zx_vou.c
index ccb4b0bdb8c6..7491813131f3 100644
--- a/drivers/gpu/drm/zte/zx_vou.c
+++ b/drivers/gpu/drm/zte/zx_vou.c
@@ -455,7 +455,8 @@ static void zx_crtc_atomic_enable(struct drm_crtc *crtc,
455 DRM_DEV_ERROR(vou->dev, "failed to enable pixclk: %d\n", ret); 455 DRM_DEV_ERROR(vou->dev, "failed to enable pixclk: %d\n", ret);
456} 456}
457 457
458static void zx_crtc_disable(struct drm_crtc *crtc) 458static void zx_crtc_atomic_disable(struct drm_crtc *crtc,
459 struct drm_crtc_state *old_state)
459{ 460{
460 struct zx_crtc *zcrtc = to_zx_crtc(crtc); 461 struct zx_crtc *zcrtc = to_zx_crtc(crtc);
461 const struct zx_crtc_bits *bits = zcrtc->bits; 462 const struct zx_crtc_bits *bits = zcrtc->bits;
@@ -491,9 +492,9 @@ static void zx_crtc_atomic_flush(struct drm_crtc *crtc,
491} 492}
492 493
493static const struct drm_crtc_helper_funcs zx_crtc_helper_funcs = { 494static const struct drm_crtc_helper_funcs zx_crtc_helper_funcs = {
494 .disable = zx_crtc_disable,
495 .atomic_flush = zx_crtc_atomic_flush, 495 .atomic_flush = zx_crtc_atomic_flush,
496 .atomic_enable = zx_crtc_atomic_enable, 496 .atomic_enable = zx_crtc_atomic_enable,
497 .atomic_disable = zx_crtc_atomic_disable,
497}; 498};
498 499
499static int zx_vou_enable_vblank(struct drm_crtc *crtc) 500static int zx_vou_enable_vblank(struct drm_crtc *crtc)