Found two issues :

On 2/26/20 9:37 PM, Nirmoy Das wrote:
+static void amdgpu_ctx_hw_priority_override(struct amdgpu_ctx *ctx,
+                                           const u32 hw_ip,
+                                           enum drm_sched_priority priority)
+{
+       int i;
+
+       for (i = 0; i < amdgpu_ctx_num_entities[hw_ip]; ++i) {
+               if (!ctx->entities[hw_ip][i])
+                       continue;
+
+               /* TODO what happens with prev scheduled jobs */
+               drm_sched_entity_destroy(&ctx->entities[hw_ip][i]->entity);
+               amdgpu_ctx_fini_entity(ctx->entities[hw_ip][i]);
+
+               amdgpu_ctx_init_entity(ctx, AMDGPU_HW_IP_COMPUTE, i);
s/AMDGPU_HW_IP_COMPUTE/hw_ip
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
index 18e11b0fdc3e..4501ae7afb2e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c
@@ -326,6 +326,10 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct 
amdgpu_ring *ring,
ring->max_dw = max_dw;
        ring->priority = DRM_SCHED_PRIORITY_NORMAL;
+       if (ring->funcs->type == AMDGPU_RING_TYPE_COMPUTE &&
+           ring->funcs->init_priority)
I didn't set ring->priority to DRM_SCHED_PRIORITY_HIGH in the previous patch
+               ring->funcs->init_priority(ring);
+
        mutex_init(&ring->priority_mutex);
for (i = 0; i < DRM_SCHED_PRIORITY_MAX; ++i)
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to