Messages in this thread | | | Date | Thu, 15 Apr 2021 11:26:33 +0200 | From | Maxime Ripard <> | 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@vger.kernel.org> # 5.8+ > Signed-off-by: Paul Cercueil <paul@crapouillou.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 [unhandled content-type:application/pgp-signature] | |