20. 4. 7. 오후 10:42에 Marek Szyprowski 이(가) 쓴 글:
> The ExynosDRM page fault handler is never used, drm_gem_mmap()
> always calls exynos_drm_gem_mmap() function, which perform
> complete mapping for the given virtual address-space area.

Right, never used. Picked it up.

Thanks,
Inki Dae

> 
> Signed-off-by: Marek Szyprowski <m.szyprow...@samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_drv.c |  1 -
>  drivers/gpu/drm/exynos/exynos_drm_gem.c | 20 --------------------
>  drivers/gpu/drm/exynos/exynos_drm_gem.h |  3 ---
>  3 files changed, 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c 
> b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 57defeb44522..dbd80f1e4c78 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -76,7 +76,6 @@ static void exynos_drm_postclose(struct drm_device *dev, 
> struct drm_file *file)
>  }
>  
>  static const struct vm_operations_struct exynos_drm_gem_vm_ops = {
> -     .fault = exynos_drm_gem_fault,
>       .open = drm_gem_vm_open,
>       .close = drm_gem_vm_close,
>  };
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
> b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> index d734d9d51762..40514d3dcf60 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> @@ -381,26 +381,6 @@ int exynos_drm_gem_dumb_create(struct drm_file 
> *file_priv,
>       return 0;
>  }
>  
> -vm_fault_t exynos_drm_gem_fault(struct vm_fault *vmf)
> -{
> -     struct vm_area_struct *vma = vmf->vma;
> -     struct drm_gem_object *obj = vma->vm_private_data;
> -     struct exynos_drm_gem *exynos_gem = to_exynos_gem(obj);
> -     unsigned long pfn;
> -     pgoff_t page_offset;
> -
> -     page_offset = (vmf->address - vma->vm_start) >> PAGE_SHIFT;
> -
> -     if (page_offset >= (exynos_gem->size >> PAGE_SHIFT)) {
> -             DRM_ERROR("invalid page offset\n");
> -             return VM_FAULT_SIGBUS;
> -     }
> -
> -     pfn = page_to_pfn(exynos_gem->pages[page_offset]);
> -     return vmf_insert_mixed(vma, vmf->address,
> -                     __pfn_to_pfn_t(pfn, PFN_DEV));
> -}
> -
>  static int exynos_drm_gem_mmap_obj(struct drm_gem_object *obj,
>                                  struct vm_area_struct *vma)
>  {
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.h 
> b/drivers/gpu/drm/exynos/exynos_drm_gem.h
> index 42ec67bc262d..f00044c0b688 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.h
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.h
> @@ -101,9 +101,6 @@ int exynos_drm_gem_dumb_create(struct drm_file *file_priv,
>                              struct drm_device *dev,
>                              struct drm_mode_create_dumb *args);
>  
> -/* page fault handler and mmap fault address(virtual) to physical memory. */
> -vm_fault_t exynos_drm_gem_fault(struct vm_fault *vmf);
> -
>  /* set vm_flags and we can change the vm attribute to other one at here. */
>  int exynos_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma);
>  
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to