Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/mipi-dbi: Use framebuffer dma-buf helpers

Replace dma_buf_begin_cpu_access() with drm_gem_fb_begin_cpu_access();
same for _end_cpu_access(). Remove some boiler-plate code. No functional
changes.

There's one left-over reference to the imported attachment that we
keep. GEM BOs with imported attachment are considered uncached and
enables special handling within the drm_fb_swab().

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210716140801.1215-4-tzimmermann@suse.de

+7 -13
+7 -13
drivers/gpu/drm/drm_mipi_dbi.c
··· 7 7 8 8 #include <linux/debugfs.h> 9 9 #include <linux/delay.h> 10 - #include <linux/dma-buf.h> 11 10 #include <linux/gpio/consumer.h> 12 11 #include <linux/module.h> 13 12 #include <linux/regulator/consumer.h> ··· 201 202 { 202 203 struct drm_gem_object *gem = drm_gem_fb_get_obj(fb, 0); 203 204 struct drm_gem_cma_object *cma_obj = to_drm_gem_cma_obj(gem); 204 - struct dma_buf_attachment *import_attach = gem->import_attach; 205 205 void *src = cma_obj->vaddr; 206 - int ret = 0; 206 + int ret; 207 207 208 - if (import_attach) { 209 - ret = dma_buf_begin_cpu_access(import_attach->dmabuf, 210 - DMA_FROM_DEVICE); 211 - if (ret) 212 - return ret; 213 - } 208 + ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE); 209 + if (ret) 210 + return ret; 214 211 215 212 switch (fb->format->format) { 216 213 case DRM_FORMAT_RGB565: 217 214 if (swap) 218 - drm_fb_swab(dst, src, fb, clip, !import_attach); 215 + drm_fb_swab(dst, src, fb, clip, !gem->import_attach); 219 216 else 220 217 drm_fb_memcpy(dst, src, fb, clip); 221 218 break; ··· 224 229 return -EINVAL; 225 230 } 226 231 227 - if (import_attach) 228 - ret = dma_buf_end_cpu_access(import_attach->dmabuf, 229 - DMA_FROM_DEVICE); 232 + drm_gem_fb_end_cpu_access(fb, DMA_FROM_DEVICE); 233 + 230 234 return ret; 231 235 } 232 236 EXPORT_SYMBOL(mipi_dbi_buf_copy);