[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aAAaJ_6Y4VXRC3q-@blossom>
Date: Wed, 16 Apr 2025 16:59:19 -0400
From: Alyssa Rosenzweig <alyssa@...enzweig.io>
To: j@...nau.net
Cc: Sasha Finkelstein <fnkl.kernel@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Neal Gompa <neal@...pa.dev>, Dmitry Baryshkov <lumag@...nel.org>,
dri-devel@...ts.freedesktop.org, asahi@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/4] drm: adp: Enable vblank interrupts in crtc's
.atomic_enable
Reviewed-by: Alyssa Rosenzweig <alyssa@...enzweig.io>
Le Wed , Apr 16, 2025 at 10:25:29PM +0200, Janne Grunau via B4 Relay a écrit :
> From: Janne Grunau <j@...nau.net>
>
> Calling drm_crtc_vblank_on() drm_crtc_helper_funcs' atomic_enable is
> expected to enable vblank interrupts. It may have been avoided here to
> due to drm_crtc_vblank_get()'s error behavior after
> drm_crtc_vblank_reset(). With that fixed in the preceding change the
> driver can call drm_crtc_vblank_on() from adp_crtc_atomic_enable().
>
> Signed-off-by: Janne Grunau <j@...nau.net>
> ---
> drivers/gpu/drm/adp/adp_drv.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/adp/adp_drv.c b/drivers/gpu/drm/adp/adp_drv.c
> index 27119acac92238858d58a690eb4196dbb2ae0c1a..c6238fb059342eebafddd53650a499fea0079dea 100644
> --- a/drivers/gpu/drm/adp/adp_drv.c
> +++ b/drivers/gpu/drm/adp/adp_drv.c
> @@ -288,6 +288,7 @@ static void adp_crtc_atomic_enable(struct drm_crtc *crtc,
> writel(BIT(0), adp->be + ADBE_BLEND_EN3);
> writel(BIT(0), adp->be + ADBE_BLEND_BYPASS);
> writel(BIT(0), adp->be + ADBE_BLEND_EN4);
> + drm_crtc_vblank_on(crtc);
> }
>
> static void adp_crtc_atomic_disable(struct drm_crtc *crtc,
> @@ -517,8 +518,7 @@ static int adp_drm_bind(struct device *dev)
> struct adp_drv_private *adp = to_adp(drm);
> int err;
>
> - adp_disable_vblank(adp);
> - writel(ADP_CTRL_FIFO_ON | ADP_CTRL_VBLANK_ON, adp->fe + ADP_CTRL);
> + writel(ADP_CTRL_FIFO_ON, adp->fe + ADP_CTRL);
>
> adp->next_bridge = drmm_of_get_bridge(&adp->drm, dev->of_node, 0, 0);
> if (IS_ERR(adp->next_bridge)) {
>
> --
> 2.49.0
>
>
Powered by blists - more mailing lists