*/
 
 #include <linux/delay.h>
-#include <linux/dma-buf.h>
 #include <linux/gpio/consumer.h>
 #include <linux/module.h>
 #include <linux/property.h>
 static int repaper_fb_dirty(struct drm_framebuffer *fb)
 {
        struct drm_gem_cma_object *cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
-       struct dma_buf_attachment *import_attach = cma_obj->base.import_attach;
        struct repaper_epd *epd = drm_to_epd(fb->dev);
        struct drm_rect clip;
        int idx, ret = 0;
                goto out_exit;
        }
 
-       if (import_attach) {
-               ret = dma_buf_begin_cpu_access(import_attach->dmabuf,
-                                              DMA_FROM_DEVICE);
-               if (ret)
-                       goto out_free;
-       }
+       ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE);
+       if (ret)
+               goto out_free;
 
        drm_fb_xrgb8888_to_gray8(buf, cma_obj->vaddr, fb, &clip);
 
-       if (import_attach) {
-               ret = dma_buf_end_cpu_access(import_attach->dmabuf,
-                                            DMA_FROM_DEVICE);
-               if (ret)
-                       goto out_free;
-       }
+       drm_gem_fb_end_cpu_access(fb, DMA_FROM_DEVICE);
 
        repaper_gray8_to_mono_reversed(buf, fb->width, fb->height);