[PATCH 00/24] KFD fixes, cleanups, features to make the runtime happy
Felix Kuehling
Felix.Kuehling at amd.com
Wed Aug 16 02:59:58 UTC 2017
I merged the last two patch series and made a number of updates as
discussed. I also rebased it on Alex's drm-next-4.14-wip branch. All
patches applied cleanly without having to resolve any conflicts.
I'm also publishing my branch with this patch series on GitHub to make
it easier to test and apply the changes. This KFD branch requires the
corresponding Thunk branch from GitHub, which uses a different ioctl
ABI from the last ROCm release. The rest of the user mode stack
should be OK on top of that Thunk.
https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/tree/fkxamd/drm-next-wip
https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/tree/fxkamd/drm-next-wip
On CZ, hsaconformance passes. OpenCL tests can be run with the current
ROCm OpenCL stack. I ran the SHOC benchmark as an example.
On KV, the current ROCm OpenCL driver doesn't work. This is a
limitation of the OpenCL driver. I'm trying to find out how hard it
would be to change that. In the mean time, some hsaconformance tests
can be run on KV. It passes most tests up to
162:code_recursive_kernel_function, where it hangs.
For testing KV with current user mode stack, please use amdgpu. I
don't expect this to work with radeon and I'm not planning to spend
any effort on making radeon work with a current user mode stack.
Dropped patches:
* drm/amdkfd: Fix double Mutex lock order
Added patches:
* drm/radeon: Return dword offsets of address watch registers
* drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
Reordered patch sequence:
I moved "drm/amdgpu: Remove hard-coded assumptions about compute pipes"
just after "drm/amdkfd: Fix allocated_queues bitmap initialization"
because these two patches fix related problems (how queues are shared
between KFD and KGD).
Updated patches:
* drm/amdkfd: Clean up KFD style errors and warnings v2
* drm/amdkfd: Fix goto usage v2
* drm/amdkfd: Handle remaining BUG_ONs more gracefully v2
* drm/amdkfd: Add more error printing to help bringup v2
* drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
* drm/amdkfd: Adding new IOCTL for scratch memory v2
* drm/amdgpu: Add kgd kfd interface get_tile_config() v2
* drm/amdkfd: Implement image tiling mode support v2
Patches that still need a Reviewed-by or Acked-by:
* drm/radeon: Return dword offsets of address watch registers
* drm/amdkfd: Remove bogus divide-by-sizeof(uint32_t)
* drm/amdkfd: Clean up KFD style errors and warnings v2
* drm/amdkfd: Handle remaining BUG_ONs more gracefully v2
* drm/amdkfd: Add more error printing to help bringup v2
* drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
* drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
* drm/amdkfd: Adding new IOCTL for scratch memory v2
***
Felix Kuehling (13):
drm/amdkfd: Fix typo in dbgdev_wave_reset_wavefronts
drm/radeon: Return dword offsets of address watch registers
drm/amdkfd: Remove bogus divide-by-sizeof(uint32_t)
drm/amdkfd: Fix allocated_queues bitmap initialization
drm/amdgpu: Remove hard-coded assumptions about compute pipes
drm/amdkfd: Remove BUG_ONs for NULL pointer arguments
drm/amdkfd: Fix doorbell initialization and finalization
drm/amdkfd: Allocate gtt_sa_bitmap in long units
drm/amdkfd: Handle remaining BUG_ONs more gracefully v2
drm/amdkfd: Update PM4 packet headers
drm/amdgpu: Disable GFX PG on CZ
drm/amd: Update MEC HQD loading code for KFD
drm/amdgpu: Program SH_STATIC_MEM_CONFIG globally, not per-VMID
Jay Cornwall (1):
drm/amdkfd: Clamp EOP queue size correctly on Gfx8
Kent Russell (5):
drm/amdkfd: Clean up KFD style errors and warnings v2
drm/amdkfd: Consolidate and clean up log commands
drm/amdkfd: Change x==NULL/false references to !x
drm/amdkfd: Fix goto usage v2
drm/amdkfd: Remove usage of alloc(sizeof(struct...
Moses Reuben (2):
drm/amdgpu: Add kgd/kfd interface to support scratch memory v2
drm/amdkfd: Adding new IOCTL for scratch memory v2
Yong Zhao (3):
drm/amdkfd: Add more error printing to help bringup v2
drm/amdgpu: Add kgd kfd interface get_tile_config() v2
drm/amdkfd: Implement image tiling mode support v2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 16 +
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 189 ++++++++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 227 ++++++++++++--
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 3 +-
drivers/gpu/drm/amd/amdgpu/vi.c | 3 +-
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 183 ++++++++----
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c | 102 +++----
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c | 21 +-
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h | 27 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 123 ++++----
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 316 ++++++++------------
.../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 8 +-
.../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 8 +-
drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 40 +--
drivers/gpu/drm/amd/amdkfd/kfd_events.c | 33 +--
drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 63 ++--
drivers/gpu/drm/amd/amdkfd/kfd_module.c | 10 +-
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.h | 3 +-
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c | 62 ++--
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c | 46 +--
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 294 ++++++------------
drivers/gpu/drm/amd/amdkfd/kfd_pasid.c | 7 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers.h | 330 +++------------------
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_vi.h | 140 ++++++++-
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 32 +-
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 25 +-
.../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 71 ++---
drivers/gpu/drm/amd/amdkfd/kfd_queue.c | 12 +-
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 46 +--
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 30 +-
drivers/gpu/drm/radeon/radeon_kfd.c | 15 +-
include/uapi/linux/kfd_ioctl.h | 37 ++-
36 files changed, 1280 insertions(+), 1252 deletions(-)
--
2.7.4
More information about the amd-gfx
mailing list