[PATCH 0/6] Enable LSDMA ring mode

Yifan Zhang yifan1.zhang at amd.com
Thu Nov 16 02:46:57 UTC 2023


This series implements LSDMA ring mode, creates LSDMA ring and implement
amdgpu ring related functions. Introduce a new module parameter amdgpu_lsdma
to enable LSDMA, switch buffer and paging funcs from SDMA to LSDMA. It changes
amdgpu driver buffer operations to LSDMA, changes default page table update
to LSDMA. Since LSDMA is outside GFX domain, it can work without waking up
GFX which saves power in mutiple scenarios. With LSDMA dedicated ring create,
it also exposes interfaces for users to utilize LSDMA capabilies. This series
is tested on gfx 11.0.4.

Yifan Zhang (6):
  drm/amdgpu: add lsdma hw ip definition
  drm/amdgpu: add lsdma interrupt src id
  drm/amdgpu: update lsdma headers
  drm/amdgpu: add ring mode support for lsdma
  drm/amdgpu: skip LSDMA for mes self test.
  drm/amdgpu: Default disable LSDMA until proven stable.

 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |   22 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c       |   10 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c    |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c       |   15 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_lsdma.c     |   40 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_lsdma.h     |   33 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c       |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h      |    1 +
 drivers/gpu/drm/amd/amdgpu/lsdma_v6_0.c       | 1293 +++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/lsdma_v6_0.h       |    3 +-
 drivers/gpu/drm/amd/include/amd_shared.h      |    1 +
 .../asic_reg/lsdma/lsdma_6_0_0_offset.h       |   48 +
 .../asic_reg/lsdma/lsdma_6_0_0_sh_mask.h      |  452 ++++++
 .../include/ivsrcid/gfx/irqsrcs_gfx_11_0_0.h  |   20 +
 include/uapi/drm/amdgpu_drm.h                 |    3 +-
 17 files changed, 1940 insertions(+), 7 deletions(-)

-- 
2.37.3



More information about the amd-gfx mailing list