[PATCH v2 2/3] drm: Convert atomic drivers from CRTC .disable() to .atomic_disable()
Daniel Vetter
daniel at ffwll.ch
Fri Jun 30 12:53:46 UTC 2017
On Fri, Jun 30, 2017 at 12:36:45PM +0300, Laurent Pinchart wrote:
> The CRTC .disable() helper operation is deprecated for atomic drivers,
> the new .atomic_disable() helper operation being preferred. Convert all
> atomic drivers to .atomic_disable() to avoid cargo-cult use of
> .disable() in new drivers.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com> # for sun4i
> Acked-by: Philipp Zabel <p.zabel at pengutronix.de> # for mediatek
> Acked-by: Alexey Brodkin <abrodkin at synopsys.com> # for arcpgu
> Acked-by: Boris Brezillon <boris.brezillon at free-electrons.com> # for atmel-hlcdc
> Tested-by: Philippe Cornu <philippe.cornu at st.com> # for stm
> Acked-by: Philippe Cornu <philippe.cornu at st.com> # for stm
> Acked-by: Vincent Abriou <vincent.abriou at st.com> # for sti
> Reviewed-by: Thomas Hellstrom <thellstrom at vmware.com> # for vmwgfx
Patches 1&2 merged, I think they gathered sufficient acks :-)
I'll leave 3 for Thomas to pick up for 4.14 through the vmwgfx tree.
Thanks, Daniel
> ---
> drivers/gpu/drm/arc/arcpgu_crtc.c | 5 +++--
> drivers/gpu/drm/arm/hdlcd_crtc.c | 5 +++--
> drivers/gpu/drm/arm/malidp_crtc.c | 5 +++--
> drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 5 +++--
> drivers/gpu/drm/drm_simple_kms_helper.c | 5 +++--
> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 5 +++--
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 5 +++--
> drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 5 +++--
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 5 +++--
> drivers/gpu/drm/meson/meson_crtc.c | 5 +++--
> drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 5 +++--
> drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 5 +++--
> drivers/gpu/drm/omapdrm/omap_crtc.c | 5 +++--
> drivers/gpu/drm/qxl/qxl_display.c | 5 +++--
> drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 5 +++--
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 5 +++--
> drivers/gpu/drm/sti/sti_crtc.c | 5 +++--
> drivers/gpu/drm/stm/ltdc.c | 5 +++--
> drivers/gpu/drm/sun4i/sun4i_crtc.c | 5 +++--
> drivers/gpu/drm/tegra/dc.c | 5 +++--
> drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 8 +++++++-
> drivers/gpu/drm/vc4/vc4_crtc.c | 5 +++--
> drivers/gpu/drm/virtio/virtgpu_display.c | 5 +++--
> drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 7 ++++---
> drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 7 ++++---
> drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 5 +++--
> drivers/gpu/drm/zte/zx_vou.c | 5 +++--
> 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,
> ARCPGU_CTRL_ENABLE_MASK);
> }
>
> -static void arc_pgu_crtc_disable(struct drm_crtc *crtc)
> +static void arc_pgu_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc);
>
> @@ -162,9 +163,9 @@ static const struct drm_crtc_helper_funcs arc_pgu_crtc_helper_funcs = {
> .mode_set = drm_helper_crtc_mode_set,
> .mode_set_base = drm_helper_crtc_mode_set_base,
> .mode_set_nofb = arc_pgu_crtc_mode_set_nofb,
> - .disable = arc_pgu_crtc_disable,
> .atomic_begin = arc_pgu_crtc_atomic_begin,
> .atomic_enable = arc_pgu_crtc_atomic_enable,
> + .atomic_disable = arc_pgu_crtc_atomic_disable,
> };
>
> 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,
> drm_crtc_vblank_on(crtc);
> }
>
> -static void hdlcd_crtc_disable(struct drm_crtc *crtc)
> +static void hdlcd_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct hdlcd_drm_private *hdlcd = crtc_to_hdlcd_priv(crtc);
>
> @@ -219,10 +220,10 @@ static void hdlcd_crtc_atomic_begin(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs hdlcd_crtc_helper_funcs = {
> - .disable = hdlcd_crtc_disable,
> .atomic_check = hdlcd_crtc_atomic_check,
> .atomic_begin = hdlcd_crtc_atomic_begin,
> .atomic_enable = hdlcd_crtc_atomic_enable,
> + .atomic_disable = hdlcd_crtc_atomic_disable,
> };
>
> 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,
> drm_crtc_vblank_on(crtc);
> }
>
> -static void malidp_crtc_disable(struct drm_crtc *crtc)
> +static void malidp_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
> struct malidp_hw_device *hwdev = malidp->dev;
> @@ -409,9 +410,9 @@ static int malidp_crtc_atomic_check(struct drm_crtc *crtc,
>
> static const struct drm_crtc_helper_funcs malidp_crtc_helper_funcs = {
> .mode_valid = malidp_crtc_mode_valid,
> - .disable = malidp_crtc_disable,
> .atomic_check = malidp_crtc_atomic_check,
> .atomic_enable = malidp_crtc_atomic_enable,
> + .atomic_disable = malidp_crtc_atomic_disable,
> };
>
> 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,
> return atmel_hlcdc_dc_mode_valid(crtc->dc, mode);
> }
>
> -static void atmel_hlcdc_crtc_disable(struct drm_crtc *c)
> +static void atmel_hlcdc_crtc_atomic_disable(struct drm_crtc *c,
> + struct drm_crtc_state *old_state)
> {
> struct drm_device *dev = c->dev;
> 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 = {
> .mode_set = drm_helper_crtc_mode_set,
> .mode_set_nofb = atmel_hlcdc_crtc_mode_set_nofb,
> .mode_set_base = drm_helper_crtc_mode_set_base,
> - .disable = atmel_hlcdc_crtc_disable,
> .atomic_check = atmel_hlcdc_crtc_atomic_check,
> .atomic_begin = atmel_hlcdc_crtc_atomic_begin,
> .atomic_flush = atmel_hlcdc_crtc_atomic_flush,
> .atomic_enable = atmel_hlcdc_crtc_atomic_enable,
> + .atomic_disable = atmel_hlcdc_crtc_atomic_disable,
> };
>
> 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,
> pipe->funcs->enable(pipe, crtc->state);
> }
>
> -static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc)
> +static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct drm_simple_display_pipe *pipe;
>
> @@ -66,7 +67,7 @@ static void drm_simple_kms_crtc_disable(struct drm_crtc *crtc)
> static const struct drm_crtc_helper_funcs drm_simple_kms_crtc_helper_funcs = {
> .atomic_check = drm_simple_kms_crtc_check,
> .atomic_enable = drm_simple_kms_crtc_enable,
> - .disable = drm_simple_kms_crtc_disable,
> + .atomic_disable = drm_simple_kms_crtc_disable,
> };
>
> 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,
> drm_crtc_vblank_on(crtc);
> }
>
> -static void exynos_drm_crtc_disable(struct drm_crtc *crtc)
> +static void exynos_drm_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
>
> @@ -83,11 +84,11 @@ static void exynos_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = {
> - .disable = exynos_drm_crtc_disable,
> .atomic_check = exynos_crtc_atomic_check,
> .atomic_begin = exynos_crtc_atomic_begin,
> .atomic_flush = exynos_crtc_atomic_flush,
> .atomic_enable = exynos_drm_crtc_atomic_enable,
> + .atomic_disable = exynos_drm_crtc_atomic_disable,
> };
>
> 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,
> drm_crtc_vblank_on(crtc);
> }
>
> -static void hibmc_crtc_disable(struct drm_crtc *crtc)
> +static void hibmc_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> unsigned int reg;
> struct hibmc_drm_private *priv = crtc->dev->dev_private;
> @@ -454,11 +455,11 @@ static const struct drm_crtc_funcs hibmc_crtc_funcs = {
> };
>
> static const struct drm_crtc_helper_funcs hibmc_crtc_helper_funcs = {
> - .disable = hibmc_crtc_disable,
> .mode_set_nofb = hibmc_crtc_mode_set_nofb,
> .atomic_begin = hibmc_crtc_atomic_begin,
> .atomic_flush = hibmc_crtc_atomic_flush,
> .atomic_enable = hibmc_crtc_atomic_enable,
> + .atomic_disable = hibmc_crtc_atomic_disable,
> };
>
> 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,
> acrtc->enable = true;
> }
>
> -static void ade_crtc_disable(struct drm_crtc *crtc)
> +static void ade_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct ade_crtc *acrtc = to_ade_crtc(crtc);
> struct ade_hw_ctx *ctx = acrtc->ctx;
> @@ -554,11 +555,11 @@ static void ade_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs ade_crtc_helper_funcs = {
> - .disable = ade_crtc_disable,
> .mode_set_nofb = ade_crtc_mode_set_nofb,
> .atomic_begin = ade_crtc_atomic_begin,
> .atomic_flush = ade_crtc_atomic_flush,
> .atomic_enable = ade_crtc_atomic_enable,
> + .atomic_disable = ade_crtc_atomic_disable,
> };
>
> 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,
> mtk_crtc->enabled = true;
> }
>
> -static void mtk_drm_crtc_disable(struct drm_crtc *crtc)
> +static void mtk_drm_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
> struct mtk_ddp_comp *ovl = mtk_crtc->ddp_comp[0];
> @@ -488,10 +489,10 @@ static const struct drm_crtc_funcs mtk_crtc_funcs = {
> static const struct drm_crtc_helper_funcs mtk_crtc_helper_funcs = {
> .mode_fixup = mtk_drm_crtc_mode_fixup,
> .mode_set_nofb = mtk_drm_crtc_mode_set_nofb,
> - .disable = mtk_drm_crtc_disable,
> .atomic_begin = mtk_drm_crtc_atomic_begin,
> .atomic_flush = mtk_drm_crtc_atomic_flush,
> .atomic_enable = mtk_drm_crtc_atomic_enable,
> + .atomic_disable = mtk_drm_crtc_atomic_disable,
> };
>
> 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,
> priv->viu.osd1_enabled = true;
> }
>
> -static void meson_crtc_disable(struct drm_crtc *crtc)
> +static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct meson_crtc *meson_crtc = to_meson_crtc(crtc);
> struct meson_drm *priv = meson_crtc->priv;
> @@ -150,10 +151,10 @@ static void meson_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs meson_crtc_helper_funcs = {
> - .disable = meson_crtc_disable,
> .atomic_begin = meson_crtc_atomic_begin,
> .atomic_flush = meson_crtc_atomic_flush,
> .atomic_enable = meson_crtc_atomic_enable,
> + .atomic_disable = meson_crtc_atomic_disable,
> };
>
> 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)
> }
> }
>
> -static void mdp4_crtc_disable(struct drm_crtc *crtc)
> +static void mdp4_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
> struct mdp4_kms *mdp4_kms = get_kms(crtc);
> @@ -493,11 +494,11 @@ static const struct drm_crtc_funcs mdp4_crtc_funcs = {
>
> static const struct drm_crtc_helper_funcs mdp4_crtc_helper_funcs = {
> .mode_set_nofb = mdp4_crtc_mode_set_nofb,
> - .disable = mdp4_crtc_disable,
> .atomic_check = mdp4_crtc_atomic_check,
> .atomic_begin = mdp4_crtc_atomic_begin,
> .atomic_flush = mdp4_crtc_atomic_flush,
> .atomic_enable = mdp4_crtc_atomic_enable,
> + .atomic_disable = mdp4_crtc_atomic_disable,
> };
>
> 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)
> spin_unlock_irqrestore(&mdp5_crtc->lm_lock, flags);
> }
>
> -static void mdp5_crtc_disable(struct drm_crtc *crtc)
> +static void mdp5_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct mdp5_crtc *mdp5_crtc = to_mdp5_crtc(crtc);
> 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 = {
>
> static const struct drm_crtc_helper_funcs mdp5_crtc_helper_funcs = {
> .mode_set_nofb = mdp5_crtc_mode_set_nofb,
> - .disable = mdp5_crtc_disable,
> .atomic_check = mdp5_crtc_atomic_check,
> .atomic_begin = mdp5_crtc_atomic_begin,
> .atomic_flush = mdp5_crtc_atomic_flush,
> .atomic_enable = mdp5_crtc_atomic_enable,
> + .atomic_disable = mdp5_crtc_atomic_disable,
> };
>
> 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,
> spin_unlock_irq(&crtc->dev->event_lock);
> }
>
> -static void omap_crtc_disable(struct drm_crtc *crtc)
> +static void omap_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
>
> @@ -568,11 +569,11 @@ static const struct drm_crtc_funcs omap_crtc_funcs = {
>
> static const struct drm_crtc_helper_funcs omap_crtc_helper_funcs = {
> .mode_set_nofb = omap_crtc_mode_set_nofb,
> - .disable = omap_crtc_disable,
> .atomic_check = omap_crtc_atomic_check,
> .atomic_begin = omap_crtc_atomic_begin,
> .atomic_flush = omap_crtc_atomic_flush,
> .atomic_enable = omap_crtc_atomic_enable,
> + .atomic_disable = omap_crtc_atomic_disable,
> };
>
> /* -----------------------------------------------------------------------------
> 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,
> DRM_DEBUG("\n");
> }
>
> -static void qxl_crtc_disable(struct drm_crtc *crtc)
> +static void qxl_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct qxl_crtc *qcrtc = to_qxl_crtc(crtc);
> struct qxl_device *qdev = crtc->dev->dev_private;
> @@ -464,11 +465,11 @@ static void qxl_crtc_disable(struct drm_crtc *crtc)
> }
>
> static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = {
> - .disable = qxl_crtc_disable,
> .mode_fixup = qxl_crtc_mode_fixup,
> .mode_set_nofb = qxl_mode_set_nofb,
> .atomic_flush = qxl_crtc_atomic_flush,
> .atomic_enable = qxl_crtc_atomic_enable,
> + .atomic_disable = qxl_crtc_atomic_disable,
> };
>
> 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,
> rcar_du_crtc_start(rcrtc);
> }
>
> -static void rcar_du_crtc_disable(struct drm_crtc *crtc)
> +static void rcar_du_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct rcar_du_crtc *rcrtc = to_rcar_crtc(crtc);
>
> @@ -610,10 +611,10 @@ static void rcar_du_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs crtc_helper_funcs = {
> - .disable = rcar_du_crtc_disable,
> .atomic_begin = rcar_du_crtc_atomic_begin,
> .atomic_flush = rcar_du_crtc_atomic_flush,
> .atomic_enable = rcar_du_crtc_atomic_enable,
> + .atomic_disable = rcar_du_crtc_atomic_disable,
> };
>
> 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 @@ static int vop_enable(struct drm_crtc *crtc)
> return ret;
> }
>
> -static void vop_crtc_disable(struct drm_crtc *crtc)
> +static void vop_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct vop *vop = to_vop(crtc);
> int i;
> @@ -1080,11 +1081,11 @@ static void vop_crtc_atomic_begin(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs vop_crtc_helper_funcs = {
> - .disable = vop_crtc_disable,
> .mode_fixup = vop_crtc_mode_fixup,
> .atomic_flush = vop_crtc_atomic_flush,
> .atomic_begin = vop_crtc_atomic_begin,
> .atomic_enable = vop_crtc_atomic_enable,
> + .atomic_disable = vop_crtc_atomic_disable,
> };
>
> 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,
> drm_crtc_vblank_on(crtc);
> }
>
> -static void sti_crtc_disabling(struct drm_crtc *crtc)
> +static void sti_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct sti_mixer *mixer = to_sti_mixer(crtc);
>
> @@ -223,10 +224,10 @@ static void sti_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs sti_crtc_helper_funcs = {
> - .disable = sti_crtc_disabling,
> .mode_set_nofb = sti_crtc_mode_set_nofb,
> .atomic_flush = sti_crtc_atomic_flush,
> .atomic_enable = sti_crtc_atomic_enable,
> + .atomic_disable = sti_crtc_atomic_disable,
> };
>
> 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,
> drm_crtc_vblank_on(crtc);
> }
>
> -static void ltdc_crtc_disable(struct drm_crtc *crtc)
> +static void ltdc_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct ltdc_device *ldev = crtc_to_ltdc(crtc);
>
> @@ -525,10 +526,10 @@ static void ltdc_crtc_atomic_flush(struct drm_crtc *crtc,
>
> static struct drm_crtc_helper_funcs ltdc_crtc_helper_funcs = {
> .load_lut = ltdc_crtc_load_lut,
> - .disable = ltdc_crtc_disable,
> .mode_set_nofb = ltdc_crtc_mode_set_nofb,
> .atomic_flush = ltdc_crtc_atomic_flush,
> .atomic_enable = ltdc_crtc_atomic_enable,
> + .atomic_disable = ltdc_crtc_atomic_disable,
> };
>
> 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,
> }
> }
>
> -static void sun4i_crtc_disable(struct drm_crtc *crtc)
> +static void sun4i_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc);
>
> @@ -100,7 +101,7 @@ static const struct drm_crtc_helper_funcs sun4i_crtc_helper_funcs = {
> .atomic_begin = sun4i_crtc_atomic_begin,
> .atomic_flush = sun4i_crtc_atomic_flush,
> .atomic_enable = sun4i_crtc_atomic_enable,
> - .disable = sun4i_crtc_disable,
> + .atomic_disable = sun4i_crtc_atomic_disable,
> };
>
> 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)
> return -ETIMEDOUT;
> }
>
> -static void tegra_crtc_disable(struct drm_crtc *crtc)
> +static void tegra_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct tegra_dc *dc = to_tegra_dc(crtc);
> u32 value;
> @@ -1352,11 +1353,11 @@ static void tegra_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs tegra_crtc_helper_funcs = {
> - .disable = tegra_crtc_disable,
> .atomic_check = tegra_crtc_atomic_check,
> .atomic_begin = tegra_crtc_atomic_begin,
> .atomic_flush = tegra_crtc_atomic_flush,
> .atomic_enable = tegra_crtc_atomic_enable,
> + .atomic_disable = tegra_crtc_atomic_disable,
> };
>
> 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)
> tilcdc_crtc_off(crtc, false);
> }
>
> +static void tilcdc_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> +{
> + tilcdc_crtc_disable(crtc);
> +}
> +
> void tilcdc_crtc_shutdown(struct drm_crtc *crtc)
> {
> tilcdc_crtc_off(crtc, true);
> @@ -735,9 +741,9 @@ static const struct drm_crtc_funcs tilcdc_crtc_funcs = {
>
> static const struct drm_crtc_helper_funcs tilcdc_crtc_helper_funcs = {
> .mode_fixup = tilcdc_crtc_mode_fixup,
> - .disable = tilcdc_crtc_disable,
> .atomic_check = tilcdc_crtc_atomic_check,
> .atomic_enable = tilcdc_crtc_atomic_enable,
> + .atomic_disable = tilcdc_crtc_atomic_disable,
> };
>
> 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)
> SCALER_DISPCTRL_ENABLE);
> }
>
> -static void vc4_crtc_disable(struct drm_crtc *crtc)
> +static void vc4_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct drm_device *dev = crtc->dev;
> struct vc4_dev *vc4 = to_vc4_dev(dev);
> @@ -870,11 +871,11 @@ static const struct drm_crtc_funcs vc4_crtc_funcs = {
>
> static const struct drm_crtc_helper_funcs vc4_crtc_helper_funcs = {
> .mode_set_nofb = vc4_crtc_mode_set_nofb,
> - .disable = vc4_crtc_disable,
> .mode_valid = vc4_crtc_mode_valid,
> .atomic_check = vc4_crtc_atomic_check,
> .atomic_flush = vc4_crtc_atomic_flush,
> .atomic_enable = vc4_crtc_atomic_enable,
> + .atomic_disable = vc4_crtc_atomic_disable,
> };
>
> 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,
> {
> }
>
> -static void virtio_gpu_crtc_disable(struct drm_crtc *crtc)
> +static void virtio_gpu_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct drm_device *dev = crtc->dev;
> struct virtio_gpu_device *vgdev = dev->dev_private;
> @@ -146,11 +147,11 @@ static void virtio_gpu_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs virtio_gpu_crtc_helper_funcs = {
> - .disable = virtio_gpu_crtc_disable,
> .mode_set_nofb = virtio_gpu_crtc_mode_set_nofb,
> .atomic_check = virtio_gpu_crtc_atomic_check,
> .atomic_flush = virtio_gpu_crtc_atomic_flush,
> .atomic_enable = virtio_gpu_crtc_atomic_enable,
> + .atomic_disable = virtio_gpu_crtc_atomic_disable,
> };
>
> 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,
> }
>
> /**
> - * vmw_ldu_crtc_helper_disable - Turns off CRTC
> + * vmw_ldu_crtc_atomic_disable - Turns off CRTC
> *
> * @crtc: CRTC to be turned off
> */
> -static void vmw_ldu_crtc_helper_disable(struct drm_crtc *crtc)
> +static void vmw_ldu_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> }
>
> @@ -377,12 +378,12 @@ drm_plane_helper_funcs vmw_ldu_primary_plane_helper_funcs = {
> };
>
> static const struct drm_crtc_helper_funcs vmw_ldu_crtc_helper_funcs = {
> - .disable = vmw_ldu_crtc_helper_disable,
> .mode_set_nofb = vmw_ldu_crtc_mode_set_nofb,
> .atomic_check = vmw_du_crtc_atomic_check,
> .atomic_begin = vmw_du_crtc_atomic_begin,
> .atomic_flush = vmw_du_crtc_atomic_flush,
> .atomic_enable = vmw_ldu_crtc_atomic_enable,
> + .atomic_disable = vmw_ldu_crtc_atomic_disable,
> };
>
>
> 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,
> }
>
> /**
> - * vmw_sou_crtc_helper_disable - Turns off CRTC
> + * vmw_sou_crtc_atomic_disable - Turns off CRTC
> *
> * @crtc: CRTC to be turned off
> */
> -static void vmw_sou_crtc_helper_disable(struct drm_crtc *crtc)
> +static void vmw_sou_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct vmw_private *dev_priv;
> struct vmw_screen_object_unit *sou;
> @@ -574,12 +575,12 @@ drm_plane_helper_funcs vmw_sou_primary_plane_helper_funcs = {
>
> static const struct drm_crtc_helper_funcs vmw_sou_crtc_helper_funcs = {
> .prepare = vmw_sou_crtc_helper_prepare,
> - .disable = vmw_sou_crtc_helper_disable,
> .mode_set_nofb = vmw_sou_crtc_mode_set_nofb,
> .atomic_check = vmw_du_crtc_atomic_check,
> .atomic_begin = vmw_du_crtc_atomic_begin,
> .atomic_flush = vmw_du_crtc_atomic_flush,
> .atomic_enable = vmw_sou_crtc_atomic_enable,
> + .atomic_disable = vmw_sou_crtc_atomic_disable,
> };
>
>
> 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,
> vmw_kms_del_active(dev_priv, &stdu->base);
> }
>
> -static void vmw_stdu_crtc_helper_disable(struct drm_crtc *crtc)
> +static void vmw_stdu_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct vmw_private *dev_priv;
> struct vmw_screen_target_display_unit *stdu;
> @@ -1416,12 +1417,12 @@ drm_plane_helper_funcs vmw_stdu_primary_plane_helper_funcs = {
>
> static const struct drm_crtc_helper_funcs vmw_stdu_crtc_helper_funcs = {
> .prepare = vmw_stdu_crtc_helper_prepare,
> - .disable = vmw_stdu_crtc_helper_disable,
> .mode_set_nofb = vmw_stdu_crtc_mode_set_nofb,
> .atomic_check = vmw_du_crtc_atomic_check,
> .atomic_begin = vmw_du_crtc_atomic_begin,
> .atomic_flush = vmw_du_crtc_atomic_flush,
> .atomic_enable = vmw_stdu_crtc_atomic_enable,
> + .atomic_disable = vmw_stdu_crtc_atomic_disable,
> };
>
>
> 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,
> DRM_DEV_ERROR(vou->dev, "failed to enable pixclk: %d\n", ret);
> }
>
> -static void zx_crtc_disable(struct drm_crtc *crtc)
> +static void zx_crtc_atomic_disable(struct drm_crtc *crtc,
> + struct drm_crtc_state *old_state)
> {
> struct zx_crtc *zcrtc = to_zx_crtc(crtc);
> const struct zx_crtc_bits *bits = zcrtc->bits;
> @@ -491,9 +492,9 @@ static void zx_crtc_atomic_flush(struct drm_crtc *crtc,
> }
>
> static const struct drm_crtc_helper_funcs zx_crtc_helper_funcs = {
> - .disable = zx_crtc_disable,
> .atomic_flush = zx_crtc_atomic_flush,
> .atomic_enable = zx_crtc_atomic_enable,
> + .atomic_disable = zx_crtc_atomic_disable,
> };
>
> static int zx_vou_enable_vblank(struct drm_crtc *crtc)
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list