drm/amdgpu: enabled software IH ring for Vega
authorChristian König <christian.koenig@amd.com>
Sat, 31 Oct 2020 17:39:54 +0000 (18:39 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 24 Nov 2020 17:06:44 +0000 (12:06 -0500)
Seems like we won't get the hardware IH1/2 rings on Vega20 working.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vega10_ih.c

index 407c609..cef61dd 100644 (file)
@@ -91,6 +91,9 @@ static void vega10_ih_enable_interrupts(struct amdgpu_device *adev)
                }
                adev->irq.ih2.enabled = true;
        }
+
+       if (adev->irq.ih_soft.ring_size)
+               adev->irq.ih_soft.enabled = true;
 }
 
 /**
@@ -606,6 +609,10 @@ static int vega10_ih_sw_init(void *handle)
        adev->irq.ih2.use_doorbell = true;
        adev->irq.ih2.doorbell_index = (adev->doorbell_index.ih + 2) << 1;
 
+       r = amdgpu_ih_ring_init(adev, &adev->irq.ih_soft, PAGE_SIZE, true);
+       if (r)
+               return r;
+
        r = amdgpu_irq_init(adev);
 
        return r;