diff options
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 | ||
133 | static void arc_pgu_crtc_disable(struct drm_crtc *crtc) | 133 | static 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 | ||
170 | static void arc_pgu_plane_atomic_update(struct drm_plane *plane, | 171 | static 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 | ||
179 | static void hdlcd_crtc_disable(struct drm_crtc *crtc) | 179 | static 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 | ||
221 | static const struct drm_crtc_helper_funcs hdlcd_crtc_helper_funcs = { | 222 | static 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 | ||
228 | static int hdlcd_plane_atomic_check(struct drm_plane *plane, | 229 | static 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 | ||
73 | static void malidp_crtc_disable(struct drm_crtc *crtc) | 73 | static 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 | ||
410 | static const struct drm_crtc_helper_funcs malidp_crtc_helper_funcs = { | 411 | static 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 | ||
417 | static struct drm_crtc_state *malidp_crtc_duplicate_state(struct drm_crtc *crtc) | 418 | static 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 | ||
152 | static void atmel_hlcdc_crtc_disable(struct drm_crtc *c) | 152 | static 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 | ||
330 | static void atmel_hlcdc_crtc_destroy(struct drm_crtc *c) | 331 | static 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 | ||
55 | static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc) | 55 | static 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) | |||
66 | static const struct drm_crtc_helper_funcs drm_simple_kms_crtc_helper_funcs = { | 67 | static 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 | ||
72 | static const struct drm_crtc_funcs drm_simple_kms_crtc_funcs = { | 73 | static 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 | ||
35 | static void exynos_drm_crtc_disable(struct drm_crtc *crtc) | 35 | static 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 | ||
85 | static const struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = { | 86 | static 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 | ||
93 | void exynos_crtc_handle_event(struct exynos_drm_crtc *exynos_crtc) | 94 | void 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 | ||
213 | static void hibmc_crtc_disable(struct drm_crtc *crtc) | 213 | static 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 | ||
456 | static const struct drm_crtc_helper_funcs hibmc_crtc_helper_funcs = { | 457 | static 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 | ||
464 | int hibmc_de_init(struct hibmc_drm_private *priv) | 465 | int 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 | ||
493 | static void ade_crtc_disable(struct drm_crtc *crtc) | 493 | static 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 | ||
556 | static const struct drm_crtc_helper_funcs ade_crtc_helper_funcs = { | 557 | static 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 | ||
564 | static const struct drm_crtc_funcs ade_crtc_funcs = { | 565 | static 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 | ||
394 | static void mtk_drm_crtc_disable(struct drm_crtc *crtc) | 394 | static 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 = { | |||
488 | static const struct drm_crtc_helper_funcs mtk_crtc_helper_funcs = { | 489 | static 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 | ||
497 | static int mtk_drm_crtc_init(struct drm_device *drm, | 498 | static 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 | ||
106 | static void meson_crtc_disable(struct drm_crtc *crtc) | 106 | static 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 | ||
152 | static const struct drm_crtc_helper_funcs meson_crtc_helper_funcs = { | 153 | static 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 | ||
159 | void meson_crtc_irq(struct meson_drm *priv) | 160 | void 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 | ||
282 | static void mdp4_crtc_disable(struct drm_crtc *crtc) | 282 | static 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 | ||
494 | static const struct drm_crtc_helper_funcs mdp4_crtc_helper_funcs = { | 495 | static 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 | ||
503 | static void mdp4_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus) | 504 | static 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 | ||
412 | static void mdp5_crtc_disable(struct drm_crtc *crtc) | 412 | static 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 | ||
941 | static const struct drm_crtc_helper_funcs mdp5_crtc_helper_funcs = { | 942 | static 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 | ||
950 | static void mdp5_crtc_vblank_irq(struct mdp_irq *irq, uint32_t irqstatus) | 951 | static 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 | ||
376 | static void omap_crtc_disable(struct drm_crtc *crtc) | 376 | static 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 | ||
569 | static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = { | 570 | static 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 | ||
456 | static void qxl_crtc_disable(struct drm_crtc *crtc) | 456 | static 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 | ||
466 | static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = { | 467 | static 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 | ||
474 | static int qxl_primary_atomic_check(struct drm_plane *plane, | 475 | static 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 | ||
564 | static void rcar_du_crtc_disable(struct drm_crtc *crtc) | 564 | static 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 | ||
612 | static const struct drm_crtc_helper_funcs crtc_helper_funcs = { | 613 | static 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 | ||
619 | static int rcar_du_crtc_enable_vblank(struct drm_crtc *crtc) | 620 | static 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 | ||
566 | static void vop_crtc_disable(struct drm_crtc *crtc) | 566 | static 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 | ||
1082 | static const struct drm_crtc_helper_funcs vop_crtc_helper_funcs = { | 1083 | static 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 | ||
1090 | static void vop_crtc_destroy(struct drm_crtc *crtc) | 1091 | static 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 | ||
35 | static void sti_crtc_disabling(struct drm_crtc *crtc) | 35 | static 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 | ||
225 | static const struct drm_crtc_helper_funcs sti_crtc_helper_funcs = { | 226 | static 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 | ||
232 | static void sti_crtc_destroy(struct drm_crtc *crtc) | 233 | static 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 | ||
411 | static void ltdc_crtc_disable(struct drm_crtc *crtc) | 411 | static 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 | ||
526 | static struct drm_crtc_helper_funcs ltdc_crtc_helper_funcs = { | 527 | static 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 | ||
534 | int ltdc_crtc_enable_vblank(struct drm_device *ddev, unsigned int pipe) | 535 | int 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 | ||
72 | static void sun4i_crtc_disable(struct drm_crtc *crtc) | 72 | static 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 | ||
106 | static int sun4i_crtc_enable_vblank(struct drm_crtc *crtc) | 107 | static 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 | ||
1202 | static void tegra_crtc_disable(struct drm_crtc *crtc) | 1202 | static 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 | ||
1354 | static const struct drm_crtc_helper_funcs tegra_crtc_helper_funcs = { | 1355 | static 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 | ||
1362 | static irqreturn_t tegra_dc_irq(int irq, void *data) | 1363 | static 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 | ||
571 | static void tilcdc_crtc_atomic_disable(struct drm_crtc *crtc, | ||
572 | struct drm_crtc_state *old_state) | ||
573 | { | ||
574 | tilcdc_crtc_disable(crtc); | ||
575 | } | ||
576 | |||
571 | void tilcdc_crtc_shutdown(struct drm_crtc *crtc) | 577 | void 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 | ||
736 | static const struct drm_crtc_helper_funcs tilcdc_crtc_helper_funcs = { | 742 | static 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 | ||
743 | int tilcdc_crtc_max_width(struct drm_crtc *crtc) | 749 | int 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 | ||
482 | static void vc4_crtc_disable(struct drm_crtc *crtc) | 482 | static 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 | ||
871 | static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = { | 872 | static 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 | ||
880 | static const struct vc4_crtc_data pv0_data = { | 881 | static 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 | ||
121 | static void virtio_gpu_crtc_disable(struct drm_crtc *crtc) | 121 | static 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 | ||
148 | static const struct drm_crtc_helper_funcs virtio_gpu_crtc_helper_funcs = { | 149 | static 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 | ||
156 | static void virtio_gpu_enc_mode_set(struct drm_encoder *encoder, | 157 | static 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 | */ |
225 | static void vmw_ldu_crtc_helper_disable(struct drm_crtc *crtc) | 225 | static 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 | ||
379 | static const struct drm_crtc_helper_funcs vmw_ldu_crtc_helper_funcs = { | 380 | static 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 | */ |
289 | static void vmw_sou_crtc_helper_disable(struct drm_crtc *crtc) | 289 | static 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 | ||
575 | static const struct drm_crtc_helper_funcs vmw_sou_crtc_helper_funcs = { | 576 | static 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 | ||
436 | static void vmw_stdu_crtc_helper_disable(struct drm_crtc *crtc) | 436 | static 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 | ||
1417 | static const struct drm_crtc_helper_funcs vmw_stdu_crtc_helper_funcs = { | 1418 | static 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 | ||
458 | static void zx_crtc_disable(struct drm_crtc *crtc) | 458 | static 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 | ||
493 | static const struct drm_crtc_helper_funcs zx_crtc_helper_funcs = { | 494 | static 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 | ||
499 | static int zx_vou_enable_vblank(struct drm_crtc *crtc) | 500 | static int zx_vou_enable_vblank(struct drm_crtc *crtc) |