On Thu, Nov 10, 2022 at 02:55:15PM +0100, Thomas Zimmermann wrote: > Set the damage area in the new helper drm_fb_helper_add_damage_clip(). > It can now be updated without scheduling the damage worker. This change > will help to remove the damage worker entirely. No functional changes. > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/drm_fb_helper.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index e0384f967c0b3..178615565760e 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -576,8 +576,8 @@ void drm_fb_helper_fini(struct drm_fb_helper *fb_helper) > } > EXPORT_SYMBOL(drm_fb_helper_fini); > > -static void drm_fb_helper_damage(struct drm_fb_helper *helper, u32 x, u32 y, > - u32 width, u32 height) > +static void drm_fb_helper_add_damage_clip(struct drm_fb_helper *helper, u32 x, u32 y, > + u32 width, u32 height) > { > struct drm_clip_rect *clip = &helper->damage_clip; > unsigned long flags; > @@ -588,6 +588,12 @@ static void drm_fb_helper_damage(struct drm_fb_helper *helper, u32 x, u32 y, > clip->x2 = max_t(u32, clip->x2, x + width); > clip->y2 = max_t(u32, clip->y2, y + height); > spin_unlock_irqrestore(&helper->damage_lock, flags); > +} > + > +static void drm_fb_helper_damage(struct drm_fb_helper *helper, u32 x, u32 y, > + u32 width, u32 height) > +{ > + drm_fb_helper_add_damage_clip(helper, x, y, width, height); > > schedule_work(&helper->damage_work); > } > -- > 2.38.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch