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>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v9 08/32] drm: i915: fix common struct sg_table related issues
Date: Tue, 1 Sep 2020 19:42:32 +0100	[thread overview]
Message-ID: <38960f66-aab6-8615-9187-b85cf628a4fd@arm.com> (raw)
In-Reply-To: <20200826063316.23486-9-m.szyprowski@samsung.com>

On 2020-08-26 07:32, Marek Szyprowski wrote:
> The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
> returns the number of the created entries in the DMA address space.
> However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
> dma_unmap_sg must be called with the original number of the entries
> passed to the dma_map_sg().
> 
> struct sg_table is a common structure used for describing a non-contiguous
> memory buffer, used commonly in the DRM and graphics subsystems. It
> consists of a scatterlist with memory pages and DMA addresses (sgl entry),
> as well as the number of scatterlist entries: CPU pages (orig_nents entry)
> and DMA mapped pages (nents entry).
> 
> It turned out that it was a common mistake to misuse nents and orig_nents
> entries, calling DMA-mapping functions with a wrong number of entries or
> ignoring the number of mapped entries returned by the dma_map_sg()
> function.
> 
> This driver creatively uses sg_table->orig_nents to store the size of the
> allocated scatterlist and ignores the number of the entries returned by
> dma_map_sg function. The sg_table->orig_nents is (mis)used to properly
> free the (over)allocated scatterlist.
> 
> This patch only introduces the common DMA-mapping wrappers operating
> directly on the struct sg_table objects to the dmabuf related functions,
> so the other drivers, which might share buffers with i915 could rely on
> the properly set nents and orig_nents values.

This one looks mechanical enough :)

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c       | 11 +++--------
>   drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c |  7 +++----
>   2 files changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 2679380159fc..8a988592715b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -48,12 +48,9 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme
>   		src = sg_next(src);
>   	}
>   
> -	if (!dma_map_sg_attrs(attachment->dev,
> -			      st->sgl, st->nents, dir,
> -			      DMA_ATTR_SKIP_CPU_SYNC)) {
> -		ret = -ENOMEM;
> +	ret = dma_map_sgtable(attachment->dev, st, dir, DMA_ATTR_SKIP_CPU_SYNC);
> +	if (ret)
>   		goto err_free_sg;
> -	}
>   
>   	return st;
>   
> @@ -73,9 +70,7 @@ static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   {
>   	struct drm_i915_gem_object *obj = dma_buf_to_obj(attachment->dmabuf);
>   
> -	dma_unmap_sg_attrs(attachment->dev,
> -			   sg->sgl, sg->nents, dir,
> -			   DMA_ATTR_SKIP_CPU_SYNC);
> +	dma_unmap_sgtable(attachment->dev, sg, dir, DMA_ATTR_SKIP_CPU_SYNC);
>   	sg_free_table(sg);
>   	kfree(sg);
>   
> diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> index debaf7b18ab5..be30b27e2926 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> @@ -28,10 +28,9 @@ static struct sg_table *mock_map_dma_buf(struct dma_buf_attachment *attachment,
>   		sg = sg_next(sg);
>   	}
>   
> -	if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) {
> -		err = -ENOMEM;
> +	err = dma_map_sgtable(attachment->dev, st, dir, 0);
> +	if (err)
>   		goto err_st;
> -	}
>   
>   	return st;
>   
> @@ -46,7 +45,7 @@ static void mock_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   			       struct sg_table *st,
>   			       enum dma_data_direction dir)
>   {
> -	dma_unmap_sg(attachment->dev, st->sgl, st->nents, dir);
> +	dma_unmap_sgtable(attachment->dev, st, dir, 0);
>   	sg_free_table(st);
>   	kfree(st);
>   }
> 

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: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>,
	intel-gfx@lists.freedesktop.org,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v9 08/32] drm: i915: fix common struct sg_table related issues
Date: Tue, 1 Sep 2020 19:42:32 +0100	[thread overview]
Message-ID: <38960f66-aab6-8615-9187-b85cf628a4fd@arm.com> (raw)
In-Reply-To: <20200826063316.23486-9-m.szyprowski@samsung.com>

On 2020-08-26 07:32, Marek Szyprowski wrote:
> The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
> returns the number of the created entries in the DMA address space.
> However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
> dma_unmap_sg must be called with the original number of the entries
> passed to the dma_map_sg().
> 
> struct sg_table is a common structure used for describing a non-contiguous
> memory buffer, used commonly in the DRM and graphics subsystems. It
> consists of a scatterlist with memory pages and DMA addresses (sgl entry),
> as well as the number of scatterlist entries: CPU pages (orig_nents entry)
> and DMA mapped pages (nents entry).
> 
> It turned out that it was a common mistake to misuse nents and orig_nents
> entries, calling DMA-mapping functions with a wrong number of entries or
> ignoring the number of mapped entries returned by the dma_map_sg()
> function.
> 
> This driver creatively uses sg_table->orig_nents to store the size of the
> allocated scatterlist and ignores the number of the entries returned by
> dma_map_sg function. The sg_table->orig_nents is (mis)used to properly
> free the (over)allocated scatterlist.
> 
> This patch only introduces the common DMA-mapping wrappers operating
> directly on the struct sg_table objects to the dmabuf related functions,
> so the other drivers, which might share buffers with i915 could rely on
> the properly set nents and orig_nents values.

This one looks mechanical enough :)

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c       | 11 +++--------
>   drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c |  7 +++----
>   2 files changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 2679380159fc..8a988592715b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -48,12 +48,9 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme
>   		src = sg_next(src);
>   	}
>   
> -	if (!dma_map_sg_attrs(attachment->dev,
> -			      st->sgl, st->nents, dir,
> -			      DMA_ATTR_SKIP_CPU_SYNC)) {
> -		ret = -ENOMEM;
> +	ret = dma_map_sgtable(attachment->dev, st, dir, DMA_ATTR_SKIP_CPU_SYNC);
> +	if (ret)
>   		goto err_free_sg;
> -	}
>   
>   	return st;
>   
> @@ -73,9 +70,7 @@ static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   {
>   	struct drm_i915_gem_object *obj = dma_buf_to_obj(attachment->dmabuf);
>   
> -	dma_unmap_sg_attrs(attachment->dev,
> -			   sg->sgl, sg->nents, dir,
> -			   DMA_ATTR_SKIP_CPU_SYNC);
> +	dma_unmap_sgtable(attachment->dev, sg, dir, DMA_ATTR_SKIP_CPU_SYNC);
>   	sg_free_table(sg);
>   	kfree(sg);
>   
> diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> index debaf7b18ab5..be30b27e2926 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> @@ -28,10 +28,9 @@ static struct sg_table *mock_map_dma_buf(struct dma_buf_attachment *attachment,
>   		sg = sg_next(sg);
>   	}
>   
> -	if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) {
> -		err = -ENOMEM;
> +	err = dma_map_sgtable(attachment->dev, st, dir, 0);
> +	if (err)
>   		goto err_st;
> -	}
>   
>   	return st;
>   
> @@ -46,7 +45,7 @@ static void mock_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   			       struct sg_table *st,
>   			       enum dma_data_direction dir)
>   {
> -	dma_unmap_sg(attachment->dev, st->sgl, st->nents, dir);
> +	dma_unmap_sgtable(attachment->dev, st, dir, 0);
>   	sg_free_table(st);
>   	kfree(st);
>   }
> 
_______________________________________________
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: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>,
	intel-gfx@lists.freedesktop.org,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v9 08/32] drm: i915: fix common struct sg_table related issues
Date: Tue, 1 Sep 2020 19:42:32 +0100	[thread overview]
Message-ID: <38960f66-aab6-8615-9187-b85cf628a4fd@arm.com> (raw)
In-Reply-To: <20200826063316.23486-9-m.szyprowski@samsung.com>

On 2020-08-26 07:32, Marek Szyprowski wrote:
> The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
> returns the number of the created entries in the DMA address space.
> However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
> dma_unmap_sg must be called with the original number of the entries
> passed to the dma_map_sg().
> 
> struct sg_table is a common structure used for describing a non-contiguous
> memory buffer, used commonly in the DRM and graphics subsystems. It
> consists of a scatterlist with memory pages and DMA addresses (sgl entry),
> as well as the number of scatterlist entries: CPU pages (orig_nents entry)
> and DMA mapped pages (nents entry).
> 
> It turned out that it was a common mistake to misuse nents and orig_nents
> entries, calling DMA-mapping functions with a wrong number of entries or
> ignoring the number of mapped entries returned by the dma_map_sg()
> function.
> 
> This driver creatively uses sg_table->orig_nents to store the size of the
> allocated scatterlist and ignores the number of the entries returned by
> dma_map_sg function. The sg_table->orig_nents is (mis)used to properly
> free the (over)allocated scatterlist.
> 
> This patch only introduces the common DMA-mapping wrappers operating
> directly on the struct sg_table objects to the dmabuf related functions,
> so the other drivers, which might share buffers with i915 could rely on
> the properly set nents and orig_nents values.

This one looks mechanical enough :)

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c       | 11 +++--------
>   drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c |  7 +++----
>   2 files changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 2679380159fc..8a988592715b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -48,12 +48,9 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme
>   		src = sg_next(src);
>   	}
>   
> -	if (!dma_map_sg_attrs(attachment->dev,
> -			      st->sgl, st->nents, dir,
> -			      DMA_ATTR_SKIP_CPU_SYNC)) {
> -		ret = -ENOMEM;
> +	ret = dma_map_sgtable(attachment->dev, st, dir, DMA_ATTR_SKIP_CPU_SYNC);
> +	if (ret)
>   		goto err_free_sg;
> -	}
>   
>   	return st;
>   
> @@ -73,9 +70,7 @@ static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   {
>   	struct drm_i915_gem_object *obj = dma_buf_to_obj(attachment->dmabuf);
>   
> -	dma_unmap_sg_attrs(attachment->dev,
> -			   sg->sgl, sg->nents, dir,
> -			   DMA_ATTR_SKIP_CPU_SYNC);
> +	dma_unmap_sgtable(attachment->dev, sg, dir, DMA_ATTR_SKIP_CPU_SYNC);
>   	sg_free_table(sg);
>   	kfree(sg);
>   
> diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> index debaf7b18ab5..be30b27e2926 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> @@ -28,10 +28,9 @@ static struct sg_table *mock_map_dma_buf(struct dma_buf_attachment *attachment,
>   		sg = sg_next(sg);
>   	}
>   
> -	if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) {
> -		err = -ENOMEM;
> +	err = dma_map_sgtable(attachment->dev, st, dir, 0);
> +	if (err)
>   		goto err_st;
> -	}
>   
>   	return st;
>   
> @@ -46,7 +45,7 @@ static void mock_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   			       struct sg_table *st,
>   			       enum dma_data_direction dir)
>   {
> -	dma_unmap_sg(attachment->dev, st->sgl, st->nents, dir);
> +	dma_unmap_sgtable(attachment->dev, st, dir, 0);
>   	sg_free_table(st);
>   	kfree(st);
>   }
> 

_______________________________________________
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: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>,
	intel-gfx@lists.freedesktop.org,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v9 08/32] drm: i915: fix common struct sg_table related issues
Date: Tue, 1 Sep 2020 19:42:32 +0100	[thread overview]
Message-ID: <38960f66-aab6-8615-9187-b85cf628a4fd@arm.com> (raw)
In-Reply-To: <20200826063316.23486-9-m.szyprowski@samsung.com>

On 2020-08-26 07:32, Marek Szyprowski wrote:
> The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
> returns the number of the created entries in the DMA address space.
> However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
> dma_unmap_sg must be called with the original number of the entries
> passed to the dma_map_sg().
> 
> struct sg_table is a common structure used for describing a non-contiguous
> memory buffer, used commonly in the DRM and graphics subsystems. It
> consists of a scatterlist with memory pages and DMA addresses (sgl entry),
> as well as the number of scatterlist entries: CPU pages (orig_nents entry)
> and DMA mapped pages (nents entry).
> 
> It turned out that it was a common mistake to misuse nents and orig_nents
> entries, calling DMA-mapping functions with a wrong number of entries or
> ignoring the number of mapped entries returned by the dma_map_sg()
> function.
> 
> This driver creatively uses sg_table->orig_nents to store the size of the
> allocated scatterlist and ignores the number of the entries returned by
> dma_map_sg function. The sg_table->orig_nents is (mis)used to properly
> free the (over)allocated scatterlist.
> 
> This patch only introduces the common DMA-mapping wrappers operating
> directly on the struct sg_table objects to the dmabuf related functions,
> so the other drivers, which might share buffers with i915 could rely on
> the properly set nents and orig_nents values.

This one looks mechanical enough :)

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c       | 11 +++--------
>   drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c |  7 +++----
>   2 files changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 2679380159fc..8a988592715b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -48,12 +48,9 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme
>   		src = sg_next(src);
>   	}
>   
> -	if (!dma_map_sg_attrs(attachment->dev,
> -			      st->sgl, st->nents, dir,
> -			      DMA_ATTR_SKIP_CPU_SYNC)) {
> -		ret = -ENOMEM;
> +	ret = dma_map_sgtable(attachment->dev, st, dir, DMA_ATTR_SKIP_CPU_SYNC);
> +	if (ret)
>   		goto err_free_sg;
> -	}
>   
>   	return st;
>   
> @@ -73,9 +70,7 @@ static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   {
>   	struct drm_i915_gem_object *obj = dma_buf_to_obj(attachment->dmabuf);
>   
> -	dma_unmap_sg_attrs(attachment->dev,
> -			   sg->sgl, sg->nents, dir,
> -			   DMA_ATTR_SKIP_CPU_SYNC);
> +	dma_unmap_sgtable(attachment->dev, sg, dir, DMA_ATTR_SKIP_CPU_SYNC);
>   	sg_free_table(sg);
>   	kfree(sg);
>   
> diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> index debaf7b18ab5..be30b27e2926 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> @@ -28,10 +28,9 @@ static struct sg_table *mock_map_dma_buf(struct dma_buf_attachment *attachment,
>   		sg = sg_next(sg);
>   	}
>   
> -	if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) {
> -		err = -ENOMEM;
> +	err = dma_map_sgtable(attachment->dev, st, dir, 0);
> +	if (err)
>   		goto err_st;
> -	}
>   
>   	return st;
>   
> @@ -46,7 +45,7 @@ static void mock_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   			       struct sg_table *st,
>   			       enum dma_data_direction dir)
>   {
> -	dma_unmap_sg(attachment->dev, st->sgl, st->nents, dir);
> +	dma_unmap_sgtable(attachment->dev, st, dir, 0);
>   	sg_free_table(st);
>   	kfree(st);
>   }
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	David Airlie <airlied@linux.ie>,
	intel-gfx@lists.freedesktop.org, Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [Intel-gfx] [PATCH v9 08/32] drm: i915: fix common struct sg_table related issues
Date: Tue, 1 Sep 2020 19:42:32 +0100	[thread overview]
Message-ID: <38960f66-aab6-8615-9187-b85cf628a4fd@arm.com> (raw)
In-Reply-To: <20200826063316.23486-9-m.szyprowski@samsung.com>

On 2020-08-26 07:32, Marek Szyprowski wrote:
> The Documentation/DMA-API-HOWTO.txt states that the dma_map_sg() function
> returns the number of the created entries in the DMA address space.
> However the subsequent calls to the dma_sync_sg_for_{device,cpu}() and
> dma_unmap_sg must be called with the original number of the entries
> passed to the dma_map_sg().
> 
> struct sg_table is a common structure used for describing a non-contiguous
> memory buffer, used commonly in the DRM and graphics subsystems. It
> consists of a scatterlist with memory pages and DMA addresses (sgl entry),
> as well as the number of scatterlist entries: CPU pages (orig_nents entry)
> and DMA mapped pages (nents entry).
> 
> It turned out that it was a common mistake to misuse nents and orig_nents
> entries, calling DMA-mapping functions with a wrong number of entries or
> ignoring the number of mapped entries returned by the dma_map_sg()
> function.
> 
> This driver creatively uses sg_table->orig_nents to store the size of the
> allocated scatterlist and ignores the number of the entries returned by
> dma_map_sg function. The sg_table->orig_nents is (mis)used to properly
> free the (over)allocated scatterlist.
> 
> This patch only introduces the common DMA-mapping wrappers operating
> directly on the struct sg_table objects to the dmabuf related functions,
> so the other drivers, which might share buffers with i915 could rely on
> the properly set nents and orig_nents values.

This one looks mechanical enough :)

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c       | 11 +++--------
>   drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c |  7 +++----
>   2 files changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> index 2679380159fc..8a988592715b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c
> @@ -48,12 +48,9 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme
>   		src = sg_next(src);
>   	}
>   
> -	if (!dma_map_sg_attrs(attachment->dev,
> -			      st->sgl, st->nents, dir,
> -			      DMA_ATTR_SKIP_CPU_SYNC)) {
> -		ret = -ENOMEM;
> +	ret = dma_map_sgtable(attachment->dev, st, dir, DMA_ATTR_SKIP_CPU_SYNC);
> +	if (ret)
>   		goto err_free_sg;
> -	}
>   
>   	return st;
>   
> @@ -73,9 +70,7 @@ static void i915_gem_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   {
>   	struct drm_i915_gem_object *obj = dma_buf_to_obj(attachment->dmabuf);
>   
> -	dma_unmap_sg_attrs(attachment->dev,
> -			   sg->sgl, sg->nents, dir,
> -			   DMA_ATTR_SKIP_CPU_SYNC);
> +	dma_unmap_sgtable(attachment->dev, sg, dir, DMA_ATTR_SKIP_CPU_SYNC);
>   	sg_free_table(sg);
>   	kfree(sg);
>   
> diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> index debaf7b18ab5..be30b27e2926 100644
> --- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> +++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
> @@ -28,10 +28,9 @@ static struct sg_table *mock_map_dma_buf(struct dma_buf_attachment *attachment,
>   		sg = sg_next(sg);
>   	}
>   
> -	if (!dma_map_sg(attachment->dev, st->sgl, st->nents, dir)) {
> -		err = -ENOMEM;
> +	err = dma_map_sgtable(attachment->dev, st, dir, 0);
> +	if (err)
>   		goto err_st;
> -	}
>   
>   	return st;
>   
> @@ -46,7 +45,7 @@ static void mock_unmap_dma_buf(struct dma_buf_attachment *attachment,
>   			       struct sg_table *st,
>   			       enum dma_data_direction dir)
>   {
> -	dma_unmap_sg(attachment->dev, st->sgl, st->nents, dir);
> +	dma_unmap_sgtable(attachment->dev, st, dir, 0);
>   	sg_free_table(st);
>   	kfree(st);
>   }
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2020-09-01 18:42 UTC|newest]

Thread overview: 267+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200826063527eucas1p21ab50cf46bad1d9ea5d7f202dd6ec722@eucas1p2.samsung.com>
2020-08-26  6:32 ` [PATCH v9 00/32] DRM: fix struct sg_table nents vs. orig_nents misuse Marek Szyprowski
2020-08-26  6:32   ` Marek Szyprowski
2020-08-26  6:32   ` Marek Szyprowski
2020-08-26  6:32   ` Marek Szyprowski
     [not found]   ` <CGME20200826063527eucas1p1d68954adf1c25e1d760b92ca0845ab48@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 01/32] drm: prime: add common helper to check scatterlist contiguity Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 17:23       ` Robin Murphy
2020-09-01 17:23         ` Robin Murphy
2020-09-01 17:23         ` Robin Murphy
2020-09-01 17:23         ` Robin Murphy
     [not found]   ` <CGME20200826063528eucas1p1502c849c0fd337245541e1b31352d87f@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 02/32] drm: prime: use sgtable iterators in drm_prime_sg_to_page_addr_arrays() Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 17:24       ` Robin Murphy
2020-09-01 17:24         ` Robin Murphy
2020-09-01 17:24         ` Robin Murphy
2020-09-01 17:24         ` Robin Murphy
     [not found]   ` <CGME20200826063529eucas1p19d797cf74bf653bf68b0a0e860806dbf@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 03/32] drm: core: fix common struct sg_table related issues Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 17:46       ` Robin Murphy
2020-09-01 17:46         ` Robin Murphy
2020-09-01 17:46         ` Robin Murphy
2020-09-01 17:46         ` Robin Murphy
     [not found]   ` <CGME20200826063529eucas1p24a398fd2bacf53a33a14d7977a097f61@eucas1p2.samsung.com>
2020-08-26  6:32     ` [PATCH v9 04/32] drm: armada: " Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 18:26       ` Robin Murphy
2020-09-01 18:26         ` Robin Murphy
2020-09-01 18:26         ` Robin Murphy
2020-09-01 18:26         ` Robin Murphy
     [not found]   ` <CGME20200826063530eucas1p16acb847d7da0ea734bef507688a76c5a@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 05/32] drm: etnaviv: " Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 18:39       ` Robin Murphy
2020-09-01 18:39         ` Robin Murphy
2020-09-01 18:39         ` Robin Murphy
2020-09-01 18:39         ` Robin Murphy
     [not found]   ` <CGME20200826063531eucas1p21c9277fe2a91e632e40822fb04a2c095@eucas1p2.samsung.com>
2020-08-26  6:32     ` [PATCH v9 06/32] drm: exynos: use common helper for a scatterlist contiguity check Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
     [not found]   ` <CGME20200826063531eucas1p18dbb3c42b2ecc490360e7a75cf579af6@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 07/32] drm: exynos: fix common struct sg_table related issues Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
     [not found]   ` <CGME20200826063532eucas1p2a9e0215f483104d45af0560d5dbfa8e0@eucas1p2.samsung.com>
2020-08-26  6:32     ` [PATCH v9 08/32] drm: i915: " Marek Szyprowski
2020-08-26  6:32       ` [Intel-gfx] " Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 18:42       ` Robin Murphy [this message]
2020-09-01 18:42         ` [Intel-gfx] " Robin Murphy
2020-09-01 18:42         ` Robin Murphy
2020-09-01 18:42         ` Robin Murphy
2020-09-01 18:42         ` Robin Murphy
2020-09-01 19:38       ` [Intel-gfx] " Ruhl, Michael J
2020-09-01 19:38         ` Ruhl, Michael J
2020-09-01 19:38         ` Ruhl, Michael J
2020-09-01 19:38         ` Ruhl, Michael J
2020-09-01 19:38         ` Ruhl, Michael J
2020-09-01 19:54         ` Robin Murphy
2020-09-01 19:54           ` Robin Murphy
2020-09-01 19:54           ` Robin Murphy
2020-09-01 19:54           ` Robin Murphy
2020-09-01 19:54           ` Robin Murphy
2020-09-01 20:32           ` Ruhl, Michael J
2020-09-01 20:32             ` Ruhl, Michael J
2020-09-01 20:32             ` Ruhl, Michael J
2020-09-01 20:32             ` Ruhl, Michael J
2020-09-01 20:32             ` Ruhl, Michael J
     [not found]   ` <CGME20200826063533eucas1p1e346ac4a683f929be8adc344b3fe9ea0@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 09/32] drm: lima: " Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
     [not found]   ` <CGME20200826063533eucas1p1fad2f2afb117b026081468d2d840ab0f@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 10/32] drm: mediatek: use common helper for a scatterlist contiguity check Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 18:44       ` Robin Murphy
2020-09-01 18:44         ` Robin Murphy
2020-09-01 18:44         ` Robin Murphy
2020-09-01 18:44         ` Robin Murphy
2020-09-01 18:44         ` Robin Murphy
2020-09-01 22:59       ` Chun-Kuang Hu
2020-09-01 22:59         ` Chun-Kuang Hu
2020-09-01 22:59         ` Chun-Kuang Hu
2020-09-01 22:59         ` Chun-Kuang Hu
2020-09-01 22:59         ` Chun-Kuang Hu
     [not found]   ` <CGME20200826063534eucas1p2647f5e9679f79f568e184b092f743f8b@eucas1p2.samsung.com>
2020-08-26  6:32     ` [PATCH v9 11/32] drm: mediatek: use common helper for extracting pages array Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 18:54       ` Robin Murphy
2020-09-01 18:54         ` Robin Murphy
2020-09-01 18:54         ` Robin Murphy
2020-09-01 18:54         ` Robin Murphy
2020-09-01 18:54         ` Robin Murphy
2020-09-01 23:16         ` Chun-Kuang Hu
2020-09-01 23:16           ` Chun-Kuang Hu
2020-09-01 23:16           ` Chun-Kuang Hu
2020-09-01 23:16           ` Chun-Kuang Hu
2020-09-01 23:16           ` Chun-Kuang Hu
     [not found]   ` <CGME20200826063535eucas1p10cef37d8364216cf57c97e96d3959dd2@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 12/32] drm: msm: fix common struct sg_table related issues Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26 13:26       ` kernel test robot
2020-08-26 13:26         ` kernel test robot
2020-08-26 13:26         ` kernel test robot
2020-09-01 19:14       ` Robin Murphy
2020-09-01 19:14         ` Robin Murphy
2020-09-01 19:14         ` Robin Murphy
2020-09-01 19:14         ` Robin Murphy
2020-09-01 23:48         ` Rob Clark
2020-09-01 23:48           ` Rob Clark
2020-09-01 23:48           ` Rob Clark
2020-09-01 23:48           ` Rob Clark
     [not found]   ` <CGME20200826063535eucas1p1a98e3295a64f14d475371ac0b003782f@eucas1p1.samsung.com>
2020-08-26  6:32     ` [PATCH v9 13/32] drm: omapdrm: use common helper for extracting pages array Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 19:17       ` Robin Murphy
2020-09-01 19:17         ` Robin Murphy
2020-09-01 19:17         ` Robin Murphy
2020-09-01 19:17         ` Robin Murphy
     [not found]   ` <CGME20200826063536eucas1p2e29d2b061b8b74c06c9ea61ad6737ba2@eucas1p2.samsung.com>
2020-08-26  6:32     ` [PATCH v9 14/32] drm: omapdrm: fix common struct sg_table related issues Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-09-01 19:33       ` Robin Murphy
2020-09-01 19:33         ` Robin Murphy
2020-09-01 19:33         ` Robin Murphy
2020-09-01 19:33         ` Robin Murphy
2020-09-02  8:00         ` Tomi Valkeinen
2020-09-02  8:00           ` Tomi Valkeinen
2020-09-02  8:00           ` Tomi Valkeinen
2020-09-02  8:00           ` Tomi Valkeinen via iommu
2020-09-04 12:06           ` Marek Szyprowski
2020-09-04 12:06             ` Marek Szyprowski
2020-09-04 12:06             ` Marek Szyprowski
2020-09-04 12:06             ` Marek Szyprowski
2020-09-04 12:27             ` Marek Szyprowski
2020-09-04 12:27               ` Marek Szyprowski
2020-09-04 12:27               ` Marek Szyprowski
2020-09-04 12:27               ` Marek Szyprowski
     [not found]   ` <CGME20200826063536eucas1p2d9ea013228bcfbd5778959274aa01b78@eucas1p2.samsung.com>
2020-08-26  6:32     ` [PATCH v9 15/32] drm: panfrost: " Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
2020-08-26  6:32       ` Marek Szyprowski
     [not found]   ` <CGME20200826063537eucas1p1462d4761c8eb6d762fe5ea0fbd3b6e3b@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 16/32] drm: rockchip: use common helper for a scatterlist contiguity check Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 19:34       ` Robin Murphy
2020-09-01 19:34         ` Robin Murphy
2020-09-01 19:34         ` Robin Murphy
2020-09-01 19:34         ` Robin Murphy
2020-09-01 19:34         ` Robin Murphy
     [not found]   ` <CGME20200826063537eucas1p2d9a362f619920ad84c46f36cd13ec362@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 17/32] drm: rockchip: fix common struct sg_table related issues Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:00       ` Robin Murphy
2020-09-01 20:00         ` Robin Murphy
2020-09-01 20:00         ` Robin Murphy
2020-09-01 20:00         ` Robin Murphy
2020-09-01 20:00         ` Robin Murphy
     [not found]   ` <CGME20200826063538eucas1p2a9fe42c2ccee634c41ba9f3dd43dc3c4@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 18/32] drm: tegra: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:11       ` Robin Murphy
2020-09-01 20:11         ` Robin Murphy
2020-09-01 20:11         ` Robin Murphy
2020-09-01 20:11         ` Robin Murphy
     [not found]   ` <CGME20200826063539eucas1p2ed946c6214cdb8574ab288350db22f1a@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 19/32] drm: v3d: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063539eucas1p2cb72ff20abae82c3e027833f958fd7a1@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 20/32] drm: virtio: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063540eucas1p2e9f9f9133322205269e50fd01bf64bcc@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 21/32] drm: vmwgfx: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063540eucas1p2dc6829c66ae13b8e787ca40b9aede3df@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 22/32] drm: xen: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063541eucas1p2ec5d8a396f52ce690641659b74819e60@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 23/32] xen: gntdev: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063542eucas1p1713d37f4589ddaca27e1968b5fe44027@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 24/32] drm: host1x: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:13       ` Robin Murphy
2020-09-01 20:13         ` Robin Murphy
2020-09-01 20:13         ` Robin Murphy
2020-09-01 20:13         ` Robin Murphy
     [not found]   ` <CGME20200826063542eucas1p18d9d201e3e26c08d26c3ea2a2b2a079d@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 25/32] drm: rcar-du: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063543eucas1p1c2fde4802f125f25caa02f4453b8a284@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 26/32] dmabuf: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063544eucas1p230abe33c28618e82608c5b40eb50fa87@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 27/32] staging: tegra-vde: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
     [not found]   ` <CGME20200826063544eucas1p15980885bbdbc43e35f350f228994bee7@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 28/32] misc: fastrpc: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:14       ` Robin Murphy
2020-09-01 20:14         ` Robin Murphy
2020-09-01 20:14         ` Robin Murphy
2020-09-01 20:14         ` Robin Murphy
     [not found]   ` <CGME20200826063545eucas1p22eb2c7a643a299f3e1696b4c5bae0694@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 29/32] rapidio: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:15       ` Robin Murphy
2020-09-01 20:15         ` Robin Murphy
2020-09-01 20:15         ` Robin Murphy
2020-09-01 20:15         ` Robin Murphy
     [not found]   ` <CGME20200826063546eucas1p268558dcd08ac9b43843f9f5e23da227d@eucas1p2.samsung.com>
2020-08-26  6:33     ` [PATCH v9 30/32] samples: vfio-mdev/mbochs: " Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:16       ` Robin Murphy
2020-09-01 20:16         ` Robin Murphy
2020-09-01 20:16         ` Robin Murphy
2020-09-01 20:16         ` Robin Murphy
     [not found]   ` <CGME20200826063629eucas1p1a3c9c93e281b4c432a6d9940e734e3c4@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 31/32] media: pci: fix common ALSA DMA-mapping related codes Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:24       ` Robin Murphy
2020-09-01 20:24         ` Robin Murphy
2020-09-01 20:24         ` Robin Murphy
2020-09-01 20:24         ` Robin Murphy
     [not found]   ` <CGME20200826063629eucas1p194665c749b5a37c74e6445370fd7f7c4@eucas1p1.samsung.com>
2020-08-26  6:33     ` [PATCH v9 32/32] videobuf2: use sgtable-based scatterlist wrappers Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-08-26  6:33       ` Marek Szyprowski
2020-09-01 20:19       ` Robin Murphy
2020-09-01 20:19         ` Robin Murphy
2020-09-01 20:19         ` Robin Murphy
2020-09-01 20:19         ` Robin Murphy

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=38960f66-aab6-8615-9187-b85cf628a4fd@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=intel-gfx@lists.freedesktop.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --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=rodrigo.vivi@intel.com \
    /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.