diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c index 51b5e977ca88..b8963b725dfa 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include <drm/amdgpu_drm.h> | 32 | #include <drm/amdgpu_drm.h> |
| 33 | #include "amdgpu.h" | 33 | #include "amdgpu.h" |
| 34 | #include "atom.h" | 34 | #include "atom.h" |
| 35 | #include "amdgpu_trace.h" | ||
| 35 | 36 | ||
| 36 | #define AMDGPU_IB_TEST_TIMEOUT msecs_to_jiffies(1000) | 37 | #define AMDGPU_IB_TEST_TIMEOUT msecs_to_jiffies(1000) |
| 37 | 38 | ||
| @@ -170,6 +171,10 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs, | |||
| 170 | (amdgpu_sriov_vf(adev) && need_ctx_switch) || | 171 | (amdgpu_sriov_vf(adev) && need_ctx_switch) || |
| 171 | amdgpu_vm_need_pipeline_sync(ring, job))) { | 172 | amdgpu_vm_need_pipeline_sync(ring, job))) { |
| 172 | need_pipe_sync = true; | 173 | need_pipe_sync = true; |
| 174 | |||
| 175 | if (tmp) | ||
| 176 | trace_amdgpu_ib_pipe_sync(job, tmp); | ||
| 177 | |||
| 173 | dma_fence_put(tmp); | 178 | dma_fence_put(tmp); |
| 174 | } | 179 | } |
| 175 | 180 | ||
| @@ -349,6 +354,14 @@ int amdgpu_ib_ring_tests(struct amdgpu_device *adev) | |||
| 349 | if (!ring || !ring->ready) | 354 | if (!ring || !ring->ready) |
| 350 | continue; | 355 | continue; |
| 351 | 356 | ||
| 357 | /* skip IB tests for KIQ in general for the below reasons: | ||
| 358 | * 1. We never submit IBs to the KIQ | ||
| 359 | * 2. KIQ doesn't use the EOP interrupts, | ||
| 360 | * we use some other CP interrupt. | ||
| 361 | */ | ||
| 362 | if (ring->funcs->type == AMDGPU_RING_TYPE_KIQ) | ||
| 363 | continue; | ||
| 364 | |||
| 352 | /* MM engine need more time */ | 365 | /* MM engine need more time */ |
| 353 | if (ring->funcs->type == AMDGPU_RING_TYPE_UVD || | 366 | if (ring->funcs->type == AMDGPU_RING_TYPE_UVD || |
| 354 | ring->funcs->type == AMDGPU_RING_TYPE_VCE || | 367 | ring->funcs->type == AMDGPU_RING_TYPE_VCE || |
