]> Gentwo Git Trees - linux/.git/commit
drm/amdgpu/ttm: Allocate/Free 4K MMIO_REMAP Singleton
authorSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Thu, 28 Aug 2025 13:48:49 +0000 (19:18 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 15 Sep 2025 20:52:24 +0000 (16:52 -0400)
commit2a7a794eb82c37014ea95f7f58ebeff73ef72858
tree2f3e9cdc4379b311ffad5cbb5181d9018a6f3779
parent9e46b8bb0539d7bc9a9e7b3072fa4f6082490392
drm/amdgpu/ttm: Allocate/Free 4K MMIO_REMAP Singleton

Add mmio_remap bookkeeping to amdgpu_device and introduce
amdgpu_ttm_mmio_remap_bo_init()/fini() to manage a kernel-owned,
one-page (4K) BO in AMDGPU_GEM_DOMAIN_MMIO_REMAP.

Bookkeeping:
  - adev->rmmio_remap.bo : kernel-owned singleton BO

The BO is allocated during TTM init when a remap bus address is available
(adev->rmmio_remap.bus_addr) and PAGE_SIZE <= AMDGPU_GPU_PAGE_SIZE (4K),
and freed during TTM fini.

v2:
 - Check mmio_remap bus address (adev->rmmio_remap.bus_addr) instead of
   rmmio_base. (Alex)
 - Skip quietly if PAGE_SIZE > AMDGPU_GPU_PAGE_SIZE or no bus address
   (no warn). (Alex)
 - Use `amdgpu_bo_create()` (not *_kernel) - Only with this The object
   is stored in adev->mmio_remap.bo and will later be exposed to
   userspace via a GEM handle. (Christian)

v3:
 - Remove obvious comment before amdgpu_ttm_mmio_remap_bo_fini() call.
   (Alex)

v4:
 - Squash bookkeeping into this patch (Christian)

Suggested-by: Christian König <christian.koenig@amd.com>
Suggested-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c