[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220203091504.arlmfmwdaluts3ml@ldmartin-desk2>
Date: Thu, 3 Feb 2022 01:15:04 -0800
From: Lucas De Marchi <lucas.demarchi@...el.com>
To: linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
intel-gfx@...ts.freedesktop.org
Cc: Jonathan Corbet <corbet@....net>, airlied@...ux.ie,
daniel.vetter@...ll.ch, linux-doc@...r.kernel.org,
christian.koenig@....com, srinivas.kandagatla@...aro.org,
tzimmermann@...e.de, gregkh@...uxfoundation.org,
nouveau@...ts.freedesktop.org, linux-media@...r.kernel.org
Subject: Re: [PATCH v3] dma-buf-map: Rename to iosys-map
On Thu, Feb 03, 2022 at 12:56:14AM -0800, Lucas De Marchi wrote:
>Rename struct dma_buf_map to struct iosys_map and corresponding APIs.
>Over time dma-buf-map grew up to more functionality than the one used by
>dma-buf: in fact it's just a shim layer to abstract system memory, that
>can be accessed via regular load and store, from IO memory that needs to
>be acessed via arch helpers.
>
>The idea is to extend this API so it can fulfill other needs, internal
>to a single driver. Example: in the i915 driver it's desired to share
>the implementation for integrated graphics, which uses mostly system
>memory, with discrete graphics, which may need to access IO memory.
>
>The conversion was mostly done with the following semantic patch:
>
> @r1@
> @@
> - struct dma_buf_map
> + struct iosys_map
>
> @r2@
> @@
> (
> - DMA_BUF_MAP_INIT_VADDR
> + IOSYS_MAP_INIT_VADDR
> |
> - dma_buf_map_set_vaddr
> + iosys_map_set_vaddr
> |
> - dma_buf_map_set_vaddr_iomem
> + iosys_map_set_vaddr_iomem
> |
> - dma_buf_map_is_equal
> + iosys_map_is_equal
> |
> - dma_buf_map_is_null
> + iosys_map_is_null
> |
> - dma_buf_map_is_set
> + iosys_map_is_set
> |
> - dma_buf_map_clear
> + iosys_map_clear
> |
> - dma_buf_map_memcpy_to
> + iosys_map_memcpy_to
> |
> - dma_buf_map_incr
> + iosys_map_incr
> )
>
> @@
> @@
> - #include <linux/dma-buf-map.h>
> + #include <linux/iosys-map.h>
>
>Then some files had their includes adjusted and some comments were update to
>remove mentions to dma-buf-map.
>
>Since this is not specific to dma-buf anymore, move the documentation to
>the "Bus-Independent Device Accesses" section.
>
>v2:
> - Squash patches
>
>v3:
> - Fix wrong removal of dma-buf.h from MAINTAINERS
> - Move documentation from dma-buf.rst to device-io.rst
>
>Signed-off-by: Lucas De Marchi <lucas.demarchi@...el.com>
>Acked-by: Christian König <christian.koenig@....com>
>Acked-by: Sumit Semwal <sumit.semwal@...aro.org>
>---
> Documentation/driver-api/device-io.rst | 9 +
> Documentation/driver-api/dma-buf.rst | 9 -
> Documentation/gpu/todo.rst | 20 +-
> MAINTAINERS | 9 +-
> drivers/dma-buf/dma-buf.c | 22 +-
> drivers/dma-buf/heaps/cma_heap.c | 10 +-
> drivers/dma-buf/heaps/system_heap.c | 10 +-
> drivers/gpu/drm/ast/ast_drv.h | 2 +-
> drivers/gpu/drm/ast/ast_mode.c | 8 +-
> drivers/gpu/drm/drm_cache.c | 18 +-
> drivers/gpu/drm/drm_client.c | 9 +-
> drivers/gpu/drm/drm_fb_helper.c | 12 +-
> drivers/gpu/drm/drm_gem.c | 12 +-
> drivers/gpu/drm/drm_gem_cma_helper.c | 9 +-
> drivers/gpu/drm/drm_gem_framebuffer_helper.c | 16 +-
> drivers/gpu/drm/drm_gem_shmem_helper.c | 15 +-
> drivers/gpu/drm/drm_gem_ttm_helper.c | 4 +-
> drivers/gpu/drm/drm_gem_vram_helper.c | 25 +-
> drivers/gpu/drm/drm_internal.h | 6 +-
> drivers/gpu/drm/drm_mipi_dbi.c | 8 +-
> drivers/gpu/drm/drm_prime.c | 4 +-
> drivers/gpu/drm/etnaviv/etnaviv_drv.h | 2 +-
> drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c | 8 +-
> drivers/gpu/drm/gud/gud_pipe.c | 4 +-
> drivers/gpu/drm/hyperv/hyperv_drm_modeset.c | 5 +-
> drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 8 +-
> .../drm/i915/gem/selftests/i915_gem_dmabuf.c | 6 +-
> .../gpu/drm/i915/gem/selftests/mock_dmabuf.c | 6 +-
> drivers/gpu/drm/lima/lima_gem.c | 3 +-
> drivers/gpu/drm/lima/lima_sched.c | 4 +-
> drivers/gpu/drm/mediatek/mtk_drm_gem.c | 7 +-
> drivers/gpu/drm/mediatek/mtk_drm_gem.h | 5 +-
> drivers/gpu/drm/mgag200/mgag200_mode.c | 4 +-
> drivers/gpu/drm/msm/msm_drv.h | 4 +-
> drivers/gpu/drm/msm/msm_gem_prime.c | 6 +-
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 13 +-
> drivers/gpu/drm/qxl/qxl_display.c | 8 +-
> drivers/gpu/drm/qxl/qxl_draw.c | 6 +-
> drivers/gpu/drm/qxl/qxl_drv.h | 10 +-
> drivers/gpu/drm/qxl/qxl_object.c | 8 +-
> drivers/gpu/drm/qxl/qxl_object.h | 4 +-
> drivers/gpu/drm/qxl/qxl_prime.c | 4 +-
> drivers/gpu/drm/radeon/radeon_gem.c | 1 +
> drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 9 +-
> drivers/gpu/drm/rockchip/rockchip_drm_gem.h | 5 +-
> drivers/gpu/drm/tegra/gem.c | 10 +-
> drivers/gpu/drm/tiny/cirrus.c | 8 +-
> drivers/gpu/drm/tiny/gm12u320.c | 7 +-
> drivers/gpu/drm/ttm/ttm_bo_util.c | 16 +-
> drivers/gpu/drm/ttm/ttm_resource.c | 26 +-
> drivers/gpu/drm/ttm/ttm_tt.c | 6 +-
> drivers/gpu/drm/udl/udl_modeset.c | 3 +-
> drivers/gpu/drm/vboxvideo/vbox_mode.c | 4 +-
> drivers/gpu/drm/vkms/vkms_composer.c | 4 +-
> drivers/gpu/drm/vkms/vkms_drv.h | 6 +-
> drivers/gpu/drm/vkms/vkms_plane.c | 2 +-
> drivers/gpu/drm/vkms/vkms_writeback.c | 2 +-
> drivers/gpu/drm/xen/xen_drm_front_gem.c | 7 +-
> drivers/gpu/drm/xen/xen_drm_front_gem.h | 6 +-
> .../common/videobuf2/videobuf2-dma-contig.c | 8 +-
> .../media/common/videobuf2/videobuf2-dma-sg.c | 9 +-
> .../common/videobuf2/videobuf2-vmalloc.c | 11 +-
> drivers/misc/fastrpc.c | 4 +-
> include/drm/drm_cache.h | 6 +-
> include/drm/drm_client.h | 7 +-
> include/drm/drm_gem.h | 6 +-
> include/drm/drm_gem_atomic_helper.h | 6 +-
> include/drm/drm_gem_cma_helper.h | 6 +-
> include/drm/drm_gem_framebuffer_helper.h | 8 +-
> include/drm/drm_gem_shmem_helper.h | 12 +-
> include/drm/drm_gem_ttm_helper.h | 6 +-
> include/drm/drm_gem_vram_helper.h | 9 +-
> include/drm/drm_prime.h | 6 +-
> include/drm/ttm/ttm_bo_api.h | 10 +-
> include/drm/ttm/ttm_kmap_iter.h | 10 +-
> include/drm/ttm/ttm_resource.h | 6 +-
> include/linux/dma-buf-map.h | 266 ------------------
> include/linux/dma-buf.h | 12 +-
> include/linux/iosys-map.h | 257 +++++++++++++++++
> 79 files changed, 590 insertions(+), 559 deletions(-)
> delete mode 100644 include/linux/dma-buf-map.h
> create mode 100644 include/linux/iosys-map.h
>
>diff --git a/Documentation/driver-api/device-io.rst b/Documentation/driver-api/device-io.rst
>index e9f04b1815d1..f9dede8639c7 100644
>--- a/Documentation/driver-api/device-io.rst
>+++ b/Documentation/driver-api/device-io.rst
>@@ -502,6 +502,15 @@ pcim_iomap()
> Not using these wrappers may make drivers unusable on certain platforms with
> stricter rules for mapping I/O memory.
>
>+System/IO memory abstraction
>+----------------------------
Looking at it again, this would render slightly better at the same level
as others, with "====="
Lucas De Marchi
>+
>+.. kernel-doc:: include/linux/iosys-map.h
>+ :doc: overview
>+
>+.. kernel-doc:: include/linux/iosys-map.h
>+ :internal:
>+
> Public Functions Provided
> =========================
>
>diff --git a/Documentation/driver-api/dma-buf.rst b/Documentation/driver-api/dma-buf.rst
>index 2cd7db82d9fe..55006678394a 100644
>--- a/Documentation/driver-api/dma-buf.rst
>+++ b/Documentation/driver-api/dma-buf.rst
>@@ -128,15 +128,6 @@ Kernel Functions and Structures Reference
> .. kernel-doc:: include/linux/dma-buf.h
> :internal:
>
>-Buffer Mapping Helpers
>-~~~~~~~~~~~~~~~~~~~~~~
>-
>-.. kernel-doc:: include/linux/dma-buf-map.h
>- :doc: overview
>-
>-.. kernel-doc:: include/linux/dma-buf-map.h
>- :internal:
>-
> Reservation Objects
> -------------------
Powered by blists - more mailing lists