Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2707430pxb; Thu, 3 Feb 2022 12:24:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJzKKerQBECFadPruo4q9OqZ35oyP4O+g8mHazrh31qQWDxPnl8cDu5GVsp1oaCikhLAnvBh X-Received: by 2002:a17:90b:1c8d:: with SMTP id oo13mr94195pjb.201.1643919872098; Thu, 03 Feb 2022 12:24:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643919872; cv=none; d=google.com; s=arc-20160816; b=o6o3RPOTuF6l65HqHABlA8jB3X58hJrOWWKaL2YeItgg4Dgl2/zo1aUomiXzjSBVOH Xnvo02/a1I8irDGHkxEwnm87ZezYkdvnNktQEXsbqV6DZ6GTV5a2+OnD4z702SgPk236 9ozyX1NESRr7OUxxAA7nFw2XmlQ0P9drvvtTlgER6zxyj0BdCRbNaff1XfutRNumXgR4 wnKPTXhYhvIUq7FhvnIpL5TvlRtca7F9036WolwFhXwO92YjD8DuLK7nXVWoBYF+BxGx NqO3s+3btOXdTipl8m7SMWnCk+TJPx4NO5AcA81Dyzy9G/BXhb1904xNugVZ9xbkfEG1 7GyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=uV712XuZ1U8eH1plXMPTym3lDw4N3rxJbp7q/pGbHLc=; b=vXzYzpiFKT83HEHgSeue0aebXCYKuUck/PbXbnPQikLBnbz5kD/kKZRUqsTvWJ/fpo pNEWR7JvLyF3l/vIS4Iu/Wedacv31fMmBVFHGK0qUnNz2itq2jXSPNGTTn+DG8IdEdfD r80THHOFnppewit2R/ImlpfZcczgAZG9xeAllQFp9TzyuxrBMK8ok9/kYaP08u/uN8a7 yGkRdy4wRilSYuFS7gALuO/G/dhdO1iG+dP1bafN2jPgfp7D3qb9/jZJ4Z4ZJ0QQ3jY5 uZFB6y0eIpTgkU960qd/I61w+Am2BTQygfikRbGxgA+ZBgTOs+DLX8roNeTQUjt8DXFk HSAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UDIDUpBv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k6si19809414pfu.242.2022.02.03.12.24.21; Thu, 03 Feb 2022 12:24:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UDIDUpBv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235619AbiBCJPH (ORCPT + 99 others); Thu, 3 Feb 2022 04:15:07 -0500 Received: from mga05.intel.com ([192.55.52.43]:30672 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230504AbiBCJPG (ORCPT ); Thu, 3 Feb 2022 04:15:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643879706; x=1675415706; h=date:from:to:cc:subject:message-id:references: mime-version:content-transfer-encoding:in-reply-to; bh=USduWklxZs7IRiW0gmkJ/DmHB0rsBVVMRvWK008NdMo=; b=UDIDUpBvNa93fd5kTPC5lEkJ4EEibJ/39YcMWJvI5hvUqRi6ypXBjNkd +hwK5+3R9C+KmXNyhEGr/dJYsBj/PCi4HLUEjsR51Ik6dBgg8ETXGure6 xl9M+MqpEmOp2rydzwQ+zxl9DVLlwUlYFcKGF1FCEYYCYMsC4udYL/d6k 0bJ6XFdvL/lZow7pGLkux7aHE/UThlcGvLi59G1pWwr6ejYKu8xHkOqQV 9Q61IBc9YkhVLL/KxBlEcc2tfbMV9KSTek2ZPmJPszTA2i02RzP335TzY hJ7mazDwENUGybaUlTRFbsARBVfHuBBIQHYlaqu1tZ1zWoF8eywUYNP2m g==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="334464400" X-IronPort-AV: E=Sophos;i="5.88,339,1635231600"; d="scan'208";a="334464400" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2022 01:15:05 -0800 X-IronPort-AV: E=Sophos;i="5.88,339,1635231600"; d="scan'208";a="523832099" Received: from ekabir-mobl.amr.corp.intel.com (HELO ldmartin-desk2) ([10.212.144.43]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2022 01:15:05 -0800 Date: Thu, 3 Feb 2022 01:15:04 -0800 From: Lucas De Marchi To: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Jonathan Corbet , 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 Message-ID: <20220203091504.arlmfmwdaluts3ml@ldmartin-desk2> X-Patchwork-Hint: comment References: <20220203085614.3896538-1-lucas.demarchi@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220203085614.3896538-1-lucas.demarchi@intel.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > + #include > >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 >Acked-by: Christian K?nig >Acked-by: Sumit Semwal >--- > 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 > -------------------