Message ID | 20221110135519.30029-3-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/fb-helper: Remove damage worker | expand |
On Thu, Nov 10, 2022 at 02:55:16PM +0100, Thomas Zimmermann wrote: > Move the dirty-fb update from the damage-worker callback into the > new helper drm_fb_helper_fb_dirty(), so that it can run outside the > damage worker. This change will help to remove the damage worker > entirely. No functional changes. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > --- > 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 178615565760e..be8ecb5e50b56 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -367,9 +367,8 @@ static void drm_fb_helper_resume_worker(struct work_struct *work) > console_unlock(); > } > > -static void drm_fb_helper_damage_work(struct work_struct *work) > +static void drm_fb_helper_fb_dirty(struct drm_fb_helper *helper) > { > - struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, damage_work); > struct drm_device *dev = helper->dev; > struct drm_clip_rect *clip = &helper->damage_clip; > struct drm_clip_rect clip_copy; > @@ -404,6 +403,13 @@ static void drm_fb_helper_damage_work(struct work_struct *work) > spin_unlock_irqrestore(&helper->damage_lock, flags); > } > > +static void drm_fb_helper_damage_work(struct work_struct *work) > +{ > + struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, damage_work); > + > + drm_fb_helper_fb_dirty(helper); Was pondering a bit the naming, but it fits the ->fb_dirty callback, so at least consistent with what we have. Sometimes I'm forgetting how many layers of indirection we have just for historical reasons :-/ Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > +} > + > /** > * drm_fb_helper_prepare - setup a drm_fb_helper structure > * @dev: DRM device > -- > 2.38.0 >
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index 178615565760e..be8ecb5e50b56 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c @@ -367,9 +367,8 @@ static void drm_fb_helper_resume_worker(struct work_struct *work) console_unlock(); } -static void drm_fb_helper_damage_work(struct work_struct *work) +static void drm_fb_helper_fb_dirty(struct drm_fb_helper *helper) { - struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, damage_work); struct drm_device *dev = helper->dev; struct drm_clip_rect *clip = &helper->damage_clip; struct drm_clip_rect clip_copy; @@ -404,6 +403,13 @@ static void drm_fb_helper_damage_work(struct work_struct *work) spin_unlock_irqrestore(&helper->damage_lock, flags); } +static void drm_fb_helper_damage_work(struct work_struct *work) +{ + struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, damage_work); + + drm_fb_helper_fb_dirty(helper); +} + /** * drm_fb_helper_prepare - setup a drm_fb_helper structure * @dev: DRM device
Move the dirty-fb update from the damage-worker callback into the new helper drm_fb_helper_fb_dirty(), so that it can run outside the damage worker. This change will help to remove the damage worker entirely. No functional changes. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/drm_fb_helper.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)