Hi Am 01.02.22 um 08:46 schrieb Christian König: [..] >> 2) If renaming, would it still keep the same entry in >> MAINTAINERS? Thomas suggested drivers core, but this all seem to be used >> mainly on drm/, with just one exception. > > I would just add a complete new entry for this and use Thomas as > maintainer (with his permission of course) and dri as mailing list. Sure, no problem. Best regards Thomas > >> >> 3) If renaming, do we have another preferred name? > > Nope, as Daniel said the name itself is only bikesheed. What is > important is that we see this as functionality separated from the inter > driver interface. > > Regards, > Christian. > >> >> >> thanks >> Lucas De Marchi >> >>> >>>> >>>> But as I said, I don't really have a preference. When crossing >>>> subsystems one thing that is hard is that different people have >>>> different >>>> preferences on these things. At least squashing now is much easier than >>>> if I had to split it >>>> >>>> Try to imagine how much complain I received on going the other way in >>>> 25985edcedea6396277003854657b5f3cb31a628 with >>>> 2463 files changed, 4252 insertions(+), 4252 deletions(-) >>> >>> Well exactly that is perfectly fine. >>> >>> What you do here is applying your personal hack which is absolutely >>> not welcomed. >>> >>> Regards, >>> Christian. >>> >>>> :) >>>> >>>> >>>> Lucas De Marchi >>>> >>>>> >>>>> Regards, >>>>> Christian. >>>>> >>>>>> I built this series, full config with >>>>>> CONFIG_COMPILE_TEST and doing: >>>>>> >>>>>>     git rebase -i -x "make -j$(nproc)" >>>>>> >>>>>> I split these patches in a way that wouldn't break the build on >>>>>> purpose. >>>>>> There were a couple that I couldn't build without cross compiling: >>>>>> tegra >>>>>> and rockchip. The others were ok. >>>>>> >>>>>> I'm not really against squashing everything in one to merge, though. >>>>>> It will be hard on the conflicts later, but should get the job >>>>>> done much >>>>>> quicker. >>>>>> >>>>>> Lucas De Marchi >>>>>> >>>>>>> >>>>>>> Regards, >>>>>>> Christian. >>>>>>> >>>>>>> Am 28.01.22 um 09:36 schrieb Lucas De Marchi: >>>>>>>> Motivation for this started in >>>>>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Flkml%2F20220126203702.1784589-1-lucas.demarchi%40intel.com%2F&data=04%7C01%7Cchristian.koenig%40amd.com%7C01142fa3ce484040ade008d9e51aef5d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637792726123940514%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=p8rR28Hn0yMTbwy%2F7bpiGyG9fAu9kG1VUzX2MF44mcs%3D&reserved=0 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> when trying to extend the dma-buf-map API to cover new use >>>>>>>> cases: help a >>>>>>>> single driver with allocations and sharing code paths for IO and >>>>>>>> system >>>>>>>> memory. I'm leaving the API additions aside and first renaming the >>>>>>>> interface as requested. >>>>>>>> >>>>>>>> There are already some users in tree outside the context of dma-buf >>>>>>>> importer/exporter. So before extending the API, let's dissociate >>>>>>>> it from >>>>>>>> dma-buf. >>>>>>>> >>>>>>>> The iosys-map.h is introduced in the first patch in a way that >>>>>>>> allows >>>>>>>> the conversion of each driver to happen separately. After all the >>>>>>>> conversions are done we can remove the old one, which is the >>>>>>>> last patch. >>>>>>>> Another possible way is to squash everything and merge together, >>>>>>>> but I believe this would make much harder for review. >>>>>>>> >>>>>>>> The conversion was 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 >>>>>>>> >>>>>>>> and then some files had their includes adjusted so we can build >>>>>>>> everything on each commit in this series. Also some comments >>>>>>>> were update >>>>>>>> to remove mentions to dma-buf-map. Simply doing a sed to rename >>>>>>>> didn't >>>>>>>> work as dma-buf has some APIs using the dma_buf_map prefix. >>>>>>>> >>>>>>>> Once finalized, I think most of this, if not all, could go >>>>>>>> through the >>>>>>>> drm-misc-next branch. I split i915, msm, nouveau, and radeon in >>>>>>>> their >>>>>>>> own patches in case it's preferred to take those through their own >>>>>>>> trees. >>>>>>>> >>>>>>>> Lucas De Marchi >>>>>>>> >>>>>>>> Lucas De Marchi (14): >>>>>>>>   iosys-map: Introduce renamed dma-buf-map >>>>>>>>   misc: fastrpc: Replace dma-buf-map with iosys-map >>>>>>>>   dma-buf: Replace dma-buf-map with iosys-map >>>>>>>>   media: Replace dma-buf-map with iosys-map >>>>>>>>   drm/ttm: Replace dma-buf-map with iosys-map >>>>>>>>   drm: Replace dma-buf-map with iosys-map in drivers >>>>>>>>   drm/i915: Replace dma-buf-map with iosys-map >>>>>>>>   drm/msm: Replace dma-buf-map with iosys-map >>>>>>>>   drm/nouveau: Replace dma-buf-map with iosys-map >>>>>>>>   drm/tegra: Replace dma-buf-map with iosys-map >>>>>>>>   drm/radeon: Replace dma-buf-map with iosys-map >>>>>>>>   drm: Replace dma-buf-map with iosys-map in common code >>>>>>>>   Documentation: Refer to iosys-map instead of dma-buf-map >>>>>>>>   dma-buf-map: Remove API in favor of iosys-map >>>>>>>> >>>>>>>>  Documentation/driver-api/dma-buf.rst          |   4 +- >>>>>>>>  Documentation/gpu/todo.rst                    |  20 +- >>>>>>>>  MAINTAINERS                                   |   2 +- >>>>>>>>  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/nouveau/nouveau_gem.c         |   2 + >>>>>>>>  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/virtio/virtgpu_prime.c        |   1 + >>>>>>>>  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 >>>>>>>> +++++++++++++++++ >>>>>>>>  80 files changed, 579 insertions(+), 552 deletions(-) >>>>>>>>  delete mode 100644 include/linux/dma-buf-map.h >>>>>>>>  create mode 100644 include/linux/iosys-map.h >>>>>>>> >>>>>>> >>>>> >>> > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev