[git pull] amdkfd next 4.16

Oded Gabbay oded.gabbay at gmail.com
Sun Dec 24 11:41:47 UTC 2017


Hi Dave,

amdkfd stuff for 4.16:

- Add CWSR (compute wave save restore) support for GFX8 (Carrizo)
- Fix SDMA user-mode queues support for GFX7 (Kaveri)
- Add SDMA user-mode queues support for GFX8 (Carrizo)
- Allow HWS (hardware scheduling) to schedule multiple processes concurrently
- Add debugfs support
- Simplify process locking and lock dependencies
- Refactoring topology code to prepare for dGPU support + fixes to that code
  - Add option to generate dummy/virtual CRAT table when its missing or deformed
  - Recognize CPUs other then APUs as compute entities
- Various clean ups and bug fixes

I have not yet sent the dGPU topology code because it depends on a patch
for the PCI subsystem that adds PCIe atomics support. Once that patch is
upstreamed we can continue with the rest of the dGPU code.

Thanks and happy new year,
Oded

The following changes since commit df2869abd92b740af141ee2eb081bfc69bd80877:

  Merge branch 'drm-next-4.16' of git://people.freedesktop.org/~agd5f/linux into drm-next (2017-12-21 11:17:45 +1000)

are available in the Git repository at:

  git://people.freedesktop.org/~gabbayo/linux tags/drm-amdkfd-next-2017-12-24

for you to fetch changes up to 9f0a0b41ffccf9a76b19ea263ae16d2d5888093e:

  drm/amdgpu: Add support for reporting VRAM usage (2017-12-08 23:09:05 -0500)

----------------------------------------------------------------
Amber Lin (1):
      drm/amdkfd: Add perf counters to topology

Ben Goz (1):
      drm/amdkfd: Add AQL Queue Memory flag on topology

Felix Kuehling (25):
      drm/amd: Update kgd_kfd interface for resuming SDMA queues
      drm/amdgpu: Add support for resuming SDMA queues w/o HWS
      drm/amdkfd: Use ASIC-specific SDMA MQD type
      drm/amdkfd: Hardware DWORD size is 4 bytes
      drm/amdkfd: Use order_base_2 to get log2 of buffes sizes
      drm/amdkfd: Cleanup qpd.pqm initialization
      drm/amdkfd: Add trap handler for CWSR
      drm/amdkfd: Add CWSR support
      drm/amdkfd: Add support for user-mode trap handlers
      drm/amdgpu: fix get_max_engine_clock_in_mhz
      drm/amdkfd: map multiple processes to HW scheduler
      drm/amdkfd: Fix oversubscription accounting
      drm/amdgpu: Fix definition of KFD_CIK_SDMA_QUEUE_OFFSET
      drm/amdgpu: Add kfd2kgd APIs for dumping HQDs
      drm/amdkfd: Add debugfs support to KFD
      drm/amdkfd: Get reference to lead_thread task struct
      drm/amdkfd: Make kfd_process reference counted
      drm/amdkfd: Use ref count to prevent kfd_process destruction
      drm/amdkfd: Reduce nesting in kfd_create_process_device_data
      drm/amdkfd: Factor PDD destruction out of kfd_process_wq_release
      drm/amdkfd: Group up CRAT related functions
      drm/amdkfd: Turn verbose topology messages into pr_debug
      drm/amdkfd: Simplify counting of memory banks
      drm/amdkfd: Add topology support for CPUs
      drm/amdkfd: Module option to disable CRAT table

Flora Cui (3):
      drm/amd: add new interface to query cu info
      drm/amdgpu: add amdgpu interface to query cu info
      drm/amdkfd: Update number of compute unit from KGD

Harish Kasiviswanathan (13):
      drm/amd: Add get_local_mem_info to KGD-KFD interface
      drm/amdgpu: Implement get_local_mem_info
      drm/amdkfd: Stop using get_vmem_size KGD-KFD interface
      drm/amdkfd: Remove deprecated get_vmem_size
      drm/amd: Remove get_vmem_size from KGD-KFD interface
      drm/amdkfd: Topology: Fix location_id
      drm/amdkfd: Reorganize CRAT fetching from ACPI
      drm/amdkfd: Decouple CRAT parsing from device list update
      drm/amdkfd: Support enumerating non-GPU devices
      drm/amdkfd: sync IOLINK defines to thunk spec
      drm/amdkfd: Fix sibling_map[] size
      drm/amdkfd: Add topology support for dGPUs
      drm/amdkfd: Ignore ACPI CRAT for non-APU systems

Kent Russell (2):
      drm/amdkfd: Fix printing pointer cast
      drm/amdgpu: Add support for reporting VRAM usage

Philip Cox (3):
      drm/amdgpu: Implement amdgpu SDMA functions for VI
      drm/amdkfd: Implement amdkfd SDMA functions for VI
      drm/amdkfd: Fixup incorrect info in the CZ CRAT table

Philip Yang (1):
      drm/amdkfd: Add crash protection in debugger register path

Yong Zhao (4):
      drm/amdkfd: Delete a useless parameter from create_queue function pointer
      drm/amdkfd: Return NULL if kfd_lookup_process_by_pasid fails
      drm/amdkfd: Simplify locking during process creation
      drm/amdkfd: Fix memory leaks in kfd topology

 drivers/gpu/drm/amd/amdgpu/amdgpu.h                |    1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c         |   67 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h         |    5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c  |  111 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c  |  184 ++-
 drivers/gpu/drm/amd/amdgpu/cikd.h                  |    2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c              |    7 +
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c              |    5 +
 drivers/gpu/drm/amd/amdgpu/vid.h                   |    2 +
 drivers/gpu/drm/amd/amdkfd/Makefile                |    4 +-
 .../gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm  | 1384 ++++++++++++++++++++
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c           |   46 +-
 drivers/gpu/drm/amd/amdkfd/kfd_crat.c              | 1267 ++++++++++++++++++
 drivers/gpu/drm/amd/amdkfd/kfd_crat.h              |   42 +-
 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c            |   14 +-
 drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c           |   75 ++
 drivers/gpu/drm/amd/amdkfd/kfd_device.c            |   31 +-
 .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c  |  112 +-
 .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h  |    8 +-
 drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c          |    9 +-
 drivers/gpu/drm/amd/amdkfd/kfd_events.c            |   14 +-
 drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c       |    7 +-
 drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c      |    2 +-
 drivers/gpu/drm/amd/amdkfd/kfd_module.c            |   17 +
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.h       |    4 +
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c   |   48 +-
 drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c    |  167 ++-
 drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c    |   59 +-
 drivers/gpu/drm/amd/amdkfd/kfd_pasid.c             |    2 +-
 drivers/gpu/drm/amd/amdkfd/kfd_priv.h              |   79 +-
 drivers/gpu/drm/amd/amdkfd/kfd_process.c           |  259 +++-
 .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c |   78 +-
 drivers/gpu/drm/amd/amdkfd/kfd_topology.c          | 1061 ++++++++-------
 drivers/gpu/drm/amd/amdkfd/kfd_topology.h          |   33 +-
 drivers/gpu/drm/amd/include/kgd_kfd_interface.h    |   52 +-
 drivers/gpu/drm/amd/include/vi_structs.h           |    2 +
 include/uapi/linux/kfd_ioctl.h                     |   15 +-
 37 files changed, 4632 insertions(+), 643 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm
 create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_crat.c
 create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c


More information about the dri-devel mailing list