drm/amdgpu: avoid KIQ clashing with compute or KFD queues v2
authorAndres Rodriguez <andresx7@gmail.com>
Thu, 6 Apr 2017 04:10:53 +0000 (00:10 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 31 May 2017 20:48:58 +0000 (16:48 -0400)
commit7b2124a5dd99b5b794943e26dbcc8ed62aed8d01
treec3bb0de0e2caf21bf48526c59aa10345b674e25f
parentde65513af1124b28f2a858bc19b71a54dd93824e
drm/amdgpu: avoid KIQ clashing with compute or KFD queues v2

Instead of picking an arbitrary queue for KIQ, search for one according
to policy. The queue must be unused.

Also report the KIQ as an unavailable resource to KFD.

In testing I ran into KCQ initialization issues when using pipes 2/3 of
MEC2 for the KIQ. Therefore the policy disallows grabbing one of these.

v2: fix (ring.me + 1) to (ring.me -1) in amdgpu_amdkfd_device_init

Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c