diff mbox

[1/8] drm/<ttm-based-drivers>: Don't call drm_mmap

Message ID 1411480014-10138-2-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Sept. 23, 2014, 1:46 p.m. UTC
Really, the legacy buffer api should be dead, especially for all these
newfangled drivers. I suspect this is copypasta from the transitioning
days, which probably originated in radeon.

Cc: David Airlie <airlied@linux.ie>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: Rashika <rashika.kheria@gmail.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Fabian Frederick <fabf@skynet.be>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Alexandre Courbot <acourbot@nvidia.com>
Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Christian Engelmayer <cengelma@gmx.at>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/ast/ast_ttm.c         | 2 +-
 drivers/gpu/drm/bochs/bochs_mm.c      | 2 +-
 drivers/gpu/drm/cirrus/cirrus_ttm.c   | 2 +-
 drivers/gpu/drm/mgag200/mgag200_ttm.c | 2 +-
 drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
 drivers/gpu/drm/qxl/qxl_ttm.c         | 2 +-
 drivers/gpu/drm/radeon/radeon_ttm.c   | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

Comments

David Herrmann Sept. 23, 2014, 2:05 p.m. UTC | #1
Hi

On Tue, Sep 23, 2014 at 3:46 PM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Really, the legacy buffer api should be dead, especially for all these
> newfangled drivers. I suspect this is copypasta from the transitioning
> days, which probably originated in radeon.
>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: David Herrmann <dh.herrmann@gmail.com>
> Cc: Rashika <rashika.kheria@gmail.com>
> Cc: Josh Triplett <josh@joshtriplett.org>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Fabian Frederick <fabf@skynet.be>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Alexandre Courbot <acourbot@nvidia.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> Cc: Christian Engelmayer <cengelma@gmx.at>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Yeah, I hope no-one ever used DMA-mmap or BUFS-mmap on those drivers..
otherwise, we can still revert it in special cases (or just break this
legacy stuff..).

Reviewed-by: David Herrmann <dh.herrmann@gmail.com>

Thanks
David

> ---
>  drivers/gpu/drm/ast/ast_ttm.c         | 2 +-
>  drivers/gpu/drm/bochs/bochs_mm.c      | 2 +-
>  drivers/gpu/drm/cirrus/cirrus_ttm.c   | 2 +-
>  drivers/gpu/drm/mgag200/mgag200_ttm.c | 2 +-
>  drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c         | 2 +-
>  drivers/gpu/drm/radeon/radeon_ttm.c   | 2 +-
>  7 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
> index 5098c7dd435c..c65d432f42c4 100644
> --- a/drivers/gpu/drm/ast/ast_ttm.c
> +++ b/drivers/gpu/drm/ast/ast_ttm.c
> @@ -427,7 +427,7 @@ int ast_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct ast_private *ast;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         ast = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
> index 2af30e7607d7..324f5a09a0a1 100644
> --- a/drivers/gpu/drm/bochs/bochs_mm.c
> +++ b/drivers/gpu/drm/bochs/bochs_mm.c
> @@ -339,7 +339,7 @@ int bochs_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct bochs_device *bochs;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         bochs = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> index 3e7d758330a9..d3c615f9b183 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> @@ -411,7 +411,7 @@ int cirrus_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct cirrus_device *cirrus;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         cirrus = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> index be883ef5a1d3..8ac70626df6c 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> @@ -428,7 +428,7 @@ int mgag200_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct mga_device *mdev;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         mdev = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> index e81d086577ce..753a6def61e7 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> @@ -281,7 +281,7 @@ nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev);
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         return ttm_bo_mmap(filp, vma, &drm->ttm.bdev);
>  }
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index abe945a04fd4..0cbc4c987164 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -127,7 +127,7 @@ int qxl_mmap(struct file *filp, struct vm_area_struct *vma)
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
>                 pr_info("%s: vma->vm_pgoff (%ld) < DRM_FILE_PAGE_OFFSET\n",
>                         __func__, vma->vm_pgoff);
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>         }
>
>         file_priv = filp->private_data;
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index eca2ce60d440..902a3e8af79b 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -956,7 +956,7 @@ int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
>         int r;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>         }
>
>         file_priv = filp->private_data;
> --
> 2.1.0
>
Christian König Sept. 23, 2014, 3:30 p.m. UTC | #2
Am 23.09.2014 um 15:46 schrieb Daniel Vetter:
> Really, the legacy buffer api should be dead, especially for all these
> newfangled drivers. I suspect this is copypasta from the transitioning
> days, which probably originated in radeon.
>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: David Herrmann <dh.herrmann@gmail.com>
> Cc: Rashika <rashika.kheria@gmail.com>
> Cc: Josh Triplett <josh@joshtriplett.org>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Fabian Frederick <fabf@skynet.be>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Alexandre Courbot <acourbot@nvidia.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> Cc: Christian Engelmayer <cengelma@gmx.at>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

To be honest I always wondered what this stuff is all about, never 
really understood it.

So patch is Acked-by: Christian König <christian.koenig@amd.com>

> ---
>   drivers/gpu/drm/ast/ast_ttm.c         | 2 +-
>   drivers/gpu/drm/bochs/bochs_mm.c      | 2 +-
>   drivers/gpu/drm/cirrus/cirrus_ttm.c   | 2 +-
>   drivers/gpu/drm/mgag200/mgag200_ttm.c | 2 +-
>   drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
>   drivers/gpu/drm/qxl/qxl_ttm.c         | 2 +-
>   drivers/gpu/drm/radeon/radeon_ttm.c   | 2 +-
>   7 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
> index 5098c7dd435c..c65d432f42c4 100644
> --- a/drivers/gpu/drm/ast/ast_ttm.c
> +++ b/drivers/gpu/drm/ast/ast_ttm.c
> @@ -427,7 +427,7 @@ int ast_mmap(struct file *filp, struct vm_area_struct *vma)
>   	struct ast_private *ast;
>   
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   
>   	file_priv = filp->private_data;
>   	ast = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
> index 2af30e7607d7..324f5a09a0a1 100644
> --- a/drivers/gpu/drm/bochs/bochs_mm.c
> +++ b/drivers/gpu/drm/bochs/bochs_mm.c
> @@ -339,7 +339,7 @@ int bochs_mmap(struct file *filp, struct vm_area_struct *vma)
>   	struct bochs_device *bochs;
>   
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   
>   	file_priv = filp->private_data;
>   	bochs = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> index 3e7d758330a9..d3c615f9b183 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> @@ -411,7 +411,7 @@ int cirrus_mmap(struct file *filp, struct vm_area_struct *vma)
>   	struct cirrus_device *cirrus;
>   
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   
>   	file_priv = filp->private_data;
>   	cirrus = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> index be883ef5a1d3..8ac70626df6c 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> @@ -428,7 +428,7 @@ int mgag200_mmap(struct file *filp, struct vm_area_struct *vma)
>   	struct mga_device *mdev;
>   
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   
>   	file_priv = filp->private_data;
>   	mdev = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> index e81d086577ce..753a6def61e7 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> @@ -281,7 +281,7 @@ nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma)
>   	struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev);
>   
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   
>   	return ttm_bo_mmap(filp, vma, &drm->ttm.bdev);
>   }
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index abe945a04fd4..0cbc4c987164 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -127,7 +127,7 @@ int qxl_mmap(struct file *filp, struct vm_area_struct *vma)
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
>   		pr_info("%s: vma->vm_pgoff (%ld) < DRM_FILE_PAGE_OFFSET\n",
>   			__func__, vma->vm_pgoff);
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   	}
>   
>   	file_priv = filp->private_data;
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index eca2ce60d440..902a3e8af79b 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -956,7 +956,7 @@ int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
>   	int r;
>   
>   	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>   	}
>   
>   	file_priv = filp->private_data;
Jerome Glisse Sept. 23, 2014, 9:38 p.m. UTC | #3
On Tue, Sep 23, 2014 at 03:46:47PM +0200, Daniel Vetter wrote:
> Really, the legacy buffer api should be dead, especially for all these
> newfangled drivers. I suspect this is copypasta from the transitioning
> days, which probably originated in radeon.
> 
> Cc: David Airlie <airlied@linux.ie>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: David Herrmann <dh.herrmann@gmail.com>
> Cc: Rashika <rashika.kheria@gmail.com>
> Cc: Josh Triplett <josh@joshtriplett.org>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Fabian Frederick <fabf@skynet.be>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Alexandre Courbot <acourbot@nvidia.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> Cc: Christian Engelmayer <cengelma@gmx.at>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

I would say NAK as i am pretty sure this break radeon UMS code path.
Of course if we have the go ahead to nuke radeon UMS i am more than
happy.


> ---
>  drivers/gpu/drm/ast/ast_ttm.c         | 2 +-
>  drivers/gpu/drm/bochs/bochs_mm.c      | 2 +-
>  drivers/gpu/drm/cirrus/cirrus_ttm.c   | 2 +-
>  drivers/gpu/drm/mgag200/mgag200_ttm.c | 2 +-
>  drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c         | 2 +-
>  drivers/gpu/drm/radeon/radeon_ttm.c   | 2 +-
>  7 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
> index 5098c7dd435c..c65d432f42c4 100644
> --- a/drivers/gpu/drm/ast/ast_ttm.c
> +++ b/drivers/gpu/drm/ast/ast_ttm.c
> @@ -427,7 +427,7 @@ int ast_mmap(struct file *filp, struct vm_area_struct *vma)
>  	struct ast_private *ast;
>  
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  
>  	file_priv = filp->private_data;
>  	ast = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
> index 2af30e7607d7..324f5a09a0a1 100644
> --- a/drivers/gpu/drm/bochs/bochs_mm.c
> +++ b/drivers/gpu/drm/bochs/bochs_mm.c
> @@ -339,7 +339,7 @@ int bochs_mmap(struct file *filp, struct vm_area_struct *vma)
>  	struct bochs_device *bochs;
>  
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  
>  	file_priv = filp->private_data;
>  	bochs = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> index 3e7d758330a9..d3c615f9b183 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> @@ -411,7 +411,7 @@ int cirrus_mmap(struct file *filp, struct vm_area_struct *vma)
>  	struct cirrus_device *cirrus;
>  
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  
>  	file_priv = filp->private_data;
>  	cirrus = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> index be883ef5a1d3..8ac70626df6c 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> @@ -428,7 +428,7 @@ int mgag200_mmap(struct file *filp, struct vm_area_struct *vma)
>  	struct mga_device *mdev;
>  
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  
>  	file_priv = filp->private_data;
>  	mdev = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> index e81d086577ce..753a6def61e7 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> @@ -281,7 +281,7 @@ nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma)
>  	struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev);
>  
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  
>  	return ttm_bo_mmap(filp, vma, &drm->ttm.bdev);
>  }
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index abe945a04fd4..0cbc4c987164 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -127,7 +127,7 @@ int qxl_mmap(struct file *filp, struct vm_area_struct *vma)
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
>  		pr_info("%s: vma->vm_pgoff (%ld) < DRM_FILE_PAGE_OFFSET\n",
>  			__func__, vma->vm_pgoff);
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  	}
>  
>  	file_priv = filp->private_data;
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index eca2ce60d440..902a3e8af79b 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -956,7 +956,7 @@ int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
>  	int r;
>  
>  	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
> -		return drm_mmap(filp, vma);
> +		return -EINVAL;
>  	}
>  
>  	file_priv = filp->private_data;
> -- 
> 2.1.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
David Herrmann Sept. 23, 2014, 9:53 p.m. UTC | #4
Hi

On Tue, Sep 23, 2014 at 11:38 PM, Jerome Glisse <j.glisse@gmail.com> wrote:
> On Tue, Sep 23, 2014 at 03:46:47PM +0200, Daniel Vetter wrote:
>> Really, the legacy buffer api should be dead, especially for all these
>> newfangled drivers. I suspect this is copypasta from the transitioning
>> days, which probably originated in radeon.
>>
>> Cc: David Airlie <airlied@linux.ie>
>> Cc: Alex Deucher <alexander.deucher@amd.com>
>> Cc: "Christian König" <christian.koenig@amd.com>
>> Cc: David Herrmann <dh.herrmann@gmail.com>
>> Cc: Rashika <rashika.kheria@gmail.com>
>> Cc: Josh Triplett <josh@joshtriplett.org>
>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Cc: Fabian Frederick <fabf@skynet.be>
>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>> Cc: Ben Skeggs <bskeggs@redhat.com>
>> Cc: Alexandre Courbot <acourbot@nvidia.com>
>> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
>> Cc: Christian Engelmayer <cengelma@gmx.at>
>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>
> I would say NAK as i am pretty sure this break radeon UMS code path.
> Of course if we have the go ahead to nuke radeon UMS i am more than
> happy.

radeon_drv.c says:
        driver_old.fops.mmap == drm_mmap;

..so I don't understand why that would break UMS? Do you use KMS mixed
with UMS? radeon_mmap() is only used by radeon_driver_kms_fops, which
is only used by kms_driver. UMS (which I understand as non-KMS in
radeon case) should not be affected by this.

Thanks
David
Jerome Glisse Sept. 23, 2014, 9:57 p.m. UTC | #5
On Tue, Sep 23, 2014 at 11:53:53PM +0200, David Herrmann wrote:
> Hi
> 
> On Tue, Sep 23, 2014 at 11:38 PM, Jerome Glisse <j.glisse@gmail.com> wrote:
> > On Tue, Sep 23, 2014 at 03:46:47PM +0200, Daniel Vetter wrote:
> >> Really, the legacy buffer api should be dead, especially for all these
> >> newfangled drivers. I suspect this is copypasta from the transitioning
> >> days, which probably originated in radeon.
> >>
> >> Cc: David Airlie <airlied@linux.ie>
> >> Cc: Alex Deucher <alexander.deucher@amd.com>
> >> Cc: "Christian König" <christian.koenig@amd.com>
> >> Cc: David Herrmann <dh.herrmann@gmail.com>
> >> Cc: Rashika <rashika.kheria@gmail.com>
> >> Cc: Josh Triplett <josh@joshtriplett.org>
> >> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> >> Cc: Fabian Frederick <fabf@skynet.be>
> >> Cc: Gerd Hoffmann <kraxel@redhat.com>
> >> Cc: Ben Skeggs <bskeggs@redhat.com>
> >> Cc: Alexandre Courbot <acourbot@nvidia.com>
> >> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> >> Cc: Christian Engelmayer <cengelma@gmx.at>
> >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> >
> > I would say NAK as i am pretty sure this break radeon UMS code path.
> > Of course if we have the go ahead to nuke radeon UMS i am more than
> > happy.
> 
> radeon_drv.c says:
>         driver_old.fops.mmap == drm_mmap;
> 
> ..so I don't understand why that would break UMS? Do you use KMS mixed
> with UMS? radeon_mmap() is only used by radeon_driver_kms_fops, which
> is only used by kms_driver. UMS (which I understand as non-KMS in
> radeon case) should not be affected by this.

Oh this might be an heritage of old code in my mind when we had old user
space running on top of KMS, more as a prototype stage and maybe also at
one point the plan was to share the same mmap function so that old code
could use new code cs ioctl.

So yeah this can be nuke sorry for the noise.
> 
> Thanks
> David
Ben Skeggs Sept. 23, 2014, 11:42 p.m. UTC | #6
On Tue, Sep 23, 2014 at 11:46 PM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Really, the legacy buffer api should be dead, especially for all these
> newfangled drivers. I suspect this is copypasta from the transitioning
> days, which probably originated in radeon.
>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: David Herrmann <dh.herrmann@gmail.com>
> Cc: Rashika <rashika.kheria@gmail.com>
> Cc: Josh Triplett <josh@joshtriplett.org>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Fabian Frederick <fabf@skynet.be>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Ben Skeggs <bskeggs@redhat.com>
> Cc: Alexandre Courbot <acourbot@nvidia.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> Cc: Christian Engelmayer <cengelma@gmx.at>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Acked-by: Ben Skeggs <bskeggs@redhat.com>

> ---
>  drivers/gpu/drm/ast/ast_ttm.c         | 2 +-
>  drivers/gpu/drm/bochs/bochs_mm.c      | 2 +-
>  drivers/gpu/drm/cirrus/cirrus_ttm.c   | 2 +-
>  drivers/gpu/drm/mgag200/mgag200_ttm.c | 2 +-
>  drivers/gpu/drm/nouveau/nouveau_ttm.c | 2 +-
>  drivers/gpu/drm/qxl/qxl_ttm.c         | 2 +-
>  drivers/gpu/drm/radeon/radeon_ttm.c   | 2 +-
>  7 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
> index 5098c7dd435c..c65d432f42c4 100644
> --- a/drivers/gpu/drm/ast/ast_ttm.c
> +++ b/drivers/gpu/drm/ast/ast_ttm.c
> @@ -427,7 +427,7 @@ int ast_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct ast_private *ast;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         ast = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
> index 2af30e7607d7..324f5a09a0a1 100644
> --- a/drivers/gpu/drm/bochs/bochs_mm.c
> +++ b/drivers/gpu/drm/bochs/bochs_mm.c
> @@ -339,7 +339,7 @@ int bochs_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct bochs_device *bochs;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         bochs = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> index 3e7d758330a9..d3c615f9b183 100644
> --- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
> +++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
> @@ -411,7 +411,7 @@ int cirrus_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct cirrus_device *cirrus;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         cirrus = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> index be883ef5a1d3..8ac70626df6c 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
> @@ -428,7 +428,7 @@ int mgag200_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct mga_device *mdev;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         file_priv = filp->private_data;
>         mdev = file_priv->minor->dev->dev_private;
> diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> index e81d086577ce..753a6def61e7 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
> @@ -281,7 +281,7 @@ nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma)
>         struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev);
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>
>         return ttm_bo_mmap(filp, vma, &drm->ttm.bdev);
>  }
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index abe945a04fd4..0cbc4c987164 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -127,7 +127,7 @@ int qxl_mmap(struct file *filp, struct vm_area_struct *vma)
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
>                 pr_info("%s: vma->vm_pgoff (%ld) < DRM_FILE_PAGE_OFFSET\n",
>                         __func__, vma->vm_pgoff);
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>         }
>
>         file_priv = filp->private_data;
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index eca2ce60d440..902a3e8af79b 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -956,7 +956,7 @@ int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
>         int r;
>
>         if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
> -               return drm_mmap(filp, vma);
> +               return -EINVAL;
>         }
>
>         file_priv = filp->private_data;
> --
> 2.1.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/ast/ast_ttm.c b/drivers/gpu/drm/ast/ast_ttm.c
index 5098c7dd435c..c65d432f42c4 100644
--- a/drivers/gpu/drm/ast/ast_ttm.c
+++ b/drivers/gpu/drm/ast/ast_ttm.c
@@ -427,7 +427,7 @@  int ast_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct ast_private *ast;
 
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 
 	file_priv = filp->private_data;
 	ast = file_priv->minor->dev->dev_private;
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index 2af30e7607d7..324f5a09a0a1 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -339,7 +339,7 @@  int bochs_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct bochs_device *bochs;
 
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 
 	file_priv = filp->private_data;
 	bochs = file_priv->minor->dev->dev_private;
diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c
index 3e7d758330a9..d3c615f9b183 100644
--- a/drivers/gpu/drm/cirrus/cirrus_ttm.c
+++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c
@@ -411,7 +411,7 @@  int cirrus_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct cirrus_device *cirrus;
 
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 
 	file_priv = filp->private_data;
 	cirrus = file_priv->minor->dev->dev_private;
diff --git a/drivers/gpu/drm/mgag200/mgag200_ttm.c b/drivers/gpu/drm/mgag200/mgag200_ttm.c
index be883ef5a1d3..8ac70626df6c 100644
--- a/drivers/gpu/drm/mgag200/mgag200_ttm.c
+++ b/drivers/gpu/drm/mgag200/mgag200_ttm.c
@@ -428,7 +428,7 @@  int mgag200_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct mga_device *mdev;
 
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 
 	file_priv = filp->private_data;
 	mdev = file_priv->minor->dev->dev_private;
diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
index e81d086577ce..753a6def61e7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
@@ -281,7 +281,7 @@  nouveau_ttm_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct nouveau_drm *drm = nouveau_drm(file_priv->minor->dev);
 
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 
 	return ttm_bo_mmap(filp, vma, &drm->ttm.bdev);
 }
diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
index abe945a04fd4..0cbc4c987164 100644
--- a/drivers/gpu/drm/qxl/qxl_ttm.c
+++ b/drivers/gpu/drm/qxl/qxl_ttm.c
@@ -127,7 +127,7 @@  int qxl_mmap(struct file *filp, struct vm_area_struct *vma)
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
 		pr_info("%s: vma->vm_pgoff (%ld) < DRM_FILE_PAGE_OFFSET\n",
 			__func__, vma->vm_pgoff);
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 	}
 
 	file_priv = filp->private_data;
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index eca2ce60d440..902a3e8af79b 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -956,7 +956,7 @@  int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
 	int r;
 
 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) {
-		return drm_mmap(filp, vma);
+		return -EINVAL;
 	}
 
 	file_priv = filp->private_data;