On Mon, Oct 28, 2019 at 09:45:47AM +0100, Thomas Zimmermann wrote: > The flags field in struct udl_gem control mapping parameters: cached > access for local buffers, write-combined access for imported buffers. > > We can drop the field and distingush both cases by testing whether > struct drm_gem_object.import_attach is NULL. Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > --- > drivers/gpu/drm/udl/udl_dmabuf.c | 1 - > drivers/gpu/drm/udl/udl_drv.h | 4 ---- > drivers/gpu/drm/udl/udl_gem.c | 27 +++++++-------------------- > 3 files changed, 7 insertions(+), 25 deletions(-) > > diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c > index 3108e9a9234b..b1c1ee64de59 100644 > --- a/drivers/gpu/drm/udl/udl_dmabuf.c > +++ b/drivers/gpu/drm/udl/udl_dmabuf.c > @@ -241,7 +241,6 @@ struct drm_gem_object *udl_gem_prime_import(struct drm_device *dev, > goto fail_unmap; > > uobj->base.import_attach = attach; > - uobj->flags = UDL_BO_WC; > > return &uobj->base; > > diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h > index 12a970fd9a87..e1306a51903c 100644 > --- a/drivers/gpu/drm/udl/udl_drv.h > +++ b/drivers/gpu/drm/udl/udl_drv.h > @@ -29,9 +29,6 @@ struct drm_mode_create_dumb; > #define DRIVER_MINOR 0 > #define DRIVER_PATCHLEVEL 1 > > -#define UDL_BO_CACHEABLE (1 << 0) > -#define UDL_BO_WC (1 << 1) > - > struct udl_device; > > struct urb_node { > @@ -81,7 +78,6 @@ struct udl_gem_object { > struct page **pages; > void *vmapping; > struct sg_table *sg; > - unsigned int flags; > }; > > #define to_udl_bo(x) container_of(x, struct udl_gem_object, base) > diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c > index b23a5c2fcd80..7d3c1b73ea02 100644 > --- a/drivers/gpu/drm/udl/udl_gem.c > +++ b/drivers/gpu/drm/udl/udl_gem.c > @@ -25,7 +25,6 @@ struct udl_gem_object *udl_gem_alloc_object(struct drm_device *dev, > return NULL; > } > > - obj->flags = UDL_BO_CACHEABLE; > return obj; > } > > @@ -57,23 +56,6 @@ udl_gem_create(struct drm_file *file, > return 0; > } > > -static void update_vm_cache_attr(struct udl_gem_object *obj, > - struct vm_area_struct *vma) > -{ > - DRM_DEBUG_KMS("flags = 0x%x\n", obj->flags); > - > - /* non-cacheable as default. */ > - if (obj->flags & UDL_BO_CACHEABLE) { > - vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); > - } else if (obj->flags & UDL_BO_WC) { > - vma->vm_page_prot = > - pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); > - } else { > - vma->vm_page_prot = > - pgprot_noncached(vm_get_page_prot(vma->vm_flags)); > - } > -} > - > int udl_dumb_create(struct drm_file *file, > struct drm_device *dev, > struct drm_mode_create_dumb *args) > @@ -86,16 +68,21 @@ int udl_dumb_create(struct drm_file *file, > > int udl_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma) > { > + struct drm_gem_object *obj; > int ret; > > ret = drm_gem_mmap(filp, vma); > if (ret) > return ret; > > + obj = vma->vm_private_data; > + > vma->vm_flags &= ~VM_PFNMAP; > vma->vm_flags |= VM_MIXEDMAP; > > - update_vm_cache_attr(to_udl_bo(vma->vm_private_data), vma); > + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); > + if (obj->import_attach) > + vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); > > return ret; > } > @@ -155,7 +142,7 @@ int udl_gem_vmap(struct udl_gem_object *obj) > return -ENOMEM; > return 0; > } > - > + > ret = udl_gem_get_pages(obj); > if (ret) > return ret; > -- > 2.23.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel