|
85 | 85 | #define mmRCC_DEV0_EPF0_STRAP0_ALDE 0x0015
|
86 | 86 | #define mmRCC_DEV0_EPF0_STRAP0_ALDE_BASE_IDX 2
|
87 | 87 |
|
88 |
| -#define mmBIF_DOORBELL_INT_CNTL_ALDE 0x3878 |
| 88 | +#define mmBIF_DOORBELL_INT_CNTL_ALDE 0x00fe |
89 | 89 | #define mmBIF_DOORBELL_INT_CNTL_ALDE_BASE_IDX 2
|
90 | 90 | #define BIF_DOORBELL_INT_CNTL_ALDE__DOORBELL_INTERRUPT_DISABLE__SHIFT 0x18
|
91 | 91 | #define BIF_DOORBELL_INT_CNTL_ALDE__DOORBELL_INTERRUPT_DISABLE_MASK 0x01000000L
|
92 | 92 |
|
| 93 | +#define mmBIF_INTR_CNTL_ALDE 0x0101 |
| 94 | +#define mmBIF_INTR_CNTL_ALDE_BASE_IDX 2 |
| 95 | + |
93 | 96 | static void nbio_v7_4_query_ras_error_count(struct amdgpu_device *adev,
|
94 | 97 | void *ras_error_status);
|
95 | 98 |
|
@@ -440,14 +443,23 @@ static int nbio_v7_4_set_ras_controller_irq_state(struct amdgpu_device *adev,
|
440 | 443 | */
|
441 | 444 | uint32_t bif_intr_cntl;
|
442 | 445 |
|
443 |
| - bif_intr_cntl = RREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL); |
| 446 | + if (adev->asic_type == CHIP_ALDEBARAN) |
| 447 | + bif_intr_cntl = RREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL_ALDE); |
| 448 | + else |
| 449 | + bif_intr_cntl = RREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL); |
| 450 | + |
444 | 451 | if (state == AMDGPU_IRQ_STATE_ENABLE) {
|
445 | 452 | /* set interrupt vector select bit to 0 to select
|
446 | 453 | * vetcor 1 for bare metal case */
|
447 | 454 | bif_intr_cntl = REG_SET_FIELD(bif_intr_cntl,
|
448 | 455 | BIF_INTR_CNTL,
|
449 | 456 | RAS_INTR_VEC_SEL, 0);
|
450 |
| - WREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL, bif_intr_cntl); |
| 457 | + |
| 458 | + if (adev->asic_type == CHIP_ALDEBARAN) |
| 459 | + WREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL_ALDE, bif_intr_cntl); |
| 460 | + else |
| 461 | + WREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL, bif_intr_cntl); |
| 462 | + |
451 | 463 | }
|
452 | 464 |
|
453 | 465 | return 0;
|
@@ -476,14 +488,22 @@ static int nbio_v7_4_set_ras_err_event_athub_irq_state(struct amdgpu_device *ade
|
476 | 488 | */
|
477 | 489 | uint32_t bif_intr_cntl;
|
478 | 490 |
|
479 |
| - bif_intr_cntl = RREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL); |
| 491 | + if (adev->asic_type == CHIP_ALDEBARAN) |
| 492 | + bif_intr_cntl = RREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL_ALDE); |
| 493 | + else |
| 494 | + bif_intr_cntl = RREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL); |
| 495 | + |
480 | 496 | if (state == AMDGPU_IRQ_STATE_ENABLE) {
|
481 | 497 | /* set interrupt vector select bit to 0 to select
|
482 | 498 | * vetcor 1 for bare metal case */
|
483 | 499 | bif_intr_cntl = REG_SET_FIELD(bif_intr_cntl,
|
484 | 500 | BIF_INTR_CNTL,
|
485 | 501 | RAS_INTR_VEC_SEL, 0);
|
486 |
| - WREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL, bif_intr_cntl); |
| 502 | + |
| 503 | + if (adev->asic_type == CHIP_ALDEBARAN) |
| 504 | + WREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL_ALDE, bif_intr_cntl); |
| 505 | + else |
| 506 | + WREG32_SOC15(NBIO, 0, mmBIF_INTR_CNTL, bif_intr_cntl); |
487 | 507 | }
|
488 | 508 |
|
489 | 509 | return 0;
|
|
0 commit comments