[PATCH 0/6] Add SDMA user-mode queues support to amdkfd
Oded Gabbay
oded.gabbay at amd.com
Sun Dec 14 06:55:06 PST 2014
This patch-set enables amdkfd to provide the ability to HSA processes to
create SDMA user-mode queues.
The queues can be scheduled on either one of Kaveri's two SDMA engines. The
assignment is done during the creation of the queue and it is alternating
between the first engine and the second. e.g. first SDMA queue will be assigned
to engine 1, second SDMA queue will be assigned to engine 2, third SDMA queue
will be assigned to engine 1 and so forth.
The creation and destruction of the queues is done through the same IOCTLs that
are used to create regular compute queues. The identification in the create
queue ioctl is done by using the queue_type argument that is passed by the
HSA process to the amdkfd. That argument is already present in the current
interface so it is backward compatible.
The patch-set adds four new functions to the interface between kfd and kgd.
Three of those functions are used only in no-HWS mode, which is used when
during debug and bring-up.
The main abstraction is done at the MQD level, which has a different layout
than a compute MQD.
Oded Gabbay
Ben Goz (6):
drm/amd: Add SDMA functions to kfd-->kgd interface
drm/radeon: Implement SDMA interface functions
amdkfd: Add SDMA mqd support
amdkfd: Add SDMA user-mode queues support to QCM
amdkfd: Identify SDMA queue in create queue ioctl
amdkfd: Pass queue type to pqm_create_queue()
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 6 +-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 167 ++++++++++++++++-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 5 +
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c | 121 +++++++++++++
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 8 +
.../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 2 +-
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 17 +-
drivers/gpu/drm/radeon/cik_reg.h | 200 ++++++++++++++++++++-
drivers/gpu/drm/radeon/radeon_kfd.c | 132 +++++++++++++-
9 files changed, 641 insertions(+), 17 deletions(-)
--
1.9.1
More information about the dri-devel
mailing list