mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-21 10:05:00 +08:00
drm/fb-helper: Return early in damage worker
Returning early in the damage worker if no update is required. Makes the code more readable. No functional changes are being made. v3: * s/dirty/damage in commit message (Sam) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Maxime Ripard <mripard@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20201120102545.4047-6-tzimmermann@suse.de
This commit is contained in:
parent
9622349ea1
commit
2b5f31aaa8
@ -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) {
|
||||
/* Call damage handlers only if necessary */
|
||||
if (!(clip_copy.x1 < clip_copy.x2 && clip_copy.y1 < clip_copy.y2))
|
||||
return;
|
||||
|
||||
/* 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);
|
||||
/* 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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user