drm/ssd130x: Synchronize access to dma-buf imported GEM BOs
Synchronize CPU access to GEM BOs with other drivers when updating the screen buffer. Imported DMA buffers might otherwise contain stale data. Suggested-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20220927095249.1919385-1-javierm@redhat.com
This commit is contained in:
parent
30b1a0797e
commit
09d6838f37
@ -555,11 +555,18 @@ static int ssd130x_fb_blit_rect(struct drm_framebuffer *fb, const struct iosys_m
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE);
|
||||
if (ret)
|
||||
goto out_free;
|
||||
|
||||
iosys_map_set_vaddr(&dst, buf);
|
||||
drm_fb_xrgb8888_to_mono(&dst, &dst_pitch, vmap, fb, rect);
|
||||
|
||||
drm_gem_fb_end_cpu_access(fb, DMA_FROM_DEVICE);
|
||||
|
||||
ssd130x_update_rect(ssd130x, buf, rect);
|
||||
|
||||
out_free:
|
||||
kfree(buf);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user