[PATCH v2 05/10] drm/fb-helper: Return early in dirty worker
Sam Ravnborg
sam at ravnborg.org
Mon Nov 23 19:23:37 UTC 2020
On Fri, Nov 20, 2020 at 11:25:40AM +0100, Thomas Zimmermann wrote:
> Returning early in the dirty worker if no update is required makes the
> code more readable. No functional changes are made.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
It is a damage worker (both subject and changelog).
Reviewed-by: Sam Ravnborg <sam at ravnborg.org>
> ---
> drivers/gpu/drm/drm_fb_helper.c | 31 +++++++++++++++----------------
> 1 file changed, 15 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index 87d4759de04a..c9018ffff5f9 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -407,24 +407,23 @@ static void drm_fb_helper_damage_work(struct work_struct *work)
> clip->x2 = clip->y2 = 0;
> spin_unlock_irqrestore(&helper->damage_lock, flags);
>
> - /* call dirty callback only when it has been really touched */
> - if (clip_copy.x1 < clip_copy.x2 && clip_copy.y1 < clip_copy.y2) {
> -
> - /* Generic fbdev uses a shadow buffer */
> - if (helper->buffer) {
> - ret = drm_client_buffer_vmap(helper->buffer, &map);
> - if (ret)
> - return;
> - drm_fb_helper_damage_blit_real(helper, &clip_copy, &map);
> - }
> -
> - if (helper->fb->funcs->dirty)
> - helper->fb->funcs->dirty(helper->fb, NULL, 0, 0,
> - &clip_copy, 1);
> + /* Call damage handlers only if necessary */
> + if (!(clip_copy.x1 < clip_copy.x2 && clip_copy.y1 < clip_copy.y2))
> + return;
>
> - if (helper->buffer)
> - drm_client_buffer_vunmap(helper->buffer);
> + /* Generic fbdev uses a shadow buffer */
> + if (helper->buffer) {
> + ret = drm_client_buffer_vmap(helper->buffer, &map);
> + if (ret)
> + return;
> + drm_fb_helper_damage_blit_real(helper, &clip_copy, &map);
> }
> +
> + if (helper->fb->funcs->dirty)
> + helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, &clip_copy, 1);
> +
> + if (helper->buffer)
> + drm_client_buffer_vunmap(helper->buffer);
> }
>
> /**
> --
> 2.29.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list