Fix the issue about TDR-2 will have "fallback timer expired on ring sdma1".
It is because the wrong number of irq types setting.
Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
 #define AMDGPU_MAX_SDMA_INSTANCES              2
 
 enum amdgpu_sdma_irq {
-       AMDGPU_SDMA_IRQ_TRAP0 = 0,
-       AMDGPU_SDMA_IRQ_TRAP1,
-       AMDGPU_SDMA_IRQ_ECC0,
-       AMDGPU_SDMA_IRQ_ECC1,
-
+       AMDGPU_SDMA_IRQ_INSTANCE0  = 0,
+       AMDGPU_SDMA_IRQ_INSTANCE1,
        AMDGPU_SDMA_IRQ_LAST
 };
 
 
                r = amdgpu_ring_init(adev, ring, 1024,
                                     &adev->sdma.trap_irq,
                                     (i == 0) ?
-                                    AMDGPU_SDMA_IRQ_TRAP0 :
-                                    AMDGPU_SDMA_IRQ_TRAP1);
+                                    AMDGPU_SDMA_IRQ_INSTANCE0 :
+                                    AMDGPU_SDMA_IRQ_INSTANCE1);
                if (r)
                        return r;
        }
        u32 sdma_cntl;
 
        switch (type) {
-       case AMDGPU_SDMA_IRQ_TRAP0:
+       case AMDGPU_SDMA_IRQ_INSTANCE0:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(mmSDMA0_CNTL + SDMA0_REGISTER_OFFSET);
                        break;
                }
                break;
-       case AMDGPU_SDMA_IRQ_TRAP1:
+       case AMDGPU_SDMA_IRQ_INSTANCE1:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(mmSDMA0_CNTL + SDMA1_REGISTER_OFFSET);
 
                r = amdgpu_ring_init(adev, ring, 1024,
                                     &adev->sdma.trap_irq,
                                     (i == 0) ?
-                                    AMDGPU_SDMA_IRQ_TRAP0 :
-                                    AMDGPU_SDMA_IRQ_TRAP1);
+                                    AMDGPU_SDMA_IRQ_INSTANCE0 :
+                                    AMDGPU_SDMA_IRQ_INSTANCE1);
                if (r)
                        return r;
        }
        u32 sdma_cntl;
 
        switch (type) {
-       case AMDGPU_SDMA_IRQ_TRAP0:
+       case AMDGPU_SDMA_IRQ_INSTANCE0:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(mmSDMA0_CNTL + SDMA0_REGISTER_OFFSET);
                        break;
                }
                break;
-       case AMDGPU_SDMA_IRQ_TRAP1:
+       case AMDGPU_SDMA_IRQ_INSTANCE1:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(mmSDMA0_CNTL + SDMA1_REGISTER_OFFSET);
 
                r = amdgpu_ring_init(adev, ring, 1024,
                                     &adev->sdma.trap_irq,
                                     (i == 0) ?
-                                    AMDGPU_SDMA_IRQ_TRAP0 :
-                                    AMDGPU_SDMA_IRQ_TRAP1);
+                                    AMDGPU_SDMA_IRQ_INSTANCE0 :
+                                    AMDGPU_SDMA_IRQ_INSTANCE1);
                if (r)
                        return r;
        }
        u32 sdma_cntl;
 
        switch (type) {
-       case AMDGPU_SDMA_IRQ_TRAP0:
+       case AMDGPU_SDMA_IRQ_INSTANCE0:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(mmSDMA0_CNTL + SDMA0_REGISTER_OFFSET);
                        break;
                }
                break;
-       case AMDGPU_SDMA_IRQ_TRAP1:
+       case AMDGPU_SDMA_IRQ_INSTANCE1:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(mmSDMA0_CNTL + SDMA1_REGISTER_OFFSET);
 
        if (r)
                goto sysfs;
 resume:
-       r = amdgpu_irq_get(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_ECC0);
+       r = amdgpu_irq_get(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_INSTANCE0);
        if (r)
                goto irq;
 
-       r = amdgpu_irq_get(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_ECC1);
+       r = amdgpu_irq_get(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_INSTANCE1);
        if (r) {
-               amdgpu_irq_put(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_ECC0);
+               amdgpu_irq_put(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_INSTANCE0);
                goto irq;
        }
 
                r = amdgpu_ring_init(adev, ring, 1024,
                                     &adev->sdma.trap_irq,
                                     (i == 0) ?
-                                    AMDGPU_SDMA_IRQ_TRAP0 :
-                                    AMDGPU_SDMA_IRQ_TRAP1);
+                                    AMDGPU_SDMA_IRQ_INSTANCE0 :
+                                    AMDGPU_SDMA_IRQ_INSTANCE1);
                if (r)
                        return r;
 
                        r = amdgpu_ring_init(adev, ring, 1024,
                                             &adev->sdma.trap_irq,
                                             (i == 0) ?
-                                            AMDGPU_SDMA_IRQ_TRAP0 :
-                                            AMDGPU_SDMA_IRQ_TRAP1);
+                                            AMDGPU_SDMA_IRQ_INSTANCE0 :
+                                            AMDGPU_SDMA_IRQ_INSTANCE1);
                        if (r)
                                return r;
                }
        if (amdgpu_sriov_vf(adev))
                return 0;
 
-       amdgpu_irq_put(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_ECC0);
-       amdgpu_irq_put(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_ECC1);
+       amdgpu_irq_put(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_INSTANCE0);
+       amdgpu_irq_put(adev, &adev->sdma.ecc_irq, AMDGPU_SDMA_IRQ_INSTANCE1);
 
        sdma_v4_0_ctx_switch_enable(adev, false);
        sdma_v4_0_enable(adev, false);
                                        unsigned type,
                                        enum amdgpu_interrupt_state state)
 {
-       unsigned int instance = (type == AMDGPU_SDMA_IRQ_TRAP0) ? 0 : 1;
        u32 sdma_cntl;
 
-       sdma_cntl = RREG32_SDMA(instance, mmSDMA0_CNTL);
+       sdma_cntl = RREG32_SDMA(type, mmSDMA0_CNTL);
        sdma_cntl = REG_SET_FIELD(sdma_cntl, SDMA0_CNTL, TRAP_ENABLE,
                       state == AMDGPU_IRQ_STATE_ENABLE ? 1 : 0);
-       WREG32_SDMA(instance, mmSDMA0_CNTL, sdma_cntl);
+       WREG32_SDMA(type, mmSDMA0_CNTL, sdma_cntl);
 
        return 0;
 }
 {
        u32 sdma_edc_config;
 
-       u32 reg_offset = (type == AMDGPU_SDMA_IRQ_ECC0) ?
+       u32 reg_offset = (type == AMDGPU_SDMA_IRQ_INSTANCE0) ?
                sdma_v4_0_get_reg_offset(adev, 0, mmSDMA0_EDC_CONFIG) :
                sdma_v4_0_get_reg_offset(adev, 1, mmSDMA0_EDC_CONFIG);
 
 
                r = amdgpu_ring_init(adev, ring, 1024,
                                     &adev->sdma.trap_irq,
                                     (i == 0) ?
-                                    AMDGPU_SDMA_IRQ_TRAP0 :
-                                    AMDGPU_SDMA_IRQ_TRAP1);
+                                    AMDGPU_SDMA_IRQ_INSTANCE0 :
+                                    AMDGPU_SDMA_IRQ_INSTANCE1);
                if (r)
                        return r;
        }
        u32 sdma_cntl;
 
        switch (type) {
-       case AMDGPU_SDMA_IRQ_TRAP0:
+       case AMDGPU_SDMA_IRQ_INSTANCE0:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(DMA_CNTL + DMA0_REGISTER_OFFSET);
                        break;
                }
                break;
-       case AMDGPU_SDMA_IRQ_TRAP1:
+       case AMDGPU_SDMA_IRQ_INSTANCE1:
                switch (state) {
                case AMDGPU_IRQ_STATE_DISABLE:
                        sdma_cntl = RREG32(DMA_CNTL + DMA1_REGISTER_OFFSET);