mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
drm/log: Batch vmap/vunmap and flush for record drawing
drm_log_draw_new_line() calls drm_log_clear_line() and drm_log_draw_line(), which independently call drm_client_buffer_vmap_local(), drm_client_buffer_vunmap_local(), and drm_client_buffer_flush(). For each call to drm_log_draw_new_line(), this results in 2 vmap/vunmap pairs and 2 flush calls, even though vmap_local maps the entire framebuffer each time. Refactor drm_log_clear_line() and drm_log_draw_line() to accept a pre-mapped iosys_map by value, removing the per-line vmap/vunmap/flush calls. Move the single vmap/vunmap pair and flush up to drm_log_draw_new_line(), which now maps once before clearing and drawing, then issues a single flush after unmapping. Signed-off-by: Shixiong Ou <oushixiong@kylinos.cn> Link: https://patch.msgid.link/20260729084823.693723-1-oushixiong1025@163.com Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
This commit is contained in:
parent
d85a5e9dfb
commit
0d46312808
1 changed files with 33 additions and 19 deletions
Loading…
Add table
Add a link
Reference in a new issue