linux/drivers/gpu/drm/amd/amdkfd
Ben Goz a22fc85495 drm/amdkfd: Add initial VI support for DQM
This patch starts to add support for the VI APU in the DQM module.

Because most (more than 90%) of the DQM code is shared among AMD's APUs, we
chose a design that performs most/all the code in the shared DQM file
(kfd_device_queue_manager.c). If there is H/W specific code to be executed,
than it is written in an asic-specific extension function for that H/W.

That asic-specific extension function is called from the shared function at the
appropriate time. This requires that for every asic-specific extension function
that is implemented in a specific ASIC, there will be an equivalent
implementation in ALL ASICs, even if those implementations are just stubs.

That way we achieve:

- Maintainability: by having one copy of most of the code, we only need to
  fix bugs at one locations

- Readability: very clear what is the shared code and what is done per ASIC

- Extensibility: very easy to add new H/W specific files/functions

Signed-off-by: Ben Goz <ben.goz@amd.com>
Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-01-12 14:28:46 +02:00
..
cik_regs.h drm/amdkfd: Don't include header files from radeon 2015-01-02 23:18:54 +02:00
Kconfig amdkfd: Remove DRM_AMDGPU dependency from Kconfig 2014-11-21 22:36:09 +02:00
kfd_chardev.c drm/amdkfd: Encapsulate DQM functions in ops structure 2015-01-12 14:26:10 +02:00
kfd_crat.h
kfd_device_queue_manager_cik.c drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00
kfd_device_queue_manager_vi.c drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00
kfd_device_queue_manager.c drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00
kfd_device_queue_manager.h drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00
kfd_device.c drm/amdkfd: Don't BUG on freeing GART sub-allocation 2015-01-12 22:34:21 +02:00
kfd_doorbell.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02:00
kfd_flat_memory.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02:00
kfd_interrupt.c amdkfd: Add interrupt handling module 2014-07-17 01:37:30 +03:00
kfd_kernel_queue.c drm/amdkfd: Encapsulate DQM functions in ops structure 2015-01-12 14:26:10 +02:00
kfd_kernel_queue.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_module.c amdkfd: Add module parameter of scheduling policy 2014-07-17 00:48:28 +03:00
kfd_mqd_manager_cik.c drm/amdkfd: Change MQD manager to be H/W specific 2015-01-04 11:24:25 +02:00
kfd_mqd_manager_vi.c drm/amdkfd: Change MQD manager to be H/W specific 2015-01-04 11:24:25 +02:00
kfd_mqd_manager.c drm/amdkfd: Change MQD manager to be H/W specific 2015-01-04 11:24:25 +02:00
kfd_mqd_manager.h amdkfd: Add mqd_manager module 2014-07-17 00:36:17 +03:00
kfd_packet_manager.c drm/amdkfd: Using new gtt sa in amdkfd 2015-01-09 22:26:10 +02:00
kfd_pasid.c amdkfd: use sizeof(long) granularity for the pasid bitmask 2014-12-03 09:26:25 -05:00
kfd_pm4_headers.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_pm4_opcodes.h amdkfd: Add kernel queue module 2014-07-17 00:45:35 +03:00
kfd_priv.h drm/amdkfd: Change MQD manager to be H/W specific 2015-01-04 11:24:25 +02:00
kfd_process_queue_manager.c drm/amdkfd: Encapsulate DQM functions in ops structure 2015-01-12 14:26:10 +02:00
kfd_process.c drm/amdkfd: Process-device data creation and lookup split 2015-01-09 22:25:58 +02:00
kfd_queue.c amdkfd: Add queue module 2014-07-17 00:18:51 +03:00
kfd_topology.c drm/amdkfd: Add number of watch points to topology 2015-01-09 22:25:55 +02:00
kfd_topology.h
Makefile drm/amdkfd: Add initial VI support for DQM 2015-01-12 14:28:46 +02:00