Re: [PATCH V2 0/7] DRM kmap() fixes and kmap_local_page() conversions

From: Christian König
Date: Mon Jan 24 2022 - 07:08:32 EST


Am 24.01.22 um 02:54 schrieb ira.weiny@xxxxxxxxx:
From: Ira Weiny <ira.weiny@xxxxxxxxx>

Changes from V1:
Use memcpy_to_page() where appropriate
Rebased to latest

The kmap() call may cause issues with work being done with persistent memory.
For this and other reasons it is being deprecated.

I'm really wondering how we should be able to implement the kernel mapping without kmap in TTM.

This series starts by converting the last easy kmap() uses in the drm tree to
kmap_local_page().

The final 2 patches fix bugs found while working on the ttm_bo_kmap_ttm()
conversion. They are valid fixes but were found via code inspection not
because of any actual bug so don't require a stable tag.[1]

There is one more call to kmap() used in ttm_bo_kmap_ttm(). Unfortunately,
fixing this is not straight forward so it is left to future work.[2]

Patches #2, #4, #6 and #7 are Reviewed-by: Christian König <christian.koenig@xxxxxxx>

How to you now want to push those upstream? I can pick them up for the AMD tree like Daniel suggested or you can push them through something else.

Regards,
Christian.


[1] https://lore.kernel.org/lkml/fb71af05-a889-8f6e-031b-426b58a64f00@xxxxxxx/
[2] https://lore.kernel.org/lkml/20211215210949.GW3538886@xxxxxxxxxxxxxxxxxxxxxxxxx/


Ira Weiny (7):
drm/i915: Replace kmap() with kmap_local_page()
drm/amd: Replace kmap() with kmap_local_page()
drm/gma: Remove calls to kmap()
drm/radeon: Replace kmap() with kmap_local_page()
drm/msm: Alter comment to use kmap_local_page()
drm/amdgpu: Ensure kunmap is called on error
drm/radeon: Ensure kunmap is called on error

drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 8 ++++----
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 1 +
drivers/gpu/drm/gma500/gma_display.c | 6 ++----
drivers/gpu/drm/gma500/mmu.c | 8 ++++----
drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 6 ++----
drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 8 ++++----
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 4 ++--
drivers/gpu/drm/i915/gt/shmem_utils.c | 7 ++-----
drivers/gpu/drm/i915/i915_gem.c | 8 ++++----
drivers/gpu/drm/i915/i915_gpu_error.c | 4 ++--
drivers/gpu/drm/msm/msm_gem_submit.c | 4 ++--
drivers/gpu/drm/radeon/radeon_ttm.c | 4 ++--
drivers/gpu/drm/radeon/radeon_uvd.c | 1 +
13 files changed, 32 insertions(+), 37 deletions(-)

--
2.31.1