[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210415092633.4vkteqmqqxfgrjxz@gilmour>
Date: Thu, 15 Apr 2021 11:26:33 +0200
From: Maxime Ripard <maxime@...no.tech>
To: Paul Cercueil <paul@...pouillou.net>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Thomas Zimmermann <tzimmermann@...e.de>,
Simon Ser <contact@...rsion.fr>,
Sam Ravnborg <sam@...nborg.org>, od@...c.me,
linux-mips@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH 2/2] drm/ingenic: Don't request full modeset if property
is not modified
Hi,
On Mon, Mar 29, 2021 at 06:50:46PM +0100, Paul Cercueil wrote:
> Avoid requesting a full modeset if the sharpness property is not
> modified, because then we don't actually need it.
>
> Fixes: fc1acf317b01 ("drm/ingenic: Add support for the IPU")
> Cc: <stable@...r.kernel.org> # 5.8+
> Signed-off-by: Paul Cercueil <paul@...pouillou.net>
> ---
> drivers/gpu/drm/ingenic/ingenic-ipu.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ingenic/ingenic-ipu.c b/drivers/gpu/drm/ingenic/ingenic-ipu.c
> index 3b1091e7c0cd..95b665c4a7b0 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-ipu.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-ipu.c
> @@ -640,10 +640,12 @@ ingenic_ipu_plane_atomic_set_property(struct drm_plane *plane,
> {
> struct ingenic_ipu *ipu = plane_to_ingenic_ipu(plane);
> struct drm_crtc_state *crtc_state;
> + bool mode_changed;
>
> if (property != ipu->sharpness_prop)
> return -EINVAL;
>
> + mode_changed = val != ipu->sharpness;
> ipu->sharpness = val;
>
> if (state->crtc) {
> @@ -651,7 +653,7 @@ ingenic_ipu_plane_atomic_set_property(struct drm_plane *plane,
> if (WARN_ON(!crtc_state))
> return -EINVAL;
>
> - crtc_state->mode_changed = true;
> + crtc_state->mode_changed |= mode_changed;
> }
I'd just change the condition from
if (state->crtc)
to
if (state->crtc && val != ipu->sharpness)
It's going to be easier to extend if you ever need to. Also, drivers
usually do this in atomic_check, is there a specific reason to do it in
atomic_set_property?
Maxime
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists