All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: Steve Wise <swise@opengridcomputing.com>,
	linux-nvme@lists.infradead.org, target-devel@vger.kernel.org,
	Sumit Semwal <sumit.semwal@linaro.org>,
	devel@driverdev.osuosl.org, rds-devel@oss.oracle.com,
	linux-scsi@vger.kernel.org,
	Matthew Wilcox <mawilcox@microsoft.com>,
	linux-rdma@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
	fcoe-devel@open-fcoe.org, open-iscsi@googlegroups.com,
	linux-media@vger.kernel.org, Ming Lin <ming.l@ssi.samsung.com>,
	intel-gfx@lists.freedesktop.org, sparmaintainer@unisys.com,
	linux-raid@vger.kernel.org, dri-devel@lists.freedesktop.org,
	megaraidlinux.pdl@broadcom.com, Jens Axboe <axboe@kernel.dk>,
	linaro-mm-sig@lists.linaro.org,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-nvdimm@lists.01.org, linux-mmc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org,
	netdev@vger.kernel.org, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH 05/22] drm/i915: Make use of the new sg_map helper function
Date: Tue, 18 Apr 2017 08:44:27 +0200	[thread overview]
Message-ID: <20170418064427.r5ewu3p66p2zwdru@phenom.ffwll.local> (raw)
In-Reply-To: <1492121135-4437-6-git-send-email-logang@deltatee.com>

On Thu, Apr 13, 2017 at 04:05:18PM -0600, Logan Gunthorpe wrote:
> This is a single straightforward conversion from kmap to sg_map.
> 
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Probably makes sense to merge through some other tree, but please be aware
of the considerable churn rate in i915 (i.e. make sure your tree is in
linux-next before you send a pull request for this). Plane B would be to
get the prep patch in first and then merge the i915 conversion one kernel
release later.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 27 ++++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 67b1fc5..1b1b91a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2188,6 +2188,15 @@ static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj)
>  		radix_tree_delete(&obj->mm.get_page.radix, iter.index);
>  }
>  
> +static void i915_gem_object_unmap(const struct drm_i915_gem_object *obj,
> +				  void *ptr)
> +{
> +	if (is_vmalloc_addr(ptr))
> +		vunmap(ptr);
> +	else
> +		sg_unmap(obj->mm.pages->sgl, ptr, SG_KMAP);
> +}
> +
>  void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  				 enum i915_mm_subclass subclass)
>  {
> @@ -2215,10 +2224,7 @@ void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  		void *ptr;
>  
>  		ptr = ptr_mask_bits(obj->mm.mapping);
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> +		i915_gem_object_unmap(obj, ptr);
>  
>  		obj->mm.mapping = NULL;
>  	}
> @@ -2475,8 +2481,11 @@ static void *i915_gem_object_map(const struct drm_i915_gem_object *obj,
>  	void *addr;
>  
>  	/* A single page can always be kmapped */
> -	if (n_pages == 1 && type == I915_MAP_WB)
> -		return kmap(sg_page(sgt->sgl));
> +	if (n_pages == 1 && type == I915_MAP_WB) {
> +		addr = sg_map(sgt->sgl, SG_KMAP);
> +		if (IS_ERR(addr))
> +			return NULL;
> +	}
>  
>  	if (n_pages > ARRAY_SIZE(stack_pages)) {
>  		/* Too big for stack -- allocate temporary array instead */
> @@ -2543,11 +2552,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj,
>  			goto err_unpin;
>  		}
>  
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> -
> +		i915_gem_object_unmap(obj, ptr);
>  		ptr = obj->mm.mapping = NULL;
>  	}
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: Steve Wise <swise@opengridcomputing.com>,
	linux-nvme@lists.infradead.org,
	Stephen Bates <sbates@raithlin.com>,
	target-devel@vger.kernel.org,
	Sumit Semwal <sumit.semwal@linaro.org>,
	devel@driverdev.osuosl.org, rds-devel@oss.oracle.com,
	Sagi Grimberg <sagi@grimberg.me>,
	linux-scsi@vger.kernel.org,
	Matthew Wilcox <mawilcox@microsoft.com>,
	linux-rdma@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
	fcoe-devel@open-fcoe.org,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	open-iscsi@googlegroups.com, linux-media@vger.kernel.org,
	Ming Lin <ming.l@ssi.samsung.com>,
	intel-gfx@lists.freedesktop.org, sparmaintainer@unisys.com,
	linux-raid@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Dan Williams <dan.j.williams@intel.com>,
	megaraidlinux.pdl@broadcom.com, Jens Axboe <axboe@kernel.dk>,
	linaro-mm-sig@lists.linaro.org,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Greg Kroah-Ha
Subject: Re: [PATCH 05/22] drm/i915: Make use of the new sg_map helper function
Date: Tue, 18 Apr 2017 08:44:27 +0200	[thread overview]
Message-ID: <20170418064427.r5ewu3p66p2zwdru@phenom.ffwll.local> (raw)
In-Reply-To: <1492121135-4437-6-git-send-email-logang@deltatee.com>

On Thu, Apr 13, 2017 at 04:05:18PM -0600, Logan Gunthorpe wrote:
> This is a single straightforward conversion from kmap to sg_map.
> 
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Probably makes sense to merge through some other tree, but please be aware
of the considerable churn rate in i915 (i.e. make sure your tree is in
linux-next before you send a pull request for this). Plane B would be to
get the prep patch in first and then merge the i915 conversion one kernel
release later.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 27 ++++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 67b1fc5..1b1b91a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2188,6 +2188,15 @@ static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj)
>  		radix_tree_delete(&obj->mm.get_page.radix, iter.index);
>  }
>  
> +static void i915_gem_object_unmap(const struct drm_i915_gem_object *obj,
> +				  void *ptr)
> +{
> +	if (is_vmalloc_addr(ptr))
> +		vunmap(ptr);
> +	else
> +		sg_unmap(obj->mm.pages->sgl, ptr, SG_KMAP);
> +}
> +
>  void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  				 enum i915_mm_subclass subclass)
>  {
> @@ -2215,10 +2224,7 @@ void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  		void *ptr;
>  
>  		ptr = ptr_mask_bits(obj->mm.mapping);
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> +		i915_gem_object_unmap(obj, ptr);
>  
>  		obj->mm.mapping = NULL;
>  	}
> @@ -2475,8 +2481,11 @@ static void *i915_gem_object_map(const struct drm_i915_gem_object *obj,
>  	void *addr;
>  
>  	/* A single page can always be kmapped */
> -	if (n_pages == 1 && type == I915_MAP_WB)
> -		return kmap(sg_page(sgt->sgl));
> +	if (n_pages == 1 && type == I915_MAP_WB) {
> +		addr = sg_map(sgt->sgl, SG_KMAP);
> +		if (IS_ERR(addr))
> +			return NULL;
> +	}
>  
>  	if (n_pages > ARRAY_SIZE(stack_pages)) {
>  		/* Too big for stack -- allocate temporary array instead */
> @@ -2543,11 +2552,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj,
>  			goto err_unpin;
>  		}
>  
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> -
> +		i915_gem_object_unmap(obj, ptr);
>  		ptr = obj->mm.mapping = NULL;
>  	}
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: Steve Wise <swise@opengridcomputing.com>,
	linux-nvme@lists.infradead.org,
	Stephen Bates <sbates@raithlin.com>,
	target-devel@vger.kernel.org,
	Sumit Semwal <sumit.semwal@linaro.org>,
	devel@driverdev.osuosl.org, rds-devel@oss.oracle.com,
	Sagi Grimberg <sagi@grimberg.me>,
	linux-scsi@vger.kernel.org,
	Matthew Wilcox <mawilcox@microsoft.com>,
	linux-rdma@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
	fcoe-devel@open-fcoe.org,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	open-iscsi@googlegroups.com, linux-media@vger.kernel.org,
	Ming Lin <ming.l@ssi.samsung.com>,
	intel-gfx@lists.freedesktop.org, sparmaintainer@unisys.com,
	linux-raid@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Dan Williams <dan.j.williams@intel.com>,
	megaraidlinux.pdl@broadcom.com, Jens Axboe <axboe@kernel.dk>,
	linaro-mm-sig@lists.linaro.org,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Greg
Subject: Re: [PATCH 05/22] drm/i915: Make use of the new sg_map helper function
Date: Tue, 18 Apr 2017 08:44:27 +0200	[thread overview]
Message-ID: <20170418064427.r5ewu3p66p2zwdru@phenom.ffwll.local> (raw)
In-Reply-To: <1492121135-4437-6-git-send-email-logang@deltatee.com>

On Thu, Apr 13, 2017 at 04:05:18PM -0600, Logan Gunthorpe wrote:
> This is a single straightforward conversion from kmap to sg_map.
> 
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Probably makes sense to merge through some other tree, but please be aware
of the considerable churn rate in i915 (i.e. make sure your tree is in
linux-next before you send a pull request for this). Plane B would be to
get the prep patch in first and then merge the i915 conversion one kernel
release later.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 27 ++++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 67b1fc5..1b1b91a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2188,6 +2188,15 @@ static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj)
>  		radix_tree_delete(&obj->mm.get_page.radix, iter.index);
>  }
>  
> +static void i915_gem_object_unmap(const struct drm_i915_gem_object *obj,
> +				  void *ptr)
> +{
> +	if (is_vmalloc_addr(ptr))
> +		vunmap(ptr);
> +	else
> +		sg_unmap(obj->mm.pages->sgl, ptr, SG_KMAP);
> +}
> +
>  void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  				 enum i915_mm_subclass subclass)
>  {
> @@ -2215,10 +2224,7 @@ void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  		void *ptr;
>  
>  		ptr = ptr_mask_bits(obj->mm.mapping);
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> +		i915_gem_object_unmap(obj, ptr);
>  
>  		obj->mm.mapping = NULL;
>  	}
> @@ -2475,8 +2481,11 @@ static void *i915_gem_object_map(const struct drm_i915_gem_object *obj,
>  	void *addr;
>  
>  	/* A single page can always be kmapped */
> -	if (n_pages == 1 && type == I915_MAP_WB)
> -		return kmap(sg_page(sgt->sgl));
> +	if (n_pages == 1 && type == I915_MAP_WB) {
> +		addr = sg_map(sgt->sgl, SG_KMAP);
> +		if (IS_ERR(addr))
> +			return NULL;
> +	}
>  
>  	if (n_pages > ARRAY_SIZE(stack_pages)) {
>  		/* Too big for stack -- allocate temporary array instead */
> @@ -2543,11 +2552,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj,
>  			goto err_unpin;
>  		}
>  
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> -
> +		i915_gem_object_unmap(obj, ptr);
>  		ptr = obj->mm.mapping = NULL;
>  	}
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: Christoph Hellwig <hch@lst.de>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Sagi Grimberg <sagi@grimberg.me>, Jens Axboe <axboe@kernel.dk>,
	Tejun Heo <tj@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Ming Lin <ming.l@ssi.samsung.com>,
	linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org,
	linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, intel-gfx@lists.freedesktop.org,
	linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org,
	linux-nvme@lists.infradead.org, linux-nvdimm@ml01.01.org,
	linux-scsi@vger.kernel.org, fcoe-devel@open-fcoe.org,
	open-iscsi@googlegroups.com, megaraidlinux.pdl@broadcom.com,
	sparmaintainer@unisys.com, devel@driverdev.osuosl.org,
	target-devel@vger.kernel.org, netdev@vger.kernel.org,
	linux-rdma@vger.kernel.org, rds-devel@oss.oracle.com,
	Steve Wise <swise@opengridcomputing.com>,
	Stephen Bates <sbates@raithlin.com>
Subject: Re: [PATCH 05/22] drm/i915: Make use of the new sg_map helper function
Date: Tue, 18 Apr 2017 08:44:27 +0200	[thread overview]
Message-ID: <20170418064427.r5ewu3p66p2zwdru@phenom.ffwll.local> (raw)
In-Reply-To: <1492121135-4437-6-git-send-email-logang@deltatee.com>

On Thu, Apr 13, 2017 at 04:05:18PM -0600, Logan Gunthorpe wrote:
> This is a single straightforward conversion from kmap to sg_map.
> 
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Probably makes sense to merge through some other tree, but please be aware
of the considerable churn rate in i915 (i.e. make sure your tree is in
linux-next before you send a pull request for this). Plane B would be to
get the prep patch in first and then merge the i915 conversion one kernel
release later.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 27 ++++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 67b1fc5..1b1b91a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2188,6 +2188,15 @@ static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj)
>  		radix_tree_delete(&obj->mm.get_page.radix, iter.index);
>  }
>  
> +static void i915_gem_object_unmap(const struct drm_i915_gem_object *obj,
> +				  void *ptr)
> +{
> +	if (is_vmalloc_addr(ptr))
> +		vunmap(ptr);
> +	else
> +		sg_unmap(obj->mm.pages->sgl, ptr, SG_KMAP);
> +}
> +
>  void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  				 enum i915_mm_subclass subclass)
>  {
> @@ -2215,10 +2224,7 @@ void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  		void *ptr;
>  
>  		ptr = ptr_mask_bits(obj->mm.mapping);
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> +		i915_gem_object_unmap(obj, ptr);
>  
>  		obj->mm.mapping = NULL;
>  	}
> @@ -2475,8 +2481,11 @@ static void *i915_gem_object_map(const struct drm_i915_gem_object *obj,
>  	void *addr;
>  
>  	/* A single page can always be kmapped */
> -	if (n_pages == 1 && type == I915_MAP_WB)
> -		return kmap(sg_page(sgt->sgl));
> +	if (n_pages == 1 && type == I915_MAP_WB) {
> +		addr = sg_map(sgt->sgl, SG_KMAP);
> +		if (IS_ERR(addr))
> +			return NULL;
> +	}
>  
>  	if (n_pages > ARRAY_SIZE(stack_pages)) {
>  		/* Too big for stack -- allocate temporary array instead */
> @@ -2543,11 +2552,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj,
>  			goto err_unpin;
>  		}
>  
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> -
> +		i915_gem_object_unmap(obj, ptr);
>  		ptr = obj->mm.mapping = NULL;
>  	}
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Logan Gunthorpe <logang@deltatee.com>
Cc: Christoph Hellwig <hch@lst.de>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Sagi Grimberg <sagi@grimberg.me>, Jens Axboe <axboe@kernel.dk>,
	Tejun Heo <tj@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	Matthew Wilcox <mawilcox@microsoft.com>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Ming Lin <ming.l@ssi.samsung.com>,
	linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org,
	linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, intel-gfx@lists.freedesktop.org,
	linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org,
	linux-nvme@lists.infradead.org, linux-nvdimm@lists.01.org,
	linux-scsi@vger.kernel.org, fcoe-devel@open-fcoe.org,
	open-iscsi@googlegroups.com, megaraidlinux.pdl@broadcom.com,
	sparmaintainer@unisys.com, devel@driverdev.osuosl.org,
	target-devel@vger.kernel.org, netdev@vger.kernel.org,
	linux-rdma@vger.kernel.org, rds-devel@oss.oracle.com,
	Steve Wise <swise@opengridcomputing.com>,
	Stephen Bates <sbates@raithlin.com>
Subject: Re: [PATCH 05/22] drm/i915: Make use of the new sg_map helper function
Date: Tue, 18 Apr 2017 08:44:27 +0200	[thread overview]
Message-ID: <20170418064427.r5ewu3p66p2zwdru@phenom.ffwll.local> (raw)
In-Reply-To: <1492121135-4437-6-git-send-email-logang@deltatee.com>

On Thu, Apr 13, 2017 at 04:05:18PM -0600, Logan Gunthorpe wrote:
> This is a single straightforward conversion from kmap to sg_map.
> 
> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Probably makes sense to merge through some other tree, but please be aware
of the considerable churn rate in i915 (i.e. make sure your tree is in
linux-next before you send a pull request for this). Plane B would be to
get the prep patch in first and then merge the i915 conversion one kernel
release later.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 27 ++++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 67b1fc5..1b1b91a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2188,6 +2188,15 @@ static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj)
>  		radix_tree_delete(&obj->mm.get_page.radix, iter.index);
>  }
>  
> +static void i915_gem_object_unmap(const struct drm_i915_gem_object *obj,
> +				  void *ptr)
> +{
> +	if (is_vmalloc_addr(ptr))
> +		vunmap(ptr);
> +	else
> +		sg_unmap(obj->mm.pages->sgl, ptr, SG_KMAP);
> +}
> +
>  void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  				 enum i915_mm_subclass subclass)
>  {
> @@ -2215,10 +2224,7 @@ void __i915_gem_object_put_pages(struct drm_i915_gem_object *obj,
>  		void *ptr;
>  
>  		ptr = ptr_mask_bits(obj->mm.mapping);
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> +		i915_gem_object_unmap(obj, ptr);
>  
>  		obj->mm.mapping = NULL;
>  	}
> @@ -2475,8 +2481,11 @@ static void *i915_gem_object_map(const struct drm_i915_gem_object *obj,
>  	void *addr;
>  
>  	/* A single page can always be kmapped */
> -	if (n_pages == 1 && type == I915_MAP_WB)
> -		return kmap(sg_page(sgt->sgl));
> +	if (n_pages == 1 && type == I915_MAP_WB) {
> +		addr = sg_map(sgt->sgl, SG_KMAP);
> +		if (IS_ERR(addr))
> +			return NULL;
> +	}
>  
>  	if (n_pages > ARRAY_SIZE(stack_pages)) {
>  		/* Too big for stack -- allocate temporary array instead */
> @@ -2543,11 +2552,7 @@ void *i915_gem_object_pin_map(struct drm_i915_gem_object *obj,
>  			goto err_unpin;
>  		}
>  
> -		if (is_vmalloc_addr(ptr))
> -			vunmap(ptr);
> -		else
> -			kunmap(kmap_to_page(ptr));
> -
> +		i915_gem_object_unmap(obj, ptr);
>  		ptr = obj->mm.mapping = NULL;
>  	}
>  
> -- 
> 2.1.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

  reply	other threads:[~2017-04-18  6:44 UTC|newest]

Thread overview: 185+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-13 22:05 [PATCH 00/22] Introduce common scatterlist map function Logan Gunthorpe
2017-04-13 22:05 ` Logan Gunthorpe
2017-04-13 22:05 ` Logan Gunthorpe
2017-04-13 22:05 ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 01/22] scatterlist: Introduce sg_map helper functions Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  8:35   ` Christoph Hellwig
2017-04-14  8:35     ` Christoph Hellwig
2017-04-14  8:35     ` Christoph Hellwig
2017-04-14  8:35     ` Christoph Hellwig
2017-04-14 15:34     ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-14 15:34       ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 02/22] nvmet: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  4:59   ` Christoph Hellwig
2017-04-14  4:59     ` Christoph Hellwig
2017-04-14  4:59     ` Christoph Hellwig
2017-04-14  4:59     ` Christoph Hellwig
2017-04-14  5:06     ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:06       ` Logan Gunthorpe
2017-04-14  5:18       ` Christoph Hellwig
2017-04-14  5:18         ` Christoph Hellwig
2017-04-14  5:18         ` Christoph Hellwig
2017-04-14  5:18         ` Christoph Hellwig
2017-04-13 22:05 ` [PATCH 03/22] libiscsi: Make use of new the " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  8:36   ` Christoph Hellwig
2017-04-14  8:36     ` Christoph Hellwig
2017-04-14  8:36     ` Christoph Hellwig
2017-04-14  8:36     ` Christoph Hellwig
2017-04-14 15:37     ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-14 15:37       ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 04/22] target: Make use of the new sg_map function at 16 call sites Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 05/22] drm/i915: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-18  6:44   ` Daniel Vetter [this message]
2017-04-18  6:44     ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18  6:44     ` Daniel Vetter
2017-04-18 15:44     ` Logan Gunthorpe
2017-04-18 15:44       ` Logan Gunthorpe
2017-04-18 15:44       ` Logan Gunthorpe
2017-04-18 15:44       ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 06/22] crypto: hifn_795x: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 07/22] crypto: shash, caam: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 08/22] crypto: chcr: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-15  4:53   ` Harsh Jain
2017-04-15  4:53     ` Harsh Jain
2017-04-15  4:53     ` Harsh Jain
2017-04-15  4:53     ` Harsh Jain
2017-04-13 22:05 ` [PATCH 09/22] dm-crypt: Make use of the new sg_map helper in 4 call sites Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-14  8:39   ` Christoph Hellwig
2017-04-14  8:39     ` Christoph Hellwig
2017-04-14  8:39     ` Christoph Hellwig
2017-04-14  8:39     ` Christoph Hellwig
2017-04-14 16:03     ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-14 16:03       ` Logan Gunthorpe
2017-04-15 12:10       ` Milan Broz
2017-04-15 12:10         ` Milan Broz
2017-04-15 12:10         ` Milan Broz
2017-04-15 17:47         ` Logan Gunthorpe
2017-04-15 17:47           ` Logan Gunthorpe
2017-04-15 17:47           ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 10/22] staging: unisys: visorbus: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
     [not found]   ` <1492121135-4437-11-git-send-email-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:07   ` Kershner, David A
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:07     ` Kershner, David A
2017-04-14 16:12     ` Logan Gunthorpe
2017-04-14 16:12     ` Logan Gunthorpe
2017-04-14 16:12       ` Logan Gunthorpe
2017-04-14 16:12       ` Logan Gunthorpe
2017-04-14 16:12       ` Logan Gunthorpe
2017-04-14 16:12     ` Logan Gunthorpe
2017-04-14 16:07   ` Kershner, David A
2017-04-14 16:07   ` Kershner, David A
2017-04-13 22:05 ` [PATCH 11/22] RDS: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 12/22] scsi: ipr, pmcraid, isci: Make use of the new sg_map helper in 4 call sites Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 13/22] scsi: hisi_sas, mvsas, gdth: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 14/22] scsi: arcmsr, ips, megaraid: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 15/22] scsi: libfc, csiostor: Change to sg_copy_buffer in two drivers Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 16/22] xen-blkfront: Make use of the new sg_map helper function Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-18 14:13   ` David Laight
2017-04-18 14:13     ` David Laight
2017-04-18 14:13     ` David Laight
2017-04-18 14:13     ` David Laight
2017-04-18 14:27     ` Konrad Rzeszutek Wilk
2017-04-18 14:27       ` Konrad Rzeszutek Wilk
2017-04-18 14:27       ` Konrad Rzeszutek Wilk
2017-04-18 15:42       ` Logan Gunthorpe
2017-04-18 15:42         ` Logan Gunthorpe
2017-04-18 15:42         ` Logan Gunthorpe
2017-04-18 15:50         ` Konrad Rzeszutek Wilk
2017-04-18 15:50           ` Konrad Rzeszutek Wilk
2017-04-18 15:50           ` Konrad Rzeszutek Wilk
2017-04-18 15:50           ` Konrad Rzeszutek Wilk
2017-04-18 15:59           ` Logan Gunthorpe
2017-04-18 15:59             ` Logan Gunthorpe
2017-04-18 15:59             ` Logan Gunthorpe
2017-04-18 14:13   ` David Laight
2017-04-18 14:13   ` David Laight
     [not found]   ` <1492121135-4437-17-git-send-email-logang-OTvnGxWRz7hWk0Htik3J/w@public.gmane.org>
2017-04-18 14:13     ` David Laight
2017-04-13 22:05 ` [PATCH 17/22] mmc: sdhci: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 18/22] mmc: spi: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 19/22] mmc: tmio: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 20/22] mmc: sdricoh_cs: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 21/22] mmc: tifm_sd: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05 ` [PATCH 22/22] memstick: " Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-13 22:05   ` Logan Gunthorpe
2017-04-18  8:14 ` ✓ Fi.CI.BAT: success for Introduce common scatterlist map function Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170418064427.r5ewu3p66p2zwdru@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=axboe@kernel.dk \
    --cc=devel@driverdev.osuosl.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fcoe-devel@open-fcoe.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=logang@deltatee.com \
    --cc=martin.petersen@oracle.com \
    --cc=mawilcox@microsoft.com \
    --cc=megaraidlinux.pdl@broadcom.com \
    --cc=ming.l@ssi.samsung.com \
    --cc=netdev@vger.kernel.org \
    --cc=open-iscsi@googlegroups.com \
    --cc=rds-devel@oss.oracle.com \
    --cc=sparmaintainer@unisys.com \
    --cc=sumit.semwal@linaro.org \
    --cc=swise@opengridcomputing.com \
    --cc=target-devel@vger.kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.