2017-04-19 19:36:24

by Logan Gunthorpe

[permalink] [raw]
Subject: [PATCH v2] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro

Seeing the kunmap_atomic dma_buf_ops share the same name with a macro
in highmem.h, the former can be aliased if any dma-buf user includes
that header.

I'm personally trying to include highmem.h inside scatterlist.h and this
breaks the dma-buf code proper.

Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.

To maintain consistency I've renamed all four of kmap* and kunmap* to be
map* and unmap*. (Even though only kmap_atomic presently conflicts.)

[1] https://www.spinics.net/lists/target-devel/msg15070.html

Signed-off-by: Logan Gunthorpe <[email protected]>
Reviewed-by: Sinclair Yeh <[email protected]>
---

Changes since v1:

- Added the missing tegra driver (noticed by kbuild robot)
- Rebased off of drm-intel-next to get the i915 selftest that is new
- Fixed nits Sinclair pointed out.

drivers/dma-buf/dma-buf.c | 16 ++++++++--------
drivers/gpu/drm/armada/armada_gem.c | 8 ++++----
drivers/gpu/drm/drm_prime.c | 8 ++++----
drivers/gpu/drm/i915/i915_gem_dmabuf.c | 8 ++++----
drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 8 ++++----
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 ++++----
drivers/gpu/drm/tegra/gem.c | 8 ++++----
drivers/gpu/drm/udl/udl_dmabuf.c | 8 ++++----
drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 ++++----
drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 ++--
drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 ++--
drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 ++--
drivers/staging/android/ion/ion.c | 8 ++++----
include/linux/dma-buf.h | 22 +++++++++++-----------
14 files changed, 61 insertions(+), 61 deletions(-)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index f72aaac..512bdbc 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
|| !exp_info->ops->map_dma_buf
|| !exp_info->ops->unmap_dma_buf
|| !exp_info->ops->release
- || !exp_info->ops->kmap_atomic
- || !exp_info->ops->kmap
+ || !exp_info->ops->map_atomic
+ || !exp_info->ops->map
|| !exp_info->ops->mmap)) {
return ERR_PTR(-EINVAL);
}
@@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
{
WARN_ON(!dmabuf);

- return dmabuf->ops->kmap_atomic(dmabuf, page_num);
+ return dmabuf->ops->map_atomic(dmabuf, page_num);
}
EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);

@@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
{
WARN_ON(!dmabuf);

- if (dmabuf->ops->kunmap_atomic)
- dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
+ if (dmabuf->ops->unmap_atomic)
+ dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
}
EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);

@@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
{
WARN_ON(!dmabuf);

- return dmabuf->ops->kmap(dmabuf, page_num);
+ return dmabuf->ops->map(dmabuf, page_num);
}
EXPORT_SYMBOL_GPL(dma_buf_kmap);

@@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
{
WARN_ON(!dmabuf);

- if (dmabuf->ops->kunmap)
- dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
+ if (dmabuf->ops->unmap)
+ dmabuf->ops->unmap(dmabuf, page_num, vaddr);
}
EXPORT_SYMBOL_GPL(dma_buf_kunmap);

diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
index 1597458..d6c2a5d 100644
--- a/drivers/gpu/drm/armada/armada_gem.c
+++ b/drivers/gpu/drm/armada/armada_gem.c
@@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
.map_dma_buf = armada_gem_prime_map_dma_buf,
.unmap_dma_buf = armada_gem_prime_unmap_dma_buf,
.release = drm_gem_dmabuf_release,
- .kmap_atomic = armada_gem_dmabuf_no_kmap,
- .kunmap_atomic = armada_gem_dmabuf_no_kunmap,
- .kmap = armada_gem_dmabuf_no_kmap,
- .kunmap = armada_gem_dmabuf_no_kunmap,
+ .map_atomic = armada_gem_dmabuf_no_kmap,
+ .unmap_atomic = armada_gem_dmabuf_no_kunmap,
+ .map = armada_gem_dmabuf_no_kmap,
+ .unmap = armada_gem_dmabuf_no_kunmap,
.mmap = armada_gem_dmabuf_mmap,
};

diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 9fb65b7..954eb84 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -403,10 +403,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops = {
.map_dma_buf = drm_gem_map_dma_buf,
.unmap_dma_buf = drm_gem_unmap_dma_buf,
.release = drm_gem_dmabuf_release,
- .kmap = drm_gem_dmabuf_kmap,
- .kmap_atomic = drm_gem_dmabuf_kmap_atomic,
- .kunmap = drm_gem_dmabuf_kunmap,
- .kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
+ .map = drm_gem_dmabuf_kmap,
+ .map_atomic = drm_gem_dmabuf_kmap_atomic,
+ .unmap = drm_gem_dmabuf_kunmap,
+ .unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
.mmap = drm_gem_dmabuf_mmap,
.vmap = drm_gem_dmabuf_vmap,
.vunmap = drm_gem_dmabuf_vunmap,
diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
index 11898cd..f225bf6 100644
--- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
+++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
@@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops = {
.map_dma_buf = i915_gem_map_dma_buf,
.unmap_dma_buf = i915_gem_unmap_dma_buf,
.release = drm_gem_dmabuf_release,
- .kmap = i915_gem_dmabuf_kmap,
- .kmap_atomic = i915_gem_dmabuf_kmap_atomic,
- .kunmap = i915_gem_dmabuf_kunmap,
- .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
+ .map = i915_gem_dmabuf_kmap,
+ .map_atomic = i915_gem_dmabuf_kmap_atomic,
+ .unmap = i915_gem_dmabuf_kunmap,
+ .unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
.mmap = i915_gem_dmabuf_mmap,
.vmap = i915_gem_dmabuf_vmap,
.vunmap = i915_gem_dmabuf_vunmap,
diff --git a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
index 99da8f4..302f7d1 100644
--- a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
+++ b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
@@ -129,10 +129,10 @@ static const struct dma_buf_ops mock_dmabuf_ops = {
.map_dma_buf = mock_map_dma_buf,
.unmap_dma_buf = mock_unmap_dma_buf,
.release = mock_dmabuf_release,
- .kmap = mock_dmabuf_kmap,
- .kmap_atomic = mock_dmabuf_kmap_atomic,
- .kunmap = mock_dmabuf_kunmap,
- .kunmap_atomic = mock_dmabuf_kunmap_atomic,
+ .map = mock_dmabuf_kmap,
+ .map_atomic = mock_dmabuf_kmap_atomic,
+ .unmap = mock_dmabuf_kunmap,
+ .unmap_atomic = mock_dmabuf_kunmap_atomic,
.mmap = mock_dmabuf_mmap,
.vmap = mock_dmabuf_vmap,
.vunmap = mock_dmabuf_vunmap,
diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
index ee5883f..0dbe030 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
@@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
.release = omap_gem_dmabuf_release,
.begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
.end_cpu_access = omap_gem_dmabuf_end_cpu_access,
- .kmap_atomic = omap_gem_dmabuf_kmap_atomic,
- .kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
- .kmap = omap_gem_dmabuf_kmap,
- .kunmap = omap_gem_dmabuf_kunmap,
+ .map_atomic = omap_gem_dmabuf_kmap_atomic,
+ .unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
+ .map = omap_gem_dmabuf_kmap,
+ .unmap = omap_gem_dmabuf_kunmap,
.mmap = omap_gem_dmabuf_mmap,
};

diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index 17e62ec..8672f5d 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -619,10 +619,10 @@ static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = {
.map_dma_buf = tegra_gem_prime_map_dma_buf,
.unmap_dma_buf = tegra_gem_prime_unmap_dma_buf,
.release = tegra_gem_prime_release,
- .kmap_atomic = tegra_gem_prime_kmap_atomic,
- .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
- .kmap = tegra_gem_prime_kmap,
- .kunmap = tegra_gem_prime_kunmap,
+ .map_atomic = tegra_gem_prime_kmap_atomic,
+ .unmap_atomic = tegra_gem_prime_kunmap_atomic,
+ .map = tegra_gem_prime_kmap,
+ .unmap = tegra_gem_prime_kunmap,
.mmap = tegra_gem_prime_mmap,
.vmap = tegra_gem_prime_vmap,
.vunmap = tegra_gem_prime_vunmap,
diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
index ac90ffd..ed0e636 100644
--- a/drivers/gpu/drm/udl/udl_dmabuf.c
+++ b/drivers/gpu/drm/udl/udl_dmabuf.c
@@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
.detach = udl_detach_dma_buf,
.map_dma_buf = udl_map_dma_buf,
.unmap_dma_buf = udl_unmap_dma_buf,
- .kmap = udl_dmabuf_kmap,
- .kmap_atomic = udl_dmabuf_kmap_atomic,
- .kunmap = udl_dmabuf_kunmap,
- .kunmap_atomic = udl_dmabuf_kunmap_atomic,
+ .map = udl_dmabuf_kmap,
+ .map_atomic = udl_dmabuf_kmap_atomic,
+ .unmap = udl_dmabuf_kunmap,
+ .unmap_atomic = udl_dmabuf_kunmap_atomic,
.mmap = udl_dmabuf_mmap,
.release = drm_gem_dmabuf_release,
};
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
index 31fe32d..0d42a46 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
@@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops = {
.map_dma_buf = vmw_prime_map_dma_buf,
.unmap_dma_buf = vmw_prime_unmap_dma_buf,
.release = NULL,
- .kmap = vmw_prime_dmabuf_kmap,
- .kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
- .kunmap = vmw_prime_dmabuf_kunmap,
- .kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
+ .map = vmw_prime_dmabuf_kmap,
+ .map_atomic = vmw_prime_dmabuf_kmap_atomic,
+ .unmap = vmw_prime_dmabuf_kunmap,
+ .unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
.mmap = vmw_prime_dmabuf_mmap,
.vmap = vmw_prime_dmabuf_vmap,
.vunmap = vmw_prime_dmabuf_vunmap,
diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
index fb6a177..2db0413 100644
--- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
+++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
@@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
.detach = vb2_dc_dmabuf_ops_detach,
.map_dma_buf = vb2_dc_dmabuf_ops_map,
.unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
- .kmap = vb2_dc_dmabuf_ops_kmap,
- .kmap_atomic = vb2_dc_dmabuf_ops_kmap,
+ .map = vb2_dc_dmabuf_ops_kmap,
+ .map_atomic = vb2_dc_dmabuf_ops_kmap,
.vmap = vb2_dc_dmabuf_ops_vmap,
.mmap = vb2_dc_dmabuf_ops_mmap,
.release = vb2_dc_dmabuf_ops_release,
diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
index ecff8f4..6fd1343 100644
--- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
+++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
@@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
.detach = vb2_dma_sg_dmabuf_ops_detach,
.map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
.unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
- .kmap = vb2_dma_sg_dmabuf_ops_kmap,
- .kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
+ .map = vb2_dma_sg_dmabuf_ops_kmap,
+ .map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
.vmap = vb2_dma_sg_dmabuf_ops_vmap,
.mmap = vb2_dma_sg_dmabuf_ops_mmap,
.release = vb2_dma_sg_dmabuf_ops_release,
diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c
index 3f77814..27d1db3 100644
--- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
+++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
@@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
.detach = vb2_vmalloc_dmabuf_ops_detach,
.map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
.unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
- .kmap = vb2_vmalloc_dmabuf_ops_kmap,
- .kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
+ .map = vb2_vmalloc_dmabuf_ops_kmap,
+ .map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
.vmap = vb2_vmalloc_dmabuf_ops_vmap,
.mmap = vb2_vmalloc_dmabuf_ops_mmap,
.release = vb2_vmalloc_dmabuf_ops_release,
diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index f45115f..95a7f16 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
.release = ion_dma_buf_release,
.begin_cpu_access = ion_dma_buf_begin_cpu_access,
.end_cpu_access = ion_dma_buf_end_cpu_access,
- .kmap_atomic = ion_dma_buf_kmap,
- .kunmap_atomic = ion_dma_buf_kunmap,
- .kmap = ion_dma_buf_kmap,
- .kunmap = ion_dma_buf_kunmap,
+ .map_atomic = ion_dma_buf_kmap,
+ .unmap_atomic = ion_dma_buf_kunmap,
+ .map = ion_dma_buf_kmap,
+ .unmap = ion_dma_buf_kunmap,
};

struct dma_buf *ion_share_dma_buf(struct ion_client *client,
diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
index bfb3704..79f27d6 100644
--- a/include/linux/dma-buf.h
+++ b/include/linux/dma-buf.h
@@ -39,13 +39,13 @@ struct dma_buf_attachment;

/**
* struct dma_buf_ops - operations possible on struct dma_buf
- * @kmap_atomic: maps a page from the buffer into kernel address
- * space, users may not block until the subsequent unmap call.
- * This callback must not sleep.
- * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
- * This Callback must not sleep.
- * @kmap: maps a page from the buffer into kernel address space.
- * @kunmap: [optional] unmaps a page from the buffer.
+ * @map_atomic: maps a page from the buffer into kernel address
+ * space, users may not block until the subsequent unmap call.
+ * This callback must not sleep.
+ * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
+ * This Callback must not sleep.
+ * @map: maps a page from the buffer into kernel address space.
+ * @unmap: [optional] unmaps a page from the buffer.
* @vmap: [optional] creates a virtual mapping for the buffer into kernel
* address space. Same restrictions as for vmap and friends apply.
* @vunmap: [optional] unmaps a vmap from the buffer
@@ -206,10 +206,10 @@ struct dma_buf_ops {
* to be restarted.
*/
int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
- void *(*kmap_atomic)(struct dma_buf *, unsigned long);
- void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
- void *(*kmap)(struct dma_buf *, unsigned long);
- void (*kunmap)(struct dma_buf *, unsigned long, void *);
+ void *(*map_atomic)(struct dma_buf *, unsigned long);
+ void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
+ void *(*map)(struct dma_buf *, unsigned long);
+ void (*unmap)(struct dma_buf *, unsigned long, void *);

/**
* @mmap:
--
2.1.4


2017-04-20 00:28:54

by Laura Abbott

[permalink] [raw]
Subject: Re: [PATCH v2] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro

On 04/19/2017 12:36 PM, Logan Gunthorpe wrote:
> Seeing the kunmap_atomic dma_buf_ops share the same name with a macro
> in highmem.h, the former can be aliased if any dma-buf user includes
> that header.
>
> I'm personally trying to include highmem.h inside scatterlist.h and this
> breaks the dma-buf code proper.
>
> Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.
>
> To maintain consistency I've renamed all four of kmap* and kunmap* to be
> map* and unmap*. (Even though only kmap_atomic presently conflicts.)
>
> [1] https://www.spinics.net/lists/target-devel/msg15070.html
>
> Signed-off-by: Logan Gunthorpe <[email protected]>
> Reviewed-by: Sinclair Yeh <[email protected]>
> ---
>
> Changes since v1:
>
> - Added the missing tegra driver (noticed by kbuild robot)
> - Rebased off of drm-intel-next to get the i915 selftest that is new
> - Fixed nits Sinclair pointed out.
>
> drivers/dma-buf/dma-buf.c | 16 ++++++++--------
> drivers/gpu/drm/armada/armada_gem.c | 8 ++++----
> drivers/gpu/drm/drm_prime.c | 8 ++++----
> drivers/gpu/drm/i915/i915_gem_dmabuf.c | 8 ++++----
> drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 8 ++++----
> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 ++++----
> drivers/gpu/drm/tegra/gem.c | 8 ++++----
> drivers/gpu/drm/udl/udl_dmabuf.c | 8 ++++----
> drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 ++++----
> drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 ++--
> drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 ++--
> drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 ++--
> drivers/staging/android/ion/ion.c | 8 ++++----
> include/linux/dma-buf.h | 22 +++++++++++-----------
> 14 files changed, 61 insertions(+), 61 deletions(-)
>

For Ion,

Acked-by: Laura Abbott <[email protected]>

I did some major Ion refactoring but I don't think this
will conflict.

Thanks,
Laura

2017-04-20 07:51:41

by Daniel Vetter

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro

On Wed, Apr 19, 2017 at 01:36:10PM -0600, Logan Gunthorpe wrote:
> Seeing the kunmap_atomic dma_buf_ops share the same name with a macro
> in highmem.h, the former can be aliased if any dma-buf user includes
> that header.
>
> I'm personally trying to include highmem.h inside scatterlist.h and this
> breaks the dma-buf code proper.
>
> Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.
>
> To maintain consistency I've renamed all four of kmap* and kunmap* to be
> map* and unmap*. (Even though only kmap_atomic presently conflicts.)
>
> [1] https://www.spinics.net/lists/target-devel/msg15070.html
>
> Signed-off-by: Logan Gunthorpe <[email protected]>
> Reviewed-by: Sinclair Yeh <[email protected]>

Acked-by: Daniel Vetter <[email protected]>

Probably simplest if we pull this in through the drm-misc tree for 4.12.
Can we have an ack for the v4l side for that pls?

Thanks, Daniel

> ---
>
> Changes since v1:
>
> - Added the missing tegra driver (noticed by kbuild robot)
> - Rebased off of drm-intel-next to get the i915 selftest that is new
> - Fixed nits Sinclair pointed out.
>
> drivers/dma-buf/dma-buf.c | 16 ++++++++--------
> drivers/gpu/drm/armada/armada_gem.c | 8 ++++----
> drivers/gpu/drm/drm_prime.c | 8 ++++----
> drivers/gpu/drm/i915/i915_gem_dmabuf.c | 8 ++++----
> drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 8 ++++----
> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 ++++----
> drivers/gpu/drm/tegra/gem.c | 8 ++++----
> drivers/gpu/drm/udl/udl_dmabuf.c | 8 ++++----
> drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 ++++----
> drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 ++--
> drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 ++--
> drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 ++--
> drivers/staging/android/ion/ion.c | 8 ++++----
> include/linux/dma-buf.h | 22 +++++++++++-----------
> 14 files changed, 61 insertions(+), 61 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
> index f72aaac..512bdbc 100644
> --- a/drivers/dma-buf/dma-buf.c
> +++ b/drivers/dma-buf/dma-buf.c
> @@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
> || !exp_info->ops->map_dma_buf
> || !exp_info->ops->unmap_dma_buf
> || !exp_info->ops->release
> - || !exp_info->ops->kmap_atomic
> - || !exp_info->ops->kmap
> + || !exp_info->ops->map_atomic
> + || !exp_info->ops->map
> || !exp_info->ops->mmap)) {
> return ERR_PTR(-EINVAL);
> }
> @@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
> {
> WARN_ON(!dmabuf);
>
> - return dmabuf->ops->kmap_atomic(dmabuf, page_num);
> + return dmabuf->ops->map_atomic(dmabuf, page_num);
> }
> EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
>
> @@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
> {
> WARN_ON(!dmabuf);
>
> - if (dmabuf->ops->kunmap_atomic)
> - dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
> + if (dmabuf->ops->unmap_atomic)
> + dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
> }
> EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
>
> @@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
> {
> WARN_ON(!dmabuf);
>
> - return dmabuf->ops->kmap(dmabuf, page_num);
> + return dmabuf->ops->map(dmabuf, page_num);
> }
> EXPORT_SYMBOL_GPL(dma_buf_kmap);
>
> @@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
> {
> WARN_ON(!dmabuf);
>
> - if (dmabuf->ops->kunmap)
> - dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
> + if (dmabuf->ops->unmap)
> + dmabuf->ops->unmap(dmabuf, page_num, vaddr);
> }
> EXPORT_SYMBOL_GPL(dma_buf_kunmap);
>
> diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
> index 1597458..d6c2a5d 100644
> --- a/drivers/gpu/drm/armada/armada_gem.c
> +++ b/drivers/gpu/drm/armada/armada_gem.c
> @@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
> .map_dma_buf = armada_gem_prime_map_dma_buf,
> .unmap_dma_buf = armada_gem_prime_unmap_dma_buf,
> .release = drm_gem_dmabuf_release,
> - .kmap_atomic = armada_gem_dmabuf_no_kmap,
> - .kunmap_atomic = armada_gem_dmabuf_no_kunmap,
> - .kmap = armada_gem_dmabuf_no_kmap,
> - .kunmap = armada_gem_dmabuf_no_kunmap,
> + .map_atomic = armada_gem_dmabuf_no_kmap,
> + .unmap_atomic = armada_gem_dmabuf_no_kunmap,
> + .map = armada_gem_dmabuf_no_kmap,
> + .unmap = armada_gem_dmabuf_no_kunmap,
> .mmap = armada_gem_dmabuf_mmap,
> };
>
> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
> index 9fb65b7..954eb84 100644
> --- a/drivers/gpu/drm/drm_prime.c
> +++ b/drivers/gpu/drm/drm_prime.c
> @@ -403,10 +403,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops = {
> .map_dma_buf = drm_gem_map_dma_buf,
> .unmap_dma_buf = drm_gem_unmap_dma_buf,
> .release = drm_gem_dmabuf_release,
> - .kmap = drm_gem_dmabuf_kmap,
> - .kmap_atomic = drm_gem_dmabuf_kmap_atomic,
> - .kunmap = drm_gem_dmabuf_kunmap,
> - .kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
> + .map = drm_gem_dmabuf_kmap,
> + .map_atomic = drm_gem_dmabuf_kmap_atomic,
> + .unmap = drm_gem_dmabuf_kunmap,
> + .unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
> .mmap = drm_gem_dmabuf_mmap,
> .vmap = drm_gem_dmabuf_vmap,
> .vunmap = drm_gem_dmabuf_vunmap,
> diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> index 11898cd..f225bf6 100644
> --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
> @@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops = {
> .map_dma_buf = i915_gem_map_dma_buf,
> .unmap_dma_buf = i915_gem_unmap_dma_buf,
> .release = drm_gem_dmabuf_release,
> - .kmap = i915_gem_dmabuf_kmap,
> - .kmap_atomic = i915_gem_dmabuf_kmap_atomic,
> - .kunmap = i915_gem_dmabuf_kunmap,
> - .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
> + .map = i915_gem_dmabuf_kmap,
> + .map_atomic = i915_gem_dmabuf_kmap_atomic,
> + .unmap = i915_gem_dmabuf_kunmap,
> + .unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
> .mmap = i915_gem_dmabuf_mmap,
> .vmap = i915_gem_dmabuf_vmap,
> .vunmap = i915_gem_dmabuf_vunmap,
> diff --git a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
> index 99da8f4..302f7d1 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
> @@ -129,10 +129,10 @@ static const struct dma_buf_ops mock_dmabuf_ops = {
> .map_dma_buf = mock_map_dma_buf,
> .unmap_dma_buf = mock_unmap_dma_buf,
> .release = mock_dmabuf_release,
> - .kmap = mock_dmabuf_kmap,
> - .kmap_atomic = mock_dmabuf_kmap_atomic,
> - .kunmap = mock_dmabuf_kunmap,
> - .kunmap_atomic = mock_dmabuf_kunmap_atomic,
> + .map = mock_dmabuf_kmap,
> + .map_atomic = mock_dmabuf_kmap_atomic,
> + .unmap = mock_dmabuf_kunmap,
> + .unmap_atomic = mock_dmabuf_kunmap_atomic,
> .mmap = mock_dmabuf_mmap,
> .vmap = mock_dmabuf_vmap,
> .vunmap = mock_dmabuf_vunmap,
> diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
> index ee5883f..0dbe030 100644
> --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
> +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
> @@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
> .release = omap_gem_dmabuf_release,
> .begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
> .end_cpu_access = omap_gem_dmabuf_end_cpu_access,
> - .kmap_atomic = omap_gem_dmabuf_kmap_atomic,
> - .kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
> - .kmap = omap_gem_dmabuf_kmap,
> - .kunmap = omap_gem_dmabuf_kunmap,
> + .map_atomic = omap_gem_dmabuf_kmap_atomic,
> + .unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
> + .map = omap_gem_dmabuf_kmap,
> + .unmap = omap_gem_dmabuf_kunmap,
> .mmap = omap_gem_dmabuf_mmap,
> };
>
> diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
> index 17e62ec..8672f5d 100644
> --- a/drivers/gpu/drm/tegra/gem.c
> +++ b/drivers/gpu/drm/tegra/gem.c
> @@ -619,10 +619,10 @@ static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = {
> .map_dma_buf = tegra_gem_prime_map_dma_buf,
> .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf,
> .release = tegra_gem_prime_release,
> - .kmap_atomic = tegra_gem_prime_kmap_atomic,
> - .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
> - .kmap = tegra_gem_prime_kmap,
> - .kunmap = tegra_gem_prime_kunmap,
> + .map_atomic = tegra_gem_prime_kmap_atomic,
> + .unmap_atomic = tegra_gem_prime_kunmap_atomic,
> + .map = tegra_gem_prime_kmap,
> + .unmap = tegra_gem_prime_kunmap,
> .mmap = tegra_gem_prime_mmap,
> .vmap = tegra_gem_prime_vmap,
> .vunmap = tegra_gem_prime_vunmap,
> diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
> index ac90ffd..ed0e636 100644
> --- a/drivers/gpu/drm/udl/udl_dmabuf.c
> +++ b/drivers/gpu/drm/udl/udl_dmabuf.c
> @@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
> .detach = udl_detach_dma_buf,
> .map_dma_buf = udl_map_dma_buf,
> .unmap_dma_buf = udl_unmap_dma_buf,
> - .kmap = udl_dmabuf_kmap,
> - .kmap_atomic = udl_dmabuf_kmap_atomic,
> - .kunmap = udl_dmabuf_kunmap,
> - .kunmap_atomic = udl_dmabuf_kunmap_atomic,
> + .map = udl_dmabuf_kmap,
> + .map_atomic = udl_dmabuf_kmap_atomic,
> + .unmap = udl_dmabuf_kunmap,
> + .unmap_atomic = udl_dmabuf_kunmap_atomic,
> .mmap = udl_dmabuf_mmap,
> .release = drm_gem_dmabuf_release,
> };
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
> index 31fe32d..0d42a46 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
> @@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops = {
> .map_dma_buf = vmw_prime_map_dma_buf,
> .unmap_dma_buf = vmw_prime_unmap_dma_buf,
> .release = NULL,
> - .kmap = vmw_prime_dmabuf_kmap,
> - .kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
> - .kunmap = vmw_prime_dmabuf_kunmap,
> - .kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
> + .map = vmw_prime_dmabuf_kmap,
> + .map_atomic = vmw_prime_dmabuf_kmap_atomic,
> + .unmap = vmw_prime_dmabuf_kunmap,
> + .unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
> .mmap = vmw_prime_dmabuf_mmap,
> .vmap = vmw_prime_dmabuf_vmap,
> .vunmap = vmw_prime_dmabuf_vunmap,
> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> index fb6a177..2db0413 100644
> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> @@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
> .detach = vb2_dc_dmabuf_ops_detach,
> .map_dma_buf = vb2_dc_dmabuf_ops_map,
> .unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
> - .kmap = vb2_dc_dmabuf_ops_kmap,
> - .kmap_atomic = vb2_dc_dmabuf_ops_kmap,
> + .map = vb2_dc_dmabuf_ops_kmap,
> + .map_atomic = vb2_dc_dmabuf_ops_kmap,
> .vmap = vb2_dc_dmabuf_ops_vmap,
> .mmap = vb2_dc_dmabuf_ops_mmap,
> .release = vb2_dc_dmabuf_ops_release,
> diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
> index ecff8f4..6fd1343 100644
> --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
> +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
> @@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
> .detach = vb2_dma_sg_dmabuf_ops_detach,
> .map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
> .unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
> - .kmap = vb2_dma_sg_dmabuf_ops_kmap,
> - .kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
> + .map = vb2_dma_sg_dmabuf_ops_kmap,
> + .map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
> .vmap = vb2_dma_sg_dmabuf_ops_vmap,
> .mmap = vb2_dma_sg_dmabuf_ops_mmap,
> .release = vb2_dma_sg_dmabuf_ops_release,
> diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c
> index 3f77814..27d1db3 100644
> --- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
> +++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
> @@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
> .detach = vb2_vmalloc_dmabuf_ops_detach,
> .map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
> .unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
> - .kmap = vb2_vmalloc_dmabuf_ops_kmap,
> - .kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
> + .map = vb2_vmalloc_dmabuf_ops_kmap,
> + .map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
> .vmap = vb2_vmalloc_dmabuf_ops_vmap,
> .mmap = vb2_vmalloc_dmabuf_ops_mmap,
> .release = vb2_vmalloc_dmabuf_ops_release,
> diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
> index f45115f..95a7f16 100644
> --- a/drivers/staging/android/ion/ion.c
> +++ b/drivers/staging/android/ion/ion.c
> @@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
> .release = ion_dma_buf_release,
> .begin_cpu_access = ion_dma_buf_begin_cpu_access,
> .end_cpu_access = ion_dma_buf_end_cpu_access,
> - .kmap_atomic = ion_dma_buf_kmap,
> - .kunmap_atomic = ion_dma_buf_kunmap,
> - .kmap = ion_dma_buf_kmap,
> - .kunmap = ion_dma_buf_kunmap,
> + .map_atomic = ion_dma_buf_kmap,
> + .unmap_atomic = ion_dma_buf_kunmap,
> + .map = ion_dma_buf_kmap,
> + .unmap = ion_dma_buf_kunmap,
> };
>
> struct dma_buf *ion_share_dma_buf(struct ion_client *client,
> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
> index bfb3704..79f27d6 100644
> --- a/include/linux/dma-buf.h
> +++ b/include/linux/dma-buf.h
> @@ -39,13 +39,13 @@ struct dma_buf_attachment;
>
> /**
> * struct dma_buf_ops - operations possible on struct dma_buf
> - * @kmap_atomic: maps a page from the buffer into kernel address
> - * space, users may not block until the subsequent unmap call.
> - * This callback must not sleep.
> - * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
> - * This Callback must not sleep.
> - * @kmap: maps a page from the buffer into kernel address space.
> - * @kunmap: [optional] unmaps a page from the buffer.
> + * @map_atomic: maps a page from the buffer into kernel address
> + * space, users may not block until the subsequent unmap call.
> + * This callback must not sleep.
> + * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
> + * This Callback must not sleep.
> + * @map: maps a page from the buffer into kernel address space.
> + * @unmap: [optional] unmaps a page from the buffer.
> * @vmap: [optional] creates a virtual mapping for the buffer into kernel
> * address space. Same restrictions as for vmap and friends apply.
> * @vunmap: [optional] unmaps a vmap from the buffer
> @@ -206,10 +206,10 @@ struct dma_buf_ops {
> * to be restarted.
> */
> int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
> - void *(*kmap_atomic)(struct dma_buf *, unsigned long);
> - void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
> - void *(*kmap)(struct dma_buf *, unsigned long);
> - void (*kunmap)(struct dma_buf *, unsigned long, void *);
> + void *(*map_atomic)(struct dma_buf *, unsigned long);
> + void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
> + void *(*map)(struct dma_buf *, unsigned long);
> + void (*unmap)(struct dma_buf *, unsigned long, void *);
>
> /**
> * @mmap:
> --
> 2.1.4
> _______________________________________________
> Intel-gfx mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

2017-04-20 08:02:03

by Sumit Semwal

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro

Hi Logan,

Thanks for the patch.

On 20 April 2017 at 13:21, Daniel Vetter <[email protected]> wrote:
> On Wed, Apr 19, 2017 at 01:36:10PM -0600, Logan Gunthorpe wrote:
>> Seeing the kunmap_atomic dma_buf_ops share the same name with a macro
>> in highmem.h, the former can be aliased if any dma-buf user includes
>> that header.
>>
>> I'm personally trying to include highmem.h inside scatterlist.h and this
>> breaks the dma-buf code proper.
>>
>> Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.
>>
>> To maintain consistency I've renamed all four of kmap* and kunmap* to be
>> map* and unmap*. (Even though only kmap_atomic presently conflicts.)
>>
>> [1] https://www.spinics.net/lists/target-devel/msg15070.html
>>
>> Signed-off-by: Logan Gunthorpe <[email protected]>
>> Reviewed-by: Sinclair Yeh <[email protected]>
>
> Acked-by: Daniel Vetter <[email protected]>
Acked-by: Sumit Semwal <[email protected]>
>
> Probably simplest if we pull this in through the drm-misc tree for 4.12.
> Can we have an ack for the v4l side for that pls?
>
> Thanks, Daniel
>
>> ---
>>
>> Changes since v1:
>>
>> - Added the missing tegra driver (noticed by kbuild robot)
>> - Rebased off of drm-intel-next to get the i915 selftest that is new
>> - Fixed nits Sinclair pointed out.
>>
>> drivers/dma-buf/dma-buf.c | 16 ++++++++--------
>> drivers/gpu/drm/armada/armada_gem.c | 8 ++++----
>> drivers/gpu/drm/drm_prime.c | 8 ++++----
>> drivers/gpu/drm/i915/i915_gem_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/tegra/gem.c | 8 ++++----
>> drivers/gpu/drm/udl/udl_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 ++++----
>> drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 ++--
>> drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 ++--
>> drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 ++--
>> drivers/staging/android/ion/ion.c | 8 ++++----
>> include/linux/dma-buf.h | 22 +++++++++++-----------
>> 14 files changed, 61 insertions(+), 61 deletions(-)
>>
>> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
>> index f72aaac..512bdbc 100644
>> --- a/drivers/dma-buf/dma-buf.c
>> +++ b/drivers/dma-buf/dma-buf.c
>> @@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
>> || !exp_info->ops->map_dma_buf
>> || !exp_info->ops->unmap_dma_buf
>> || !exp_info->ops->release
>> - || !exp_info->ops->kmap_atomic
>> - || !exp_info->ops->kmap
>> + || !exp_info->ops->map_atomic
>> + || !exp_info->ops->map
>> || !exp_info->ops->mmap)) {
>> return ERR_PTR(-EINVAL);
>> }
>> @@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
>> {
>> WARN_ON(!dmabuf);
>>
>> - return dmabuf->ops->kmap_atomic(dmabuf, page_num);
>> + return dmabuf->ops->map_atomic(dmabuf, page_num);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
>>
>> @@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
>> {
>> WARN_ON(!dmabuf);
>>
>> - if (dmabuf->ops->kunmap_atomic)
>> - dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
>> + if (dmabuf->ops->unmap_atomic)
>> + dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
>>
>> @@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
>> {
>> WARN_ON(!dmabuf);
>>
>> - return dmabuf->ops->kmap(dmabuf, page_num);
>> + return dmabuf->ops->map(dmabuf, page_num);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kmap);
>>
>> @@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
>> {
>> WARN_ON(!dmabuf);
>>
>> - if (dmabuf->ops->kunmap)
>> - dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
>> + if (dmabuf->ops->unmap)
>> + dmabuf->ops->unmap(dmabuf, page_num, vaddr);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kunmap);
>>
>> diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
>> index 1597458..d6c2a5d 100644
>> --- a/drivers/gpu/drm/armada/armada_gem.c
>> +++ b/drivers/gpu/drm/armada/armada_gem.c
>> @@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
>> .map_dma_buf = armada_gem_prime_map_dma_buf,
>> .unmap_dma_buf = armada_gem_prime_unmap_dma_buf,
>> .release = drm_gem_dmabuf_release,
>> - .kmap_atomic = armada_gem_dmabuf_no_kmap,
>> - .kunmap_atomic = armada_gem_dmabuf_no_kunmap,
>> - .kmap = armada_gem_dmabuf_no_kmap,
>> - .kunmap = armada_gem_dmabuf_no_kunmap,
>> + .map_atomic = armada_gem_dmabuf_no_kmap,
>> + .unmap_atomic = armada_gem_dmabuf_no_kunmap,
>> + .map = armada_gem_dmabuf_no_kmap,
>> + .unmap = armada_gem_dmabuf_no_kunmap,
>> .mmap = armada_gem_dmabuf_mmap,
>> };
>>
>> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
>> index 9fb65b7..954eb84 100644
>> --- a/drivers/gpu/drm/drm_prime.c
>> +++ b/drivers/gpu/drm/drm_prime.c
>> @@ -403,10 +403,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops = {
>> .map_dma_buf = drm_gem_map_dma_buf,
>> .unmap_dma_buf = drm_gem_unmap_dma_buf,
>> .release = drm_gem_dmabuf_release,
>> - .kmap = drm_gem_dmabuf_kmap,
>> - .kmap_atomic = drm_gem_dmabuf_kmap_atomic,
>> - .kunmap = drm_gem_dmabuf_kunmap,
>> - .kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>> + .map = drm_gem_dmabuf_kmap,
>> + .map_atomic = drm_gem_dmabuf_kmap_atomic,
>> + .unmap = drm_gem_dmabuf_kunmap,
>> + .unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>> .mmap = drm_gem_dmabuf_mmap,
>> .vmap = drm_gem_dmabuf_vmap,
>> .vunmap = drm_gem_dmabuf_vunmap,
>> diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>> index 11898cd..f225bf6 100644
>> --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>> @@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops = {
>> .map_dma_buf = i915_gem_map_dma_buf,
>> .unmap_dma_buf = i915_gem_unmap_dma_buf,
>> .release = drm_gem_dmabuf_release,
>> - .kmap = i915_gem_dmabuf_kmap,
>> - .kmap_atomic = i915_gem_dmabuf_kmap_atomic,
>> - .kunmap = i915_gem_dmabuf_kunmap,
>> - .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>> + .map = i915_gem_dmabuf_kmap,
>> + .map_atomic = i915_gem_dmabuf_kmap_atomic,
>> + .unmap = i915_gem_dmabuf_kunmap,
>> + .unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>> .mmap = i915_gem_dmabuf_mmap,
>> .vmap = i915_gem_dmabuf_vmap,
>> .vunmap = i915_gem_dmabuf_vunmap,
>> diff --git a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>> index 99da8f4..302f7d1 100644
>> --- a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>> @@ -129,10 +129,10 @@ static const struct dma_buf_ops mock_dmabuf_ops = {
>> .map_dma_buf = mock_map_dma_buf,
>> .unmap_dma_buf = mock_unmap_dma_buf,
>> .release = mock_dmabuf_release,
>> - .kmap = mock_dmabuf_kmap,
>> - .kmap_atomic = mock_dmabuf_kmap_atomic,
>> - .kunmap = mock_dmabuf_kunmap,
>> - .kunmap_atomic = mock_dmabuf_kunmap_atomic,
>> + .map = mock_dmabuf_kmap,
>> + .map_atomic = mock_dmabuf_kmap_atomic,
>> + .unmap = mock_dmabuf_kunmap,
>> + .unmap_atomic = mock_dmabuf_kunmap_atomic,
>> .mmap = mock_dmabuf_mmap,
>> .vmap = mock_dmabuf_vmap,
>> .vunmap = mock_dmabuf_vunmap,
>> diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>> index ee5883f..0dbe030 100644
>> --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>> @@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
>> .release = omap_gem_dmabuf_release,
>> .begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
>> .end_cpu_access = omap_gem_dmabuf_end_cpu_access,
>> - .kmap_atomic = omap_gem_dmabuf_kmap_atomic,
>> - .kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
>> - .kmap = omap_gem_dmabuf_kmap,
>> - .kunmap = omap_gem_dmabuf_kunmap,
>> + .map_atomic = omap_gem_dmabuf_kmap_atomic,
>> + .unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
>> + .map = omap_gem_dmabuf_kmap,
>> + .unmap = omap_gem_dmabuf_kunmap,
>> .mmap = omap_gem_dmabuf_mmap,
>> };
>>
>> diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
>> index 17e62ec..8672f5d 100644
>> --- a/drivers/gpu/drm/tegra/gem.c
>> +++ b/drivers/gpu/drm/tegra/gem.c
>> @@ -619,10 +619,10 @@ static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = {
>> .map_dma_buf = tegra_gem_prime_map_dma_buf,
>> .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf,
>> .release = tegra_gem_prime_release,
>> - .kmap_atomic = tegra_gem_prime_kmap_atomic,
>> - .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
>> - .kmap = tegra_gem_prime_kmap,
>> - .kunmap = tegra_gem_prime_kunmap,
>> + .map_atomic = tegra_gem_prime_kmap_atomic,
>> + .unmap_atomic = tegra_gem_prime_kunmap_atomic,
>> + .map = tegra_gem_prime_kmap,
>> + .unmap = tegra_gem_prime_kunmap,
>> .mmap = tegra_gem_prime_mmap,
>> .vmap = tegra_gem_prime_vmap,
>> .vunmap = tegra_gem_prime_vunmap,
>> diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
>> index ac90ffd..ed0e636 100644
>> --- a/drivers/gpu/drm/udl/udl_dmabuf.c
>> +++ b/drivers/gpu/drm/udl/udl_dmabuf.c
>> @@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
>> .detach = udl_detach_dma_buf,
>> .map_dma_buf = udl_map_dma_buf,
>> .unmap_dma_buf = udl_unmap_dma_buf,
>> - .kmap = udl_dmabuf_kmap,
>> - .kmap_atomic = udl_dmabuf_kmap_atomic,
>> - .kunmap = udl_dmabuf_kunmap,
>> - .kunmap_atomic = udl_dmabuf_kunmap_atomic,
>> + .map = udl_dmabuf_kmap,
>> + .map_atomic = udl_dmabuf_kmap_atomic,
>> + .unmap = udl_dmabuf_kunmap,
>> + .unmap_atomic = udl_dmabuf_kunmap_atomic,
>> .mmap = udl_dmabuf_mmap,
>> .release = drm_gem_dmabuf_release,
>> };
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>> index 31fe32d..0d42a46 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>> @@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops = {
>> .map_dma_buf = vmw_prime_map_dma_buf,
>> .unmap_dma_buf = vmw_prime_unmap_dma_buf,
>> .release = NULL,
>> - .kmap = vmw_prime_dmabuf_kmap,
>> - .kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
>> - .kunmap = vmw_prime_dmabuf_kunmap,
>> - .kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>> + .map = vmw_prime_dmabuf_kmap,
>> + .map_atomic = vmw_prime_dmabuf_kmap_atomic,
>> + .unmap = vmw_prime_dmabuf_kunmap,
>> + .unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>> .mmap = vmw_prime_dmabuf_mmap,
>> .vmap = vmw_prime_dmabuf_vmap,
>> .vunmap = vmw_prime_dmabuf_vunmap,
>> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
>> index fb6a177..2db0413 100644
>> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
>> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
>> @@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
>> .detach = vb2_dc_dmabuf_ops_detach,
>> .map_dma_buf = vb2_dc_dmabuf_ops_map,
>> .unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
>> - .kmap = vb2_dc_dmabuf_ops_kmap,
>> - .kmap_atomic = vb2_dc_dmabuf_ops_kmap,
>> + .map = vb2_dc_dmabuf_ops_kmap,
>> + .map_atomic = vb2_dc_dmabuf_ops_kmap,
>> .vmap = vb2_dc_dmabuf_ops_vmap,
>> .mmap = vb2_dc_dmabuf_ops_mmap,
>> .release = vb2_dc_dmabuf_ops_release,
>> diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
>> index ecff8f4..6fd1343 100644
>> --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
>> +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
>> @@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
>> .detach = vb2_dma_sg_dmabuf_ops_detach,
>> .map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
>> .unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
>> - .kmap = vb2_dma_sg_dmabuf_ops_kmap,
>> - .kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>> + .map = vb2_dma_sg_dmabuf_ops_kmap,
>> + .map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>> .vmap = vb2_dma_sg_dmabuf_ops_vmap,
>> .mmap = vb2_dma_sg_dmabuf_ops_mmap,
>> .release = vb2_dma_sg_dmabuf_ops_release,
>> diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c
>> index 3f77814..27d1db3 100644
>> --- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
>> +++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
>> @@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
>> .detach = vb2_vmalloc_dmabuf_ops_detach,
>> .map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
>> .unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
>> - .kmap = vb2_vmalloc_dmabuf_ops_kmap,
>> - .kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>> + .map = vb2_vmalloc_dmabuf_ops_kmap,
>> + .map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>> .vmap = vb2_vmalloc_dmabuf_ops_vmap,
>> .mmap = vb2_vmalloc_dmabuf_ops_mmap,
>> .release = vb2_vmalloc_dmabuf_ops_release,
>> diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
>> index f45115f..95a7f16 100644
>> --- a/drivers/staging/android/ion/ion.c
>> +++ b/drivers/staging/android/ion/ion.c
>> @@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
>> .release = ion_dma_buf_release,
>> .begin_cpu_access = ion_dma_buf_begin_cpu_access,
>> .end_cpu_access = ion_dma_buf_end_cpu_access,
>> - .kmap_atomic = ion_dma_buf_kmap,
>> - .kunmap_atomic = ion_dma_buf_kunmap,
>> - .kmap = ion_dma_buf_kmap,
>> - .kunmap = ion_dma_buf_kunmap,
>> + .map_atomic = ion_dma_buf_kmap,
>> + .unmap_atomic = ion_dma_buf_kunmap,
>> + .map = ion_dma_buf_kmap,
>> + .unmap = ion_dma_buf_kunmap,
>> };
>>
>> struct dma_buf *ion_share_dma_buf(struct ion_client *client,
>> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
>> index bfb3704..79f27d6 100644
>> --- a/include/linux/dma-buf.h
>> +++ b/include/linux/dma-buf.h
>> @@ -39,13 +39,13 @@ struct dma_buf_attachment;
>>
>> /**
>> * struct dma_buf_ops - operations possible on struct dma_buf
>> - * @kmap_atomic: maps a page from the buffer into kernel address
>> - * space, users may not block until the subsequent unmap call.
>> - * This callback must not sleep.
>> - * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
>> - * This Callback must not sleep.
>> - * @kmap: maps a page from the buffer into kernel address space.
>> - * @kunmap: [optional] unmaps a page from the buffer.
>> + * @map_atomic: maps a page from the buffer into kernel address
>> + * space, users may not block until the subsequent unmap call.
>> + * This callback must not sleep.
>> + * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
>> + * This Callback must not sleep.
>> + * @map: maps a page from the buffer into kernel address space.
>> + * @unmap: [optional] unmaps a page from the buffer.
>> * @vmap: [optional] creates a virtual mapping for the buffer into kernel
>> * address space. Same restrictions as for vmap and friends apply.
>> * @vunmap: [optional] unmaps a vmap from the buffer
>> @@ -206,10 +206,10 @@ struct dma_buf_ops {
>> * to be restarted.
>> */
>> int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
>> - void *(*kmap_atomic)(struct dma_buf *, unsigned long);
>> - void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
>> - void *(*kmap)(struct dma_buf *, unsigned long);
>> - void (*kunmap)(struct dma_buf *, unsigned long, void *);
>> + void *(*map_atomic)(struct dma_buf *, unsigned long);
>> + void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
>> + void *(*map)(struct dma_buf *, unsigned long);
>> + void (*unmap)(struct dma_buf *, unsigned long, void *);
>>
>> /**
>> * @mmap:
>> --
>> 2.1.4
>> _______________________________________________
>> Intel-gfx mailing list
>> [email protected]
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch



--
Thanks and regards,

Sumit Semwal
Linaro Mobile Group - Kernel Team Lead
Linaro.org │ Open source software for ARM SoCs

2017-04-20 08:06:54

by Marek Szyprowski

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro

Hi All,

On 2017-04-20 09:51, Daniel Vetter wrote:
> On Wed, Apr 19, 2017 at 01:36:10PM -0600, Logan Gunthorpe wrote:
>> Seeing the kunmap_atomic dma_buf_ops share the same name with a macro
>> in highmem.h, the former can be aliased if any dma-buf user includes
>> that header.
>>
>> I'm personally trying to include highmem.h inside scatterlist.h and this
>> breaks the dma-buf code proper.
>>
>> Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.
>>
>> To maintain consistency I've renamed all four of kmap* and kunmap* to be
>> map* and unmap*. (Even though only kmap_atomic presently conflicts.)
>>
>> [1] https://www.spinics.net/lists/target-devel/msg15070.html
>>
>> Signed-off-by: Logan Gunthorpe <[email protected]>
>> Reviewed-by: Sinclair Yeh <[email protected]>
> Acked-by: Daniel Vetter <[email protected]>
>
> Probably simplest if we pull this in through the drm-misc tree for 4.12.
> Can we have an ack for the v4l side for that pls?

For the V4L2/videobuf2:
Acked-by: Marek Szyprowski <[email protected]>


> Thanks, Daniel
>> ---
>>
>> Changes since v1:
>>
>> - Added the missing tegra driver (noticed by kbuild robot)
>> - Rebased off of drm-intel-next to get the i915 selftest that is new
>> - Fixed nits Sinclair pointed out.
>>
>> drivers/dma-buf/dma-buf.c | 16 ++++++++--------
>> drivers/gpu/drm/armada/armada_gem.c | 8 ++++----
>> drivers/gpu/drm/drm_prime.c | 8 ++++----
>> drivers/gpu/drm/i915/i915_gem_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/tegra/gem.c | 8 ++++----
>> drivers/gpu/drm/udl/udl_dmabuf.c | 8 ++++----
>> drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 ++++----
>> drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 ++--
>> drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 ++--
>> drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 ++--
>> drivers/staging/android/ion/ion.c | 8 ++++----
>> include/linux/dma-buf.h | 22 +++++++++++-----------
>> 14 files changed, 61 insertions(+), 61 deletions(-)
>>
>> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
>> index f72aaac..512bdbc 100644
>> --- a/drivers/dma-buf/dma-buf.c
>> +++ b/drivers/dma-buf/dma-buf.c
>> @@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct dma_buf_export_info *exp_info)
>> || !exp_info->ops->map_dma_buf
>> || !exp_info->ops->unmap_dma_buf
>> || !exp_info->ops->release
>> - || !exp_info->ops->kmap_atomic
>> - || !exp_info->ops->kmap
>> + || !exp_info->ops->map_atomic
>> + || !exp_info->ops->map
>> || !exp_info->ops->mmap)) {
>> return ERR_PTR(-EINVAL);
>> }
>> @@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf, unsigned long page_num)
>> {
>> WARN_ON(!dmabuf);
>>
>> - return dmabuf->ops->kmap_atomic(dmabuf, page_num);
>> + return dmabuf->ops->map_atomic(dmabuf, page_num);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
>>
>> @@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf, unsigned long page_num,
>> {
>> WARN_ON(!dmabuf);
>>
>> - if (dmabuf->ops->kunmap_atomic)
>> - dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
>> + if (dmabuf->ops->unmap_atomic)
>> + dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
>>
>> @@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned long page_num)
>> {
>> WARN_ON(!dmabuf);
>>
>> - return dmabuf->ops->kmap(dmabuf, page_num);
>> + return dmabuf->ops->map(dmabuf, page_num);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kmap);
>>
>> @@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned long page_num,
>> {
>> WARN_ON(!dmabuf);
>>
>> - if (dmabuf->ops->kunmap)
>> - dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
>> + if (dmabuf->ops->unmap)
>> + dmabuf->ops->unmap(dmabuf, page_num, vaddr);
>> }
>> EXPORT_SYMBOL_GPL(dma_buf_kunmap);
>>
>> diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
>> index 1597458..d6c2a5d 100644
>> --- a/drivers/gpu/drm/armada/armada_gem.c
>> +++ b/drivers/gpu/drm/armada/armada_gem.c
>> @@ -529,10 +529,10 @@ static const struct dma_buf_ops armada_gem_prime_dmabuf_ops = {
>> .map_dma_buf = armada_gem_prime_map_dma_buf,
>> .unmap_dma_buf = armada_gem_prime_unmap_dma_buf,
>> .release = drm_gem_dmabuf_release,
>> - .kmap_atomic = armada_gem_dmabuf_no_kmap,
>> - .kunmap_atomic = armada_gem_dmabuf_no_kunmap,
>> - .kmap = armada_gem_dmabuf_no_kmap,
>> - .kunmap = armada_gem_dmabuf_no_kunmap,
>> + .map_atomic = armada_gem_dmabuf_no_kmap,
>> + .unmap_atomic = armada_gem_dmabuf_no_kunmap,
>> + .map = armada_gem_dmabuf_no_kmap,
>> + .unmap = armada_gem_dmabuf_no_kunmap,
>> .mmap = armada_gem_dmabuf_mmap,
>> };
>>
>> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
>> index 9fb65b7..954eb84 100644
>> --- a/drivers/gpu/drm/drm_prime.c
>> +++ b/drivers/gpu/drm/drm_prime.c
>> @@ -403,10 +403,10 @@ static const struct dma_buf_ops drm_gem_prime_dmabuf_ops = {
>> .map_dma_buf = drm_gem_map_dma_buf,
>> .unmap_dma_buf = drm_gem_unmap_dma_buf,
>> .release = drm_gem_dmabuf_release,
>> - .kmap = drm_gem_dmabuf_kmap,
>> - .kmap_atomic = drm_gem_dmabuf_kmap_atomic,
>> - .kunmap = drm_gem_dmabuf_kunmap,
>> - .kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>> + .map = drm_gem_dmabuf_kmap,
>> + .map_atomic = drm_gem_dmabuf_kmap_atomic,
>> + .unmap = drm_gem_dmabuf_kunmap,
>> + .unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>> .mmap = drm_gem_dmabuf_mmap,
>> .vmap = drm_gem_dmabuf_vmap,
>> .vunmap = drm_gem_dmabuf_vunmap,
>> diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>> index 11898cd..f225bf6 100644
>> --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>> @@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops = {
>> .map_dma_buf = i915_gem_map_dma_buf,
>> .unmap_dma_buf = i915_gem_unmap_dma_buf,
>> .release = drm_gem_dmabuf_release,
>> - .kmap = i915_gem_dmabuf_kmap,
>> - .kmap_atomic = i915_gem_dmabuf_kmap_atomic,
>> - .kunmap = i915_gem_dmabuf_kunmap,
>> - .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>> + .map = i915_gem_dmabuf_kmap,
>> + .map_atomic = i915_gem_dmabuf_kmap_atomic,
>> + .unmap = i915_gem_dmabuf_kunmap,
>> + .unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>> .mmap = i915_gem_dmabuf_mmap,
>> .vmap = i915_gem_dmabuf_vmap,
>> .vunmap = i915_gem_dmabuf_vunmap,
>> diff --git a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>> index 99da8f4..302f7d1 100644
>> --- a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>> +++ b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>> @@ -129,10 +129,10 @@ static const struct dma_buf_ops mock_dmabuf_ops = {
>> .map_dma_buf = mock_map_dma_buf,
>> .unmap_dma_buf = mock_unmap_dma_buf,
>> .release = mock_dmabuf_release,
>> - .kmap = mock_dmabuf_kmap,
>> - .kmap_atomic = mock_dmabuf_kmap_atomic,
>> - .kunmap = mock_dmabuf_kunmap,
>> - .kunmap_atomic = mock_dmabuf_kunmap_atomic,
>> + .map = mock_dmabuf_kmap,
>> + .map_atomic = mock_dmabuf_kmap_atomic,
>> + .unmap = mock_dmabuf_kunmap,
>> + .unmap_atomic = mock_dmabuf_kunmap_atomic,
>> .mmap = mock_dmabuf_mmap,
>> .vmap = mock_dmabuf_vmap,
>> .vunmap = mock_dmabuf_vunmap,
>> diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>> index ee5883f..0dbe030 100644
>> --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>> @@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
>> .release = omap_gem_dmabuf_release,
>> .begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
>> .end_cpu_access = omap_gem_dmabuf_end_cpu_access,
>> - .kmap_atomic = omap_gem_dmabuf_kmap_atomic,
>> - .kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
>> - .kmap = omap_gem_dmabuf_kmap,
>> - .kunmap = omap_gem_dmabuf_kunmap,
>> + .map_atomic = omap_gem_dmabuf_kmap_atomic,
>> + .unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
>> + .map = omap_gem_dmabuf_kmap,
>> + .unmap = omap_gem_dmabuf_kunmap,
>> .mmap = omap_gem_dmabuf_mmap,
>> };
>>
>> diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
>> index 17e62ec..8672f5d 100644
>> --- a/drivers/gpu/drm/tegra/gem.c
>> +++ b/drivers/gpu/drm/tegra/gem.c
>> @@ -619,10 +619,10 @@ static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = {
>> .map_dma_buf = tegra_gem_prime_map_dma_buf,
>> .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf,
>> .release = tegra_gem_prime_release,
>> - .kmap_atomic = tegra_gem_prime_kmap_atomic,
>> - .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
>> - .kmap = tegra_gem_prime_kmap,
>> - .kunmap = tegra_gem_prime_kunmap,
>> + .map_atomic = tegra_gem_prime_kmap_atomic,
>> + .unmap_atomic = tegra_gem_prime_kunmap_atomic,
>> + .map = tegra_gem_prime_kmap,
>> + .unmap = tegra_gem_prime_kunmap,
>> .mmap = tegra_gem_prime_mmap,
>> .vmap = tegra_gem_prime_vmap,
>> .vunmap = tegra_gem_prime_vunmap,
>> diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
>> index ac90ffd..ed0e636 100644
>> --- a/drivers/gpu/drm/udl/udl_dmabuf.c
>> +++ b/drivers/gpu/drm/udl/udl_dmabuf.c
>> @@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
>> .detach = udl_detach_dma_buf,
>> .map_dma_buf = udl_map_dma_buf,
>> .unmap_dma_buf = udl_unmap_dma_buf,
>> - .kmap = udl_dmabuf_kmap,
>> - .kmap_atomic = udl_dmabuf_kmap_atomic,
>> - .kunmap = udl_dmabuf_kunmap,
>> - .kunmap_atomic = udl_dmabuf_kunmap_atomic,
>> + .map = udl_dmabuf_kmap,
>> + .map_atomic = udl_dmabuf_kmap_atomic,
>> + .unmap = udl_dmabuf_kunmap,
>> + .unmap_atomic = udl_dmabuf_kunmap_atomic,
>> .mmap = udl_dmabuf_mmap,
>> .release = drm_gem_dmabuf_release,
>> };
>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>> index 31fe32d..0d42a46 100644
>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>> @@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops = {
>> .map_dma_buf = vmw_prime_map_dma_buf,
>> .unmap_dma_buf = vmw_prime_unmap_dma_buf,
>> .release = NULL,
>> - .kmap = vmw_prime_dmabuf_kmap,
>> - .kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
>> - .kunmap = vmw_prime_dmabuf_kunmap,
>> - .kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>> + .map = vmw_prime_dmabuf_kmap,
>> + .map_atomic = vmw_prime_dmabuf_kmap_atomic,
>> + .unmap = vmw_prime_dmabuf_kunmap,
>> + .unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>> .mmap = vmw_prime_dmabuf_mmap,
>> .vmap = vmw_prime_dmabuf_vmap,
>> .vunmap = vmw_prime_dmabuf_vunmap,
>> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c
>> index fb6a177..2db0413 100644
>> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
>> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
>> @@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
>> .detach = vb2_dc_dmabuf_ops_detach,
>> .map_dma_buf = vb2_dc_dmabuf_ops_map,
>> .unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
>> - .kmap = vb2_dc_dmabuf_ops_kmap,
>> - .kmap_atomic = vb2_dc_dmabuf_ops_kmap,
>> + .map = vb2_dc_dmabuf_ops_kmap,
>> + .map_atomic = vb2_dc_dmabuf_ops_kmap,
>> .vmap = vb2_dc_dmabuf_ops_vmap,
>> .mmap = vb2_dc_dmabuf_ops_mmap,
>> .release = vb2_dc_dmabuf_ops_release,
>> diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
>> index ecff8f4..6fd1343 100644
>> --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
>> +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
>> @@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
>> .detach = vb2_dma_sg_dmabuf_ops_detach,
>> .map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
>> .unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
>> - .kmap = vb2_dma_sg_dmabuf_ops_kmap,
>> - .kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>> + .map = vb2_dma_sg_dmabuf_ops_kmap,
>> + .map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>> .vmap = vb2_dma_sg_dmabuf_ops_vmap,
>> .mmap = vb2_dma_sg_dmabuf_ops_mmap,
>> .release = vb2_dma_sg_dmabuf_ops_release,
>> diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c b/drivers/media/v4l2-core/videobuf2-vmalloc.c
>> index 3f77814..27d1db3 100644
>> --- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
>> +++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
>> @@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
>> .detach = vb2_vmalloc_dmabuf_ops_detach,
>> .map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
>> .unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
>> - .kmap = vb2_vmalloc_dmabuf_ops_kmap,
>> - .kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>> + .map = vb2_vmalloc_dmabuf_ops_kmap,
>> + .map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>> .vmap = vb2_vmalloc_dmabuf_ops_vmap,
>> .mmap = vb2_vmalloc_dmabuf_ops_mmap,
>> .release = vb2_vmalloc_dmabuf_ops_release,
>> diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
>> index f45115f..95a7f16 100644
>> --- a/drivers/staging/android/ion/ion.c
>> +++ b/drivers/staging/android/ion/ion.c
>> @@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
>> .release = ion_dma_buf_release,
>> .begin_cpu_access = ion_dma_buf_begin_cpu_access,
>> .end_cpu_access = ion_dma_buf_end_cpu_access,
>> - .kmap_atomic = ion_dma_buf_kmap,
>> - .kunmap_atomic = ion_dma_buf_kunmap,
>> - .kmap = ion_dma_buf_kmap,
>> - .kunmap = ion_dma_buf_kunmap,
>> + .map_atomic = ion_dma_buf_kmap,
>> + .unmap_atomic = ion_dma_buf_kunmap,
>> + .map = ion_dma_buf_kmap,
>> + .unmap = ion_dma_buf_kunmap,
>> };
>>
>> struct dma_buf *ion_share_dma_buf(struct ion_client *client,
>> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
>> index bfb3704..79f27d6 100644
>> --- a/include/linux/dma-buf.h
>> +++ b/include/linux/dma-buf.h
>> @@ -39,13 +39,13 @@ struct dma_buf_attachment;
>>
>> /**
>> * struct dma_buf_ops - operations possible on struct dma_buf
>> - * @kmap_atomic: maps a page from the buffer into kernel address
>> - * space, users may not block until the subsequent unmap call.
>> - * This callback must not sleep.
>> - * @kunmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
>> - * This Callback must not sleep.
>> - * @kmap: maps a page from the buffer into kernel address space.
>> - * @kunmap: [optional] unmaps a page from the buffer.
>> + * @map_atomic: maps a page from the buffer into kernel address
>> + * space, users may not block until the subsequent unmap call.
>> + * This callback must not sleep.
>> + * @unmap_atomic: [optional] unmaps a atomically mapped page from the buffer.
>> + * This Callback must not sleep.
>> + * @map: maps a page from the buffer into kernel address space.
>> + * @unmap: [optional] unmaps a page from the buffer.
>> * @vmap: [optional] creates a virtual mapping for the buffer into kernel
>> * address space. Same restrictions as for vmap and friends apply.
>> * @vunmap: [optional] unmaps a vmap from the buffer
>> @@ -206,10 +206,10 @@ struct dma_buf_ops {
>> * to be restarted.
>> */
>> int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
>> - void *(*kmap_atomic)(struct dma_buf *, unsigned long);
>> - void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
>> - void *(*kmap)(struct dma_buf *, unsigned long);
>> - void (*kunmap)(struct dma_buf *, unsigned long, void *);
>> + void *(*map_atomic)(struct dma_buf *, unsigned long);
>> + void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
>> + void *(*map)(struct dma_buf *, unsigned long);
>> + void (*unmap)(struct dma_buf *, unsigned long, void *);
>>
>> /**
>> * @mmap:

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

2017-04-20 08:10:18

by Sumit Semwal

[permalink] [raw]
Subject: Re: [Intel-gfx] [PATCH v2] dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro

Hi Marek,

Thanks!

On 20 April 2017 at 13:36, Marek Szyprowski <[email protected]> wrote:
> Hi All,
>
> On 2017-04-20 09:51, Daniel Vetter wrote:
>>
>> On Wed, Apr 19, 2017 at 01:36:10PM -0600, Logan Gunthorpe wrote:
>>>
>>> Seeing the kunmap_atomic dma_buf_ops share the same name with a macro
>>> in highmem.h, the former can be aliased if any dma-buf user includes
>>> that header.
>>>
>>> I'm personally trying to include highmem.h inside scatterlist.h and this
>>> breaks the dma-buf code proper.
>>>
>>> Christoph Hellwig suggested [1] renaming it and pushing this patch ASAP.
>>>
>>> To maintain consistency I've renamed all four of kmap* and kunmap* to be
>>> map* and unmap*. (Even though only kmap_atomic presently conflicts.)
>>>
>>> [1] https://www.spinics.net/lists/target-devel/msg15070.html
>>>
>>> Signed-off-by: Logan Gunthorpe <[email protected]>
>>> Reviewed-by: Sinclair Yeh <[email protected]>
>>
>> Acked-by: Daniel Vetter <[email protected]>
>>
>> Probably simplest if we pull this in through the drm-misc tree for 4.12.
>> Can we have an ack for the v4l side for that pls?
>
>
> For the V4L2/videobuf2:
> Acked-by: Marek Szyprowski <[email protected]>
>
I will queue it up for drm-misc-fixes so it gets into 4.12.
>
>
>> Thanks, Daniel
Best,
Sumit.

>>>
>>> ---
>>>
>>> Changes since v1:
>>>
>>> - Added the missing tegra driver (noticed by kbuild robot)
>>> - Rebased off of drm-intel-next to get the i915 selftest that is new
>>> - Fixed nits Sinclair pointed out.
>>>
>>> drivers/dma-buf/dma-buf.c | 16 ++++++++--------
>>> drivers/gpu/drm/armada/armada_gem.c | 8 ++++----
>>> drivers/gpu/drm/drm_prime.c | 8 ++++----
>>> drivers/gpu/drm/i915/i915_gem_dmabuf.c | 8 ++++----
>>> drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 8 ++++----
>>> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 8 ++++----
>>> drivers/gpu/drm/tegra/gem.c | 8 ++++----
>>> drivers/gpu/drm/udl/udl_dmabuf.c | 8 ++++----
>>> drivers/gpu/drm/vmwgfx/vmwgfx_prime.c | 8 ++++----
>>> drivers/media/v4l2-core/videobuf2-dma-contig.c | 4 ++--
>>> drivers/media/v4l2-core/videobuf2-dma-sg.c | 4 ++--
>>> drivers/media/v4l2-core/videobuf2-vmalloc.c | 4 ++--
>>> drivers/staging/android/ion/ion.c | 8 ++++----
>>> include/linux/dma-buf.h | 22
>>> +++++++++++-----------
>>> 14 files changed, 61 insertions(+), 61 deletions(-)
>>>
>>> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
>>> index f72aaac..512bdbc 100644
>>> --- a/drivers/dma-buf/dma-buf.c
>>> +++ b/drivers/dma-buf/dma-buf.c
>>> @@ -405,8 +405,8 @@ struct dma_buf *dma_buf_export(const struct
>>> dma_buf_export_info *exp_info)
>>> || !exp_info->ops->map_dma_buf
>>> || !exp_info->ops->unmap_dma_buf
>>> || !exp_info->ops->release
>>> - || !exp_info->ops->kmap_atomic
>>> - || !exp_info->ops->kmap
>>> + || !exp_info->ops->map_atomic
>>> + || !exp_info->ops->map
>>> || !exp_info->ops->mmap)) {
>>> return ERR_PTR(-EINVAL);
>>> }
>>> @@ -872,7 +872,7 @@ void *dma_buf_kmap_atomic(struct dma_buf *dmabuf,
>>> unsigned long page_num)
>>> {
>>> WARN_ON(!dmabuf);
>>>
>>> - return dmabuf->ops->kmap_atomic(dmabuf, page_num);
>>> + return dmabuf->ops->map_atomic(dmabuf, page_num);
>>> }
>>> EXPORT_SYMBOL_GPL(dma_buf_kmap_atomic);
>>>
>>> @@ -889,8 +889,8 @@ void dma_buf_kunmap_atomic(struct dma_buf *dmabuf,
>>> unsigned long page_num,
>>> {
>>> WARN_ON(!dmabuf);
>>>
>>> - if (dmabuf->ops->kunmap_atomic)
>>> - dmabuf->ops->kunmap_atomic(dmabuf, page_num, vaddr);
>>> + if (dmabuf->ops->unmap_atomic)
>>> + dmabuf->ops->unmap_atomic(dmabuf, page_num, vaddr);
>>> }
>>> EXPORT_SYMBOL_GPL(dma_buf_kunmap_atomic);
>>>
>>> @@ -907,7 +907,7 @@ void *dma_buf_kmap(struct dma_buf *dmabuf, unsigned
>>> long page_num)
>>> {
>>> WARN_ON(!dmabuf);
>>>
>>> - return dmabuf->ops->kmap(dmabuf, page_num);
>>> + return dmabuf->ops->map(dmabuf, page_num);
>>> }
>>> EXPORT_SYMBOL_GPL(dma_buf_kmap);
>>>
>>> @@ -924,8 +924,8 @@ void dma_buf_kunmap(struct dma_buf *dmabuf, unsigned
>>> long page_num,
>>> {
>>> WARN_ON(!dmabuf);
>>>
>>> - if (dmabuf->ops->kunmap)
>>> - dmabuf->ops->kunmap(dmabuf, page_num, vaddr);
>>> + if (dmabuf->ops->unmap)
>>> + dmabuf->ops->unmap(dmabuf, page_num, vaddr);
>>> }
>>> EXPORT_SYMBOL_GPL(dma_buf_kunmap);
>>>
>>> diff --git a/drivers/gpu/drm/armada/armada_gem.c
>>> b/drivers/gpu/drm/armada/armada_gem.c
>>> index 1597458..d6c2a5d 100644
>>> --- a/drivers/gpu/drm/armada/armada_gem.c
>>> +++ b/drivers/gpu/drm/armada/armada_gem.c
>>> @@ -529,10 +529,10 @@ static const struct dma_buf_ops
>>> armada_gem_prime_dmabuf_ops = {
>>> .map_dma_buf = armada_gem_prime_map_dma_buf,
>>> .unmap_dma_buf = armada_gem_prime_unmap_dma_buf,
>>> .release = drm_gem_dmabuf_release,
>>> - .kmap_atomic = armada_gem_dmabuf_no_kmap,
>>> - .kunmap_atomic = armada_gem_dmabuf_no_kunmap,
>>> - .kmap = armada_gem_dmabuf_no_kmap,
>>> - .kunmap = armada_gem_dmabuf_no_kunmap,
>>> + .map_atomic = armada_gem_dmabuf_no_kmap,
>>> + .unmap_atomic = armada_gem_dmabuf_no_kunmap,
>>> + .map = armada_gem_dmabuf_no_kmap,
>>> + .unmap = armada_gem_dmabuf_no_kunmap,
>>> .mmap = armada_gem_dmabuf_mmap,
>>> };
>>>
>>> diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
>>> index 9fb65b7..954eb84 100644
>>> --- a/drivers/gpu/drm/drm_prime.c
>>> +++ b/drivers/gpu/drm/drm_prime.c
>>> @@ -403,10 +403,10 @@ static const struct dma_buf_ops
>>> drm_gem_prime_dmabuf_ops = {
>>> .map_dma_buf = drm_gem_map_dma_buf,
>>> .unmap_dma_buf = drm_gem_unmap_dma_buf,
>>> .release = drm_gem_dmabuf_release,
>>> - .kmap = drm_gem_dmabuf_kmap,
>>> - .kmap_atomic = drm_gem_dmabuf_kmap_atomic,
>>> - .kunmap = drm_gem_dmabuf_kunmap,
>>> - .kunmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>>> + .map = drm_gem_dmabuf_kmap,
>>> + .map_atomic = drm_gem_dmabuf_kmap_atomic,
>>> + .unmap = drm_gem_dmabuf_kunmap,
>>> + .unmap_atomic = drm_gem_dmabuf_kunmap_atomic,
>>> .mmap = drm_gem_dmabuf_mmap,
>>> .vmap = drm_gem_dmabuf_vmap,
>>> .vunmap = drm_gem_dmabuf_vunmap,
>>> diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>>> b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>>> index 11898cd..f225bf6 100644
>>> --- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>>> +++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
>>> @@ -200,10 +200,10 @@ static const struct dma_buf_ops i915_dmabuf_ops =
>>> {
>>> .map_dma_buf = i915_gem_map_dma_buf,
>>> .unmap_dma_buf = i915_gem_unmap_dma_buf,
>>> .release = drm_gem_dmabuf_release,
>>> - .kmap = i915_gem_dmabuf_kmap,
>>> - .kmap_atomic = i915_gem_dmabuf_kmap_atomic,
>>> - .kunmap = i915_gem_dmabuf_kunmap,
>>> - .kunmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>>> + .map = i915_gem_dmabuf_kmap,
>>> + .map_atomic = i915_gem_dmabuf_kmap_atomic,
>>> + .unmap = i915_gem_dmabuf_kunmap,
>>> + .unmap_atomic = i915_gem_dmabuf_kunmap_atomic,
>>> .mmap = i915_gem_dmabuf_mmap,
>>> .vmap = i915_gem_dmabuf_vmap,
>>> .vunmap = i915_gem_dmabuf_vunmap,
>>> diff --git a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>>> b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>>> index 99da8f4..302f7d1 100644
>>> --- a/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>>> +++ b/drivers/gpu/drm/i915/selftests/mock_dmabuf.c
>>> @@ -129,10 +129,10 @@ static const struct dma_buf_ops mock_dmabuf_ops =
>>> {
>>> .map_dma_buf = mock_map_dma_buf,
>>> .unmap_dma_buf = mock_unmap_dma_buf,
>>> .release = mock_dmabuf_release,
>>> - .kmap = mock_dmabuf_kmap,
>>> - .kmap_atomic = mock_dmabuf_kmap_atomic,
>>> - .kunmap = mock_dmabuf_kunmap,
>>> - .kunmap_atomic = mock_dmabuf_kunmap_atomic,
>>> + .map = mock_dmabuf_kmap,
>>> + .map_atomic = mock_dmabuf_kmap_atomic,
>>> + .unmap = mock_dmabuf_kunmap,
>>> + .unmap_atomic = mock_dmabuf_kunmap_atomic,
>>> .mmap = mock_dmabuf_mmap,
>>> .vmap = mock_dmabuf_vmap,
>>> .vunmap = mock_dmabuf_vunmap,
>>> diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>>> b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>>> index ee5883f..0dbe030 100644
>>> --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>>> +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
>>> @@ -160,10 +160,10 @@ static struct dma_buf_ops omap_dmabuf_ops = {
>>> .release = omap_gem_dmabuf_release,
>>> .begin_cpu_access = omap_gem_dmabuf_begin_cpu_access,
>>> .end_cpu_access = omap_gem_dmabuf_end_cpu_access,
>>> - .kmap_atomic = omap_gem_dmabuf_kmap_atomic,
>>> - .kunmap_atomic = omap_gem_dmabuf_kunmap_atomic,
>>> - .kmap = omap_gem_dmabuf_kmap,
>>> - .kunmap = omap_gem_dmabuf_kunmap,
>>> + .map_atomic = omap_gem_dmabuf_kmap_atomic,
>>> + .unmap_atomic = omap_gem_dmabuf_kunmap_atomic,
>>> + .map = omap_gem_dmabuf_kmap,
>>> + .unmap = omap_gem_dmabuf_kunmap,
>>> .mmap = omap_gem_dmabuf_mmap,
>>> };
>>>
>>> diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
>>> index 17e62ec..8672f5d 100644
>>> --- a/drivers/gpu/drm/tegra/gem.c
>>> +++ b/drivers/gpu/drm/tegra/gem.c
>>> @@ -619,10 +619,10 @@ static const struct dma_buf_ops
>>> tegra_gem_prime_dmabuf_ops = {
>>> .map_dma_buf = tegra_gem_prime_map_dma_buf,
>>> .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf,
>>> .release = tegra_gem_prime_release,
>>> - .kmap_atomic = tegra_gem_prime_kmap_atomic,
>>> - .kunmap_atomic = tegra_gem_prime_kunmap_atomic,
>>> - .kmap = tegra_gem_prime_kmap,
>>> - .kunmap = tegra_gem_prime_kunmap,
>>> + .map_atomic = tegra_gem_prime_kmap_atomic,
>>> + .unmap_atomic = tegra_gem_prime_kunmap_atomic,
>>> + .map = tegra_gem_prime_kmap,
>>> + .unmap = tegra_gem_prime_kunmap,
>>> .mmap = tegra_gem_prime_mmap,
>>> .vmap = tegra_gem_prime_vmap,
>>> .vunmap = tegra_gem_prime_vunmap,
>>> diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c
>>> b/drivers/gpu/drm/udl/udl_dmabuf.c
>>> index ac90ffd..ed0e636 100644
>>> --- a/drivers/gpu/drm/udl/udl_dmabuf.c
>>> +++ b/drivers/gpu/drm/udl/udl_dmabuf.c
>>> @@ -191,10 +191,10 @@ static struct dma_buf_ops udl_dmabuf_ops = {
>>> .detach = udl_detach_dma_buf,
>>> .map_dma_buf = udl_map_dma_buf,
>>> .unmap_dma_buf = udl_unmap_dma_buf,
>>> - .kmap = udl_dmabuf_kmap,
>>> - .kmap_atomic = udl_dmabuf_kmap_atomic,
>>> - .kunmap = udl_dmabuf_kunmap,
>>> - .kunmap_atomic = udl_dmabuf_kunmap_atomic,
>>> + .map = udl_dmabuf_kmap,
>>> + .map_atomic = udl_dmabuf_kmap_atomic,
>>> + .unmap = udl_dmabuf_kunmap,
>>> + .unmap_atomic = udl_dmabuf_kunmap_atomic,
>>> .mmap = udl_dmabuf_mmap,
>>> .release = drm_gem_dmabuf_release,
>>> };
>>> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>>> b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>>> index 31fe32d..0d42a46 100644
>>> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>>> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_prime.c
>>> @@ -108,10 +108,10 @@ const struct dma_buf_ops vmw_prime_dmabuf_ops = {
>>> .map_dma_buf = vmw_prime_map_dma_buf,
>>> .unmap_dma_buf = vmw_prime_unmap_dma_buf,
>>> .release = NULL,
>>> - .kmap = vmw_prime_dmabuf_kmap,
>>> - .kmap_atomic = vmw_prime_dmabuf_kmap_atomic,
>>> - .kunmap = vmw_prime_dmabuf_kunmap,
>>> - .kunmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>>> + .map = vmw_prime_dmabuf_kmap,
>>> + .map_atomic = vmw_prime_dmabuf_kmap_atomic,
>>> + .unmap = vmw_prime_dmabuf_kunmap,
>>> + .unmap_atomic = vmw_prime_dmabuf_kunmap_atomic,
>>> .mmap = vmw_prime_dmabuf_mmap,
>>> .vmap = vmw_prime_dmabuf_vmap,
>>> .vunmap = vmw_prime_dmabuf_vunmap,
>>> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c
>>> b/drivers/media/v4l2-core/videobuf2-dma-contig.c
>>> index fb6a177..2db0413 100644
>>> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
>>> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
>>> @@ -356,8 +356,8 @@ static struct dma_buf_ops vb2_dc_dmabuf_ops = {
>>> .detach = vb2_dc_dmabuf_ops_detach,
>>> .map_dma_buf = vb2_dc_dmabuf_ops_map,
>>> .unmap_dma_buf = vb2_dc_dmabuf_ops_unmap,
>>> - .kmap = vb2_dc_dmabuf_ops_kmap,
>>> - .kmap_atomic = vb2_dc_dmabuf_ops_kmap,
>>> + .map = vb2_dc_dmabuf_ops_kmap,
>>> + .map_atomic = vb2_dc_dmabuf_ops_kmap,
>>> .vmap = vb2_dc_dmabuf_ops_vmap,
>>> .mmap = vb2_dc_dmabuf_ops_mmap,
>>> .release = vb2_dc_dmabuf_ops_release,
>>> diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c
>>> b/drivers/media/v4l2-core/videobuf2-dma-sg.c
>>> index ecff8f4..6fd1343 100644
>>> --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
>>> +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
>>> @@ -504,8 +504,8 @@ static struct dma_buf_ops vb2_dma_sg_dmabuf_ops = {
>>> .detach = vb2_dma_sg_dmabuf_ops_detach,
>>> .map_dma_buf = vb2_dma_sg_dmabuf_ops_map,
>>> .unmap_dma_buf = vb2_dma_sg_dmabuf_ops_unmap,
>>> - .kmap = vb2_dma_sg_dmabuf_ops_kmap,
>>> - .kmap_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>>> + .map = vb2_dma_sg_dmabuf_ops_kmap,
>>> + .map_atomic = vb2_dma_sg_dmabuf_ops_kmap,
>>> .vmap = vb2_dma_sg_dmabuf_ops_vmap,
>>> .mmap = vb2_dma_sg_dmabuf_ops_mmap,
>>> .release = vb2_dma_sg_dmabuf_ops_release,
>>> diff --git a/drivers/media/v4l2-core/videobuf2-vmalloc.c
>>> b/drivers/media/v4l2-core/videobuf2-vmalloc.c
>>> index 3f77814..27d1db3 100644
>>> --- a/drivers/media/v4l2-core/videobuf2-vmalloc.c
>>> +++ b/drivers/media/v4l2-core/videobuf2-vmalloc.c
>>> @@ -342,8 +342,8 @@ static struct dma_buf_ops vb2_vmalloc_dmabuf_ops = {
>>> .detach = vb2_vmalloc_dmabuf_ops_detach,
>>> .map_dma_buf = vb2_vmalloc_dmabuf_ops_map,
>>> .unmap_dma_buf = vb2_vmalloc_dmabuf_ops_unmap,
>>> - .kmap = vb2_vmalloc_dmabuf_ops_kmap,
>>> - .kmap_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>>> + .map = vb2_vmalloc_dmabuf_ops_kmap,
>>> + .map_atomic = vb2_vmalloc_dmabuf_ops_kmap,
>>> .vmap = vb2_vmalloc_dmabuf_ops_vmap,
>>> .mmap = vb2_vmalloc_dmabuf_ops_mmap,
>>> .release = vb2_vmalloc_dmabuf_ops_release,
>>> diff --git a/drivers/staging/android/ion/ion.c
>>> b/drivers/staging/android/ion/ion.c
>>> index f45115f..95a7f16 100644
>>> --- a/drivers/staging/android/ion/ion.c
>>> +++ b/drivers/staging/android/ion/ion.c
>>> @@ -1020,10 +1020,10 @@ static const struct dma_buf_ops dma_buf_ops = {
>>> .release = ion_dma_buf_release,
>>> .begin_cpu_access = ion_dma_buf_begin_cpu_access,
>>> .end_cpu_access = ion_dma_buf_end_cpu_access,
>>> - .kmap_atomic = ion_dma_buf_kmap,
>>> - .kunmap_atomic = ion_dma_buf_kunmap,
>>> - .kmap = ion_dma_buf_kmap,
>>> - .kunmap = ion_dma_buf_kunmap,
>>> + .map_atomic = ion_dma_buf_kmap,
>>> + .unmap_atomic = ion_dma_buf_kunmap,
>>> + .map = ion_dma_buf_kmap,
>>> + .unmap = ion_dma_buf_kunmap,
>>> };
>>>
>>> struct dma_buf *ion_share_dma_buf(struct ion_client *client,
>>> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
>>> index bfb3704..79f27d6 100644
>>> --- a/include/linux/dma-buf.h
>>> +++ b/include/linux/dma-buf.h
>>> @@ -39,13 +39,13 @@ struct dma_buf_attachment;
>>>
>>> /**
>>> * struct dma_buf_ops - operations possible on struct dma_buf
>>> - * @kmap_atomic: maps a page from the buffer into kernel address
>>> - * space, users may not block until the subsequent unmap
>>> call.
>>> - * This callback must not sleep.
>>> - * @kunmap_atomic: [optional] unmaps a atomically mapped page from the
>>> buffer.
>>> - * This Callback must not sleep.
>>> - * @kmap: maps a page from the buffer into kernel address space.
>>> - * @kunmap: [optional] unmaps a page from the buffer.
>>> + * @map_atomic: maps a page from the buffer into kernel address
>>> + * space, users may not block until the subsequent unmap
>>> call.
>>> + * This callback must not sleep.
>>> + * @unmap_atomic: [optional] unmaps a atomically mapped page from the
>>> buffer.
>>> + * This Callback must not sleep.
>>> + * @map: maps a page from the buffer into kernel address space.
>>> + * @unmap: [optional] unmaps a page from the buffer.
>>> * @vmap: [optional] creates a virtual mapping for the buffer into
>>> kernel
>>> * address space. Same restrictions as for vmap and friends apply.
>>> * @vunmap: [optional] unmaps a vmap from the buffer
>>> @@ -206,10 +206,10 @@ struct dma_buf_ops {
>>> * to be restarted.
>>> */
>>> int (*end_cpu_access)(struct dma_buf *, enum dma_data_direction);
>>> - void *(*kmap_atomic)(struct dma_buf *, unsigned long);
>>> - void (*kunmap_atomic)(struct dma_buf *, unsigned long, void *);
>>> - void *(*kmap)(struct dma_buf *, unsigned long);
>>> - void (*kunmap)(struct dma_buf *, unsigned long, void *);
>>> + void *(*map_atomic)(struct dma_buf *, unsigned long);
>>> + void (*unmap_atomic)(struct dma_buf *, unsigned long, void *);
>>> + void *(*map)(struct dma_buf *, unsigned long);
>>> + void (*unmap)(struct dma_buf *, unsigned long, void *);
>>>
>>> /**
>>> * @mmap:
>
>
> Best regards
> --
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
>



--
Thanks and regards,

Sumit Semwal
Linaro Mobile Group - Kernel Team Lead
Linaro.org │ Open source software for ARM SoCs