]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amdkfd: Add initial VI support for KQ
authorBen Goz <ben.goz@amd.com>
Tue, 2 Dec 2014 14:38:57 +0000 (16:38 +0200)
committerOded Gabbay <oded.gabbay@amd.com>
Tue, 2 Dec 2014 14:38:57 +0000 (16:38 +0200)
commit3656dca9924aa2a735ec61903afe466be90aa230
treed1eff33cfd2258992b74808fdbdf0f180c6790f7
parentc700e11d80ec46fcbb2f32b1fec19db9e1e9eba9
drm/amdkfd: Add initial VI support for KQ

This patch starts to add support for the VI APU in the KQ (kernel queue)
module.

Because most (more than 90%) of the KQ code is shared among AMD's APUs, we
chose a design that performs most/all the code in the shared KQ file
(kfd_kernel_queue.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>
drivers/gpu/drm/amd/amdkfd/Makefile
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c [new file with mode: 0644]
drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c [new file with mode: 0644]