linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org
Cc: Jonathan Corbet <corbet@lwn.net>,
	airlied@linux.ie, daniel.vetter@ffwll.ch,
	linux-doc@vger.kernel.org, christian.koenig@amd.com,
	srinivas.kandagatla@linaro.org, tzimmermann@suse.de,
	gregkh@linuxfoundation.org, nouveau@lists.freedesktop.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v3] dma-buf-map: Rename to iosys-map
Date: Thu, 3 Feb 2022 01:15:04 -0800	[thread overview]
Message-ID: <20220203091504.arlmfmwdaluts3ml@ldmartin-desk2> (raw)
In-Reply-To: <20220203085614.3896538-1-lucas.demarchi@intel.com>

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@intel.com>
>Acked-by: Christian König <christian.koenig@amd.com>
>Acked-by: Sumit Semwal <sumit.semwal@linaro.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
> -------------------

  reply	other threads:[~2022-02-03  9:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-03  8:56 [PATCH v3] dma-buf-map: Rename to iosys-map Lucas De Marchi
2022-02-03  9:15 ` Lucas De Marchi [this message]
2022-02-03  9:29 ` Thomas Zimmermann
2022-02-03 11:06   ` Christian König
2022-02-08 13:11 ` Daniel Vetter

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=20220203091504.arlmfmwdaluts3ml@ldmartin-desk2 \
    --to=lucas.demarchi@intel.com \
    --cc=airlied@linux.ie \
    --cc=christian.koenig@amd.com \
    --cc=corbet@lwn.net \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=nouveau@lists.freedesktop.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).