All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	dri-devel@lists.freedesktop.org,
	iommu@lists.linux-foundation.org, linaro-mm-sig@lists.linaro.org,
	linux-kernel@vger.kernel.org
Cc: Christoph Hellwig <hch@lst.de>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	linux-arm-kernel@lists.infradead.org,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>
Subject: Re: [PATCH v6 01/36] drm: prime: add common helper to check scatterlist contiguity
Date: Thu, 18 Jun 2020 17:07:46 +0100	[thread overview]
Message-ID: <968a920c-83b7-a0e5-8d0d-fa8486816b01@arm.com> (raw)
In-Reply-To: <20200618153956.29558-2-m.szyprowski@samsung.com>

On 2020-06-18 16:39, Marek Szyprowski wrote:
> It is a common operation done by DRM drivers to check the contiguity
> of the DMA-mapped buffer described by a scatterlist in the
> sg_table object. Let's add a common helper for this operation.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/drm_gem_cma_helper.c | 23 +++--------------------
>   drivers/gpu/drm/drm_prime.c          | 26 ++++++++++++++++++++++++++
>   include/drm/drm_prime.h              |  2 ++
>   3 files changed, 31 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> index 06a5b9ee1fe0..41566a15dabd 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -471,26 +471,9 @@ drm_gem_cma_prime_import_sg_table(struct drm_device *dev,
>   {
>   	struct drm_gem_cma_object *cma_obj;
>   
> -	if (sgt->nents != 1) {
> -		/* check if the entries in the sg_table are contiguous */
> -		dma_addr_t next_addr = sg_dma_address(sgt->sgl);
> -		struct scatterlist *s;
> -		unsigned int i;
> -
> -		for_each_sg(sgt->sgl, s, sgt->nents, i) {
> -			/*
> -			 * sg_dma_address(s) is only valid for entries
> -			 * that have sg_dma_len(s) != 0
> -			 */
> -			if (!sg_dma_len(s))
> -				continue;
> -
> -			if (sg_dma_address(s) != next_addr)
> -				return ERR_PTR(-EINVAL);
> -
> -			next_addr = sg_dma_address(s) + sg_dma_len(s);
> -		}
> -	}
> +	/* check if the entries in the sg_table are contiguous */
> +	if (drm_prime_get_contiguous_size(sgt) < attach->dmabuf->size)
> +		return ERR_PTR(-EINVAL);
>   
>   	/* Create a CMA GEM buffer. */
>   	cma_obj = __drm_gem_cma_create(dev, attach->dmabuf->size);
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index bbfc713bfdc3..0784969894c1 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -825,6 +825,32 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   }
>   EXPORT_SYMBOL(drm_prime_pages_to_sg);
>   
> +/**
> + * drm_prime_get_contiguous_size - returns the contiguous size of the buffer
> + * @sgt: sg_table describing the buffer to check
> + *
> + * This helper calculates the contiguous size in the DMA address space
> + * of the the buffer described by the provided sg_table.
> + *
> + * This is useful for implementing
> + * &drm_gem_object_funcs.gem_prime_import_sg_table.
> + */
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt)
> +{
> +	dma_addr_t expected = sg_dma_address(sgt->sgl);
> +	struct sg_dma_page_iter dma_iter;
> +	unsigned long size = 0;
> +
> +	for_each_sgtable_dma_page(sgt, &dma_iter, 0) {
> +		if (sg_page_iter_dma_address(&dma_iter) != expected)
> +			break;
> +		expected += PAGE_SIZE;
> +		size += PAGE_SIZE;

Hmm, in many cases this is likely to be far less efficient than simply 
using for_each_sgtable_dma() and sg_dma_len() equivalent to the original 
implementation, and there doesn't seem to be any good reason for that. 
Plus AFAICS it could potentially let false-positives through if someone 
were to pass in a table with non-page-aligned lengths (I assume that's 
expected never to happen, but still...)

Robin.

> +	}
> +	return size;
> +}
> +EXPORT_SYMBOL(drm_prime_get_contiguous_size);
> +
>   /**
>    * drm_gem_prime_export - helper library implementation of the export callback
>    * @obj: GEM object to export
> diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h
> index 9af7422b44cf..47ef11614627 100644
> --- a/include/drm/drm_prime.h
> +++ b/include/drm/drm_prime.h
> @@ -92,6 +92,8 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj,
>   				     int flags);
>   
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt);
> +
>   /* helper functions for importing */
>   struct drm_gem_object *drm_gem_prime_import_dev(struct drm_device *dev,
>   						struct dma_buf *dma_buf,
> 

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	dri-devel@lists.freedesktop.org,
	iommu@lists.linux-foundation.org, linaro-mm-sig@lists.linaro.org,
	linux-kernel@vger.kernel.org
Cc: Thomas Zimmermann <tzimmermann@suse.de>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Daniel Vetter <daniel@ffwll.ch>, Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 01/36] drm: prime: add common helper to check scatterlist contiguity
Date: Thu, 18 Jun 2020 17:07:46 +0100	[thread overview]
Message-ID: <968a920c-83b7-a0e5-8d0d-fa8486816b01@arm.com> (raw)
In-Reply-To: <20200618153956.29558-2-m.szyprowski@samsung.com>

On 2020-06-18 16:39, Marek Szyprowski wrote:
> It is a common operation done by DRM drivers to check the contiguity
> of the DMA-mapped buffer described by a scatterlist in the
> sg_table object. Let's add a common helper for this operation.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/drm_gem_cma_helper.c | 23 +++--------------------
>   drivers/gpu/drm/drm_prime.c          | 26 ++++++++++++++++++++++++++
>   include/drm/drm_prime.h              |  2 ++
>   3 files changed, 31 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> index 06a5b9ee1fe0..41566a15dabd 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -471,26 +471,9 @@ drm_gem_cma_prime_import_sg_table(struct drm_device *dev,
>   {
>   	struct drm_gem_cma_object *cma_obj;
>   
> -	if (sgt->nents != 1) {
> -		/* check if the entries in the sg_table are contiguous */
> -		dma_addr_t next_addr = sg_dma_address(sgt->sgl);
> -		struct scatterlist *s;
> -		unsigned int i;
> -
> -		for_each_sg(sgt->sgl, s, sgt->nents, i) {
> -			/*
> -			 * sg_dma_address(s) is only valid for entries
> -			 * that have sg_dma_len(s) != 0
> -			 */
> -			if (!sg_dma_len(s))
> -				continue;
> -
> -			if (sg_dma_address(s) != next_addr)
> -				return ERR_PTR(-EINVAL);
> -
> -			next_addr = sg_dma_address(s) + sg_dma_len(s);
> -		}
> -	}
> +	/* check if the entries in the sg_table are contiguous */
> +	if (drm_prime_get_contiguous_size(sgt) < attach->dmabuf->size)
> +		return ERR_PTR(-EINVAL);
>   
>   	/* Create a CMA GEM buffer. */
>   	cma_obj = __drm_gem_cma_create(dev, attach->dmabuf->size);
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index bbfc713bfdc3..0784969894c1 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -825,6 +825,32 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   }
>   EXPORT_SYMBOL(drm_prime_pages_to_sg);
>   
> +/**
> + * drm_prime_get_contiguous_size - returns the contiguous size of the buffer
> + * @sgt: sg_table describing the buffer to check
> + *
> + * This helper calculates the contiguous size in the DMA address space
> + * of the the buffer described by the provided sg_table.
> + *
> + * This is useful for implementing
> + * &drm_gem_object_funcs.gem_prime_import_sg_table.
> + */
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt)
> +{
> +	dma_addr_t expected = sg_dma_address(sgt->sgl);
> +	struct sg_dma_page_iter dma_iter;
> +	unsigned long size = 0;
> +
> +	for_each_sgtable_dma_page(sgt, &dma_iter, 0) {
> +		if (sg_page_iter_dma_address(&dma_iter) != expected)
> +			break;
> +		expected += PAGE_SIZE;
> +		size += PAGE_SIZE;

Hmm, in many cases this is likely to be far less efficient than simply 
using for_each_sgtable_dma() and sg_dma_len() equivalent to the original 
implementation, and there doesn't seem to be any good reason for that. 
Plus AFAICS it could potentially let false-positives through if someone 
were to pass in a table with non-page-aligned lengths (I assume that's 
expected never to happen, but still...)

Robin.

> +	}
> +	return size;
> +}
> +EXPORT_SYMBOL(drm_prime_get_contiguous_size);
> +
>   /**
>    * drm_gem_prime_export - helper library implementation of the export callback
>    * @obj: GEM object to export
> diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h
> index 9af7422b44cf..47ef11614627 100644
> --- a/include/drm/drm_prime.h
> +++ b/include/drm/drm_prime.h
> @@ -92,6 +92,8 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj,
>   				     int flags);
>   
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt);
> +
>   /* helper functions for importing */
>   struct drm_gem_object *drm_gem_prime_import_dev(struct drm_device *dev,
>   						struct dma_buf *dma_buf,
> 
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	dri-devel@lists.freedesktop.org,
	iommu@lists.linux-foundation.org, linaro-mm-sig@lists.linaro.org,
	linux-kernel@vger.kernel.org
Cc: Thomas Zimmermann <tzimmermann@suse.de>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Daniel Vetter <daniel@ffwll.ch>, Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 01/36] drm: prime: add common helper to check scatterlist contiguity
Date: Thu, 18 Jun 2020 17:07:46 +0100	[thread overview]
Message-ID: <968a920c-83b7-a0e5-8d0d-fa8486816b01@arm.com> (raw)
In-Reply-To: <20200618153956.29558-2-m.szyprowski@samsung.com>

On 2020-06-18 16:39, Marek Szyprowski wrote:
> It is a common operation done by DRM drivers to check the contiguity
> of the DMA-mapped buffer described by a scatterlist in the
> sg_table object. Let's add a common helper for this operation.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/drm_gem_cma_helper.c | 23 +++--------------------
>   drivers/gpu/drm/drm_prime.c          | 26 ++++++++++++++++++++++++++
>   include/drm/drm_prime.h              |  2 ++
>   3 files changed, 31 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> index 06a5b9ee1fe0..41566a15dabd 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -471,26 +471,9 @@ drm_gem_cma_prime_import_sg_table(struct drm_device *dev,
>   {
>   	struct drm_gem_cma_object *cma_obj;
>   
> -	if (sgt->nents != 1) {
> -		/* check if the entries in the sg_table are contiguous */
> -		dma_addr_t next_addr = sg_dma_address(sgt->sgl);
> -		struct scatterlist *s;
> -		unsigned int i;
> -
> -		for_each_sg(sgt->sgl, s, sgt->nents, i) {
> -			/*
> -			 * sg_dma_address(s) is only valid for entries
> -			 * that have sg_dma_len(s) != 0
> -			 */
> -			if (!sg_dma_len(s))
> -				continue;
> -
> -			if (sg_dma_address(s) != next_addr)
> -				return ERR_PTR(-EINVAL);
> -
> -			next_addr = sg_dma_address(s) + sg_dma_len(s);
> -		}
> -	}
> +	/* check if the entries in the sg_table are contiguous */
> +	if (drm_prime_get_contiguous_size(sgt) < attach->dmabuf->size)
> +		return ERR_PTR(-EINVAL);
>   
>   	/* Create a CMA GEM buffer. */
>   	cma_obj = __drm_gem_cma_create(dev, attach->dmabuf->size);
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index bbfc713bfdc3..0784969894c1 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -825,6 +825,32 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   }
>   EXPORT_SYMBOL(drm_prime_pages_to_sg);
>   
> +/**
> + * drm_prime_get_contiguous_size - returns the contiguous size of the buffer
> + * @sgt: sg_table describing the buffer to check
> + *
> + * This helper calculates the contiguous size in the DMA address space
> + * of the the buffer described by the provided sg_table.
> + *
> + * This is useful for implementing
> + * &drm_gem_object_funcs.gem_prime_import_sg_table.
> + */
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt)
> +{
> +	dma_addr_t expected = sg_dma_address(sgt->sgl);
> +	struct sg_dma_page_iter dma_iter;
> +	unsigned long size = 0;
> +
> +	for_each_sgtable_dma_page(sgt, &dma_iter, 0) {
> +		if (sg_page_iter_dma_address(&dma_iter) != expected)
> +			break;
> +		expected += PAGE_SIZE;
> +		size += PAGE_SIZE;

Hmm, in many cases this is likely to be far less efficient than simply 
using for_each_sgtable_dma() and sg_dma_len() equivalent to the original 
implementation, and there doesn't seem to be any good reason for that. 
Plus AFAICS it could potentially let false-positives through if someone 
were to pass in a table with non-page-aligned lengths (I assume that's 
expected never to happen, but still...)

Robin.

> +	}
> +	return size;
> +}
> +EXPORT_SYMBOL(drm_prime_get_contiguous_size);
> +
>   /**
>    * drm_gem_prime_export - helper library implementation of the export callback
>    * @obj: GEM object to export
> diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h
> index 9af7422b44cf..47ef11614627 100644
> --- a/include/drm/drm_prime.h
> +++ b/include/drm/drm_prime.h
> @@ -92,6 +92,8 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj,
>   				     int flags);
>   
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt);
> +
>   /* helper functions for importing */
>   struct drm_gem_object *drm_gem_prime_import_dev(struct drm_device *dev,
>   						struct dma_buf *dma_buf,
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
	dri-devel@lists.freedesktop.org,
	iommu@lists.linux-foundation.org, linaro-mm-sig@lists.linaro.org,
	linux-kernel@vger.kernel.org
Cc: Thomas Zimmermann <tzimmermann@suse.de>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>, Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v6 01/36] drm: prime: add common helper to check scatterlist contiguity
Date: Thu, 18 Jun 2020 17:07:46 +0100	[thread overview]
Message-ID: <968a920c-83b7-a0e5-8d0d-fa8486816b01@arm.com> (raw)
In-Reply-To: <20200618153956.29558-2-m.szyprowski@samsung.com>

On 2020-06-18 16:39, Marek Szyprowski wrote:
> It is a common operation done by DRM drivers to check the contiguity
> of the DMA-mapped buffer described by a scatterlist in the
> sg_table object. Let's add a common helper for this operation.
> 
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/drm_gem_cma_helper.c | 23 +++--------------------
>   drivers/gpu/drm/drm_prime.c          | 26 ++++++++++++++++++++++++++
>   include/drm/drm_prime.h              |  2 ++
>   3 files changed, 31 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_gem_cma_helper.c b/drivers/gpu/drm/drm_gem_cma_helper.c
> index 06a5b9ee1fe0..41566a15dabd 100644
> --- a/drivers/gpu/drm/drm_gem_cma_helper.c
> +++ b/drivers/gpu/drm/drm_gem_cma_helper.c
> @@ -471,26 +471,9 @@ drm_gem_cma_prime_import_sg_table(struct drm_device *dev,
>   {
>   	struct drm_gem_cma_object *cma_obj;
>   
> -	if (sgt->nents != 1) {
> -		/* check if the entries in the sg_table are contiguous */
> -		dma_addr_t next_addr = sg_dma_address(sgt->sgl);
> -		struct scatterlist *s;
> -		unsigned int i;
> -
> -		for_each_sg(sgt->sgl, s, sgt->nents, i) {
> -			/*
> -			 * sg_dma_address(s) is only valid for entries
> -			 * that have sg_dma_len(s) != 0
> -			 */
> -			if (!sg_dma_len(s))
> -				continue;
> -
> -			if (sg_dma_address(s) != next_addr)
> -				return ERR_PTR(-EINVAL);
> -
> -			next_addr = sg_dma_address(s) + sg_dma_len(s);
> -		}
> -	}
> +	/* check if the entries in the sg_table are contiguous */
> +	if (drm_prime_get_contiguous_size(sgt) < attach->dmabuf->size)
> +		return ERR_PTR(-EINVAL);
>   
>   	/* Create a CMA GEM buffer. */
>   	cma_obj = __drm_gem_cma_create(dev, attach->dmabuf->size);
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index bbfc713bfdc3..0784969894c1 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -825,6 +825,32 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   }
>   EXPORT_SYMBOL(drm_prime_pages_to_sg);
>   
> +/**
> + * drm_prime_get_contiguous_size - returns the contiguous size of the buffer
> + * @sgt: sg_table describing the buffer to check
> + *
> + * This helper calculates the contiguous size in the DMA address space
> + * of the the buffer described by the provided sg_table.
> + *
> + * This is useful for implementing
> + * &drm_gem_object_funcs.gem_prime_import_sg_table.
> + */
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt)
> +{
> +	dma_addr_t expected = sg_dma_address(sgt->sgl);
> +	struct sg_dma_page_iter dma_iter;
> +	unsigned long size = 0;
> +
> +	for_each_sgtable_dma_page(sgt, &dma_iter, 0) {
> +		if (sg_page_iter_dma_address(&dma_iter) != expected)
> +			break;
> +		expected += PAGE_SIZE;
> +		size += PAGE_SIZE;

Hmm, in many cases this is likely to be far less efficient than simply 
using for_each_sgtable_dma() and sg_dma_len() equivalent to the original 
implementation, and there doesn't seem to be any good reason for that. 
Plus AFAICS it could potentially let false-positives through if someone 
were to pass in a table with non-page-aligned lengths (I assume that's 
expected never to happen, but still...)

Robin.

> +	}
> +	return size;
> +}
> +EXPORT_SYMBOL(drm_prime_get_contiguous_size);
> +
>   /**
>    * drm_gem_prime_export - helper library implementation of the export callback
>    * @obj: GEM object to export
> diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h
> index 9af7422b44cf..47ef11614627 100644
> --- a/include/drm/drm_prime.h
> +++ b/include/drm/drm_prime.h
> @@ -92,6 +92,8 @@ struct sg_table *drm_prime_pages_to_sg(struct page **pages, unsigned int nr_page
>   struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj,
>   				     int flags);
>   
> +unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt);
> +
>   /* helper functions for importing */
>   struct drm_gem_object *drm_gem_prime_import_dev(struct drm_device *dev,
>   						struct dma_buf *dma_buf,
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-06-18 16:08 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200618154014eucas1p236960ab27d628f94d68a6b8ddb8b07ff@eucas1p2.samsung.com>
2020-06-18 15:39 ` [PATCH v6 00/36] DRM: fix struct sg_table nents vs. orig_nents misuse Marek Szyprowski
2020-06-18 15:39   ` Marek Szyprowski
2020-06-18 15:39   ` Marek Szyprowski
2020-06-18 15:39   ` Marek Szyprowski
     [not found]   ` <CGME20200618154014eucas1p12812b08c65f53bb216f8ac8751a309de@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 01/36] drm: prime: add common helper to check scatterlist contiguity Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 16:07       ` Robin Murphy [this message]
2020-06-18 16:07         ` Robin Murphy
2020-06-18 16:07         ` Robin Murphy
2020-06-18 16:07         ` Robin Murphy
     [not found]   ` <CGME20200618154015eucas1p24598496fde5e7ae9039095f3cd6677b1@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 02/36] drm: prime: use sgtable iterators in drm_prime_sg_to_page_addr_arrays() Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154016eucas1p1bd6cf758a2fe10a7c2e819b242af474f@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 03/36] drm: core: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154016eucas1p12cda9c412f9891f191cb9e997be9da26@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 04/36] drm: amdgpu: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 21:32       ` kernel test robot
2020-06-18 21:32         ` kernel test robot
2020-06-18 21:32         ` kernel test robot
2020-06-18 21:32         ` kernel test robot
2020-06-18 21:32         ` kernel test robot
     [not found]   ` <CGME20200618154017eucas1p25f266fbeb2273d9ed01b5196d698ad48@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 05/36] drm: armada: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154018eucas1p1037a99bc0dc24e0ba61242e7b34c5818@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 06/36] drm: etnaviv: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154018eucas1p259b2d1c250b2078772b091212325f93e@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 07/36] drm: exynos: use common helper for a scatterlist contiguity check Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154019eucas1p256a859cb114401d51bd06d521619c9b3@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 08/36] drm: exynos: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154020eucas1p2b1cc0b386396bd09b735cc9d06906082@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 09/36] drm: i915: " Marek Szyprowski
2020-06-18 15:39       ` [Intel-gfx] " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154020eucas1p2d823db666c8706f63ed352fee3c3c90c@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 10/36] drm: lima: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154021eucas1p181a432ec3a813134f677263ed45f9729@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 11/36] drm: mediatek: use common helper for a scatterlist contiguity check Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154022eucas1p1a8136b9677ac6a98ac47a3154ab0c763@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 12/36] drm: mediatek: use common helper for extracting pages array Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154023eucas1p1613c9cd68f360fdcdaed7adf9d5abf93@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 13/36] drm: msm: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154023eucas1p15053efd9e4d2732b047d2a1cdda7eddb@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 14/36] drm: omapdrm: use common helper for extracting pages array Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154024eucas1p103fa1a3752801874ae883d366639f233@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 15/36] drm: omapdrm: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154024eucas1p2e093781df622f8326297518f4eacd2fe@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 16/36] drm: panfrost: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154025eucas1p1cf27282556c145b4a59527141a340574@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 17/36] drm: radeon: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154026eucas1p27589d4e89563b89eb27459cf9743c7b4@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 18/36] drm: rockchip: use common helper for a scatterlist contiguity check Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154027eucas1p14806dddf83e91e2e5e24d3dd4ca2fc7e@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 19/36] drm: rockchip: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154028eucas1p140cfc1156ef012ba74f97c5a2a7dc09e@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 21/36] drm: v3d: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 22:28       ` kernel test robot
2020-06-18 22:28         ` kernel test robot
2020-06-18 22:28         ` kernel test robot
2020-06-18 22:28         ` kernel test robot
2020-06-18 22:28         ` kernel test robot
     [not found]   ` <CGME20200618154029eucas1p17fb1ca5aa5a7e12fbffd1ddb15632340@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 22/36] drm: virtio: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154029eucas1p274f275e89dc985634bbd309823ad0f0d@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 23/36] drm: vmwgfx: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-19  3:05       ` kernel test robot
2020-06-19  3:05         ` kernel test robot
2020-06-19  3:05         ` kernel test robot
2020-06-19  3:05         ` kernel test robot
2020-06-19  4:59       ` kernel test robot
2020-06-19  4:59         ` kernel test robot
2020-06-19  4:59         ` kernel test robot
2020-06-19  4:59         ` kernel test robot
     [not found]   ` <CGME20200618154030eucas1p2f36e6ec52cea051fccedb1970f27bef9@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 24/36] xen: gntdev: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154032eucas1p25df137bd9c481bcbc39320f0167b225a@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 26/36] drm: rcar-du: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154032eucas1p207c05c83d16e48c5a48ebd1e7d2862d1@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 27/36] dmabuf: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154033eucas1p1d061fbc72e2eed8d475ab170f9a2fbf0@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 28/36] staging: ion: remove dead code Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154034eucas1p1f76546f76920c48a8407bb6737a41fb8@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 29/36] staging: ion: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154027eucas1p2aad00de9752e396ee41babaf78285e68@eucas1p2.samsung.com>
     [not found]     ` <20200618153956.29558-1-m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2020-06-18 15:39       ` [PATCH v6 20/36] drm: tegra: " Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39       ` [PATCH v6 25/36] drm: host1x: " Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39       ` [PATCH v6 30/36] staging: tegra-vde: " Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
2020-06-18 15:39         ` Marek Szyprowski
     [not found]   ` <CGME20200618154036eucas1p2f4ba8a422fcf2843627d639cd193c90f@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 31/36] misc: fastrpc: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154036eucas1p2d98ca6915b554409e1f02114657680c0@eucas1p2.samsung.com>
2020-06-18 15:39     ` [PATCH v6 32/36] rapidio: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 23:39       ` kernel test robot
2020-06-18 23:39         ` kernel test robot
2020-06-18 23:39         ` kernel test robot
2020-06-18 23:39         ` kernel test robot
     [not found]   ` <CGME20200618154037eucas1p19a60af169ef9c272b9d1eecf589f6627@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 33/36] samples: vfio-mdev/mbochs: " Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154038eucas1p18eae40b8fbf97a3e42abef8eb14da946@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 34/36] media: pci: fix common ALSA DMA-mapping related codes Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
     [not found]   ` <CGME20200618154038eucas1p1acd4fcdd183de4c19c4004778527a755@eucas1p1.samsung.com>
2020-06-18 15:39     ` [PATCH v6 35/36] videobuf2: use sgtable-based scatterlist wrappers Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-18 15:39       ` Marek Szyprowski
2020-06-19  0:34       ` kernel test robot
2020-06-19  0:34         ` kernel test robot
2020-06-19  0:34         ` kernel test robot
2020-06-19  0:34         ` kernel test robot
2020-06-19  9:43       ` Robin Murphy
2020-06-19  9:43         ` Robin Murphy
2020-06-19  9:43         ` Robin Murphy
2020-06-19  9:43         ` Robin Murphy
     [not found]   ` <CGME20200618160120eucas1p20b771c3b6dc06549c7f4a4d569c3e0ec@eucas1p2.samsung.com>
2020-06-18 16:01     ` [PATCH v6 36/36] drm: xen: fix common struct sg_table related issues Marek Szyprowski
2020-06-18 16:01       ` Marek Szyprowski
2020-06-18 16:01       ` Marek Szyprowski
2020-06-18 16:01       ` Marek Szyprowski
2020-06-18 16:01       ` Marek Szyprowski

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=968a920c-83b7-a0e5-8d0d-fa8486816b01@arm.com \
    --to=robin.murphy@arm.com \
    --cc=airlied@linux.ie \
    --cc=b.zolnierkie@samsung.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=tzimmermann@suse.de \
    /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.