|
173 | 173 | #define mmGC_THROTTLE_CTRL_Sienna_Cichlid 0x2030
|
174 | 174 | #define mmGC_THROTTLE_CTRL_Sienna_Cichlid_BASE_IDX 0
|
175 | 175 |
|
| 176 | +#define mmRLC_SPARE_INT_0_Sienna_Cichlid 0x4ca5 |
| 177 | +#define mmRLC_SPARE_INT_0_Sienna_Cichlid_BASE_IDX 1 |
| 178 | + |
176 | 179 | #define GFX_RLCG_GC_WRITE_OLD (0x8 << 28)
|
177 | 180 | #define GFX_RLCG_GC_WRITE (0x0 << 28)
|
178 | 181 | #define GFX_RLCG_GC_READ (0x1 << 28)
|
@@ -1480,8 +1483,15 @@ static u32 gfx_v10_rlcg_rw(struct amdgpu_device *adev, u32 offset, u32 v, uint32
|
1480 | 1483 | (adev->reg_offset[GC_HWIP][0][mmSCRATCH_REG0_BASE_IDX] + mmSCRATCH_REG2) * 4;
|
1481 | 1484 | scratch_reg3 = adev->rmmio +
|
1482 | 1485 | (adev->reg_offset[GC_HWIP][0][mmSCRATCH_REG1_BASE_IDX] + mmSCRATCH_REG3) * 4;
|
1483 |
| - spare_int = adev->rmmio + |
1484 |
| - (adev->reg_offset[GC_HWIP][0][mmRLC_SPARE_INT_BASE_IDX] + mmRLC_SPARE_INT) * 4; |
| 1486 | + |
| 1487 | + if (adev->asic_type >= CHIP_SIENNA_CICHLID) { |
| 1488 | + spare_int = adev->rmmio + |
| 1489 | + (adev->reg_offset[GC_HWIP][0][mmRLC_SPARE_INT_0_Sienna_Cichlid_BASE_IDX] |
| 1490 | + + mmRLC_SPARE_INT_0_Sienna_Cichlid) * 4; |
| 1491 | + } else { |
| 1492 | + spare_int = adev->rmmio + |
| 1493 | + (adev->reg_offset[GC_HWIP][0][mmRLC_SPARE_INT_BASE_IDX] + mmRLC_SPARE_INT) * 4; |
| 1494 | + } |
1485 | 1495 |
|
1486 | 1496 | grbm_cntl = adev->reg_offset[GC_HWIP][0][mmGRBM_GFX_CNTL_BASE_IDX] + mmGRBM_GFX_CNTL;
|
1487 | 1497 | grbm_idx = adev->reg_offset[GC_HWIP][0][mmGRBM_GFX_INDEX_BASE_IDX] + mmGRBM_GFX_INDEX;
|
@@ -7349,9 +7359,15 @@ static int gfx_v10_0_hw_fini(void *handle)
|
7349 | 7359 | if (amdgpu_sriov_vf(adev)) {
|
7350 | 7360 | gfx_v10_0_cp_gfx_enable(adev, false);
|
7351 | 7361 | /* Program KIQ position of RLC_CP_SCHEDULERS during destroy */
|
7352 |
| - tmp = RREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS); |
7353 |
| - tmp &= 0xffffff00; |
7354 |
| - WREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS, tmp); |
| 7362 | + if (adev->asic_type >= CHIP_SIENNA_CICHLID) { |
| 7363 | + tmp = RREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS_Sienna_Cichlid); |
| 7364 | + tmp &= 0xffffff00; |
| 7365 | + WREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS_Sienna_Cichlid, tmp); |
| 7366 | + } else { |
| 7367 | + tmp = RREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS); |
| 7368 | + tmp &= 0xffffff00; |
| 7369 | + WREG32_SOC15(GC, 0, mmRLC_CP_SCHEDULERS, tmp); |
| 7370 | + } |
7355 | 7371 |
|
7356 | 7372 | return 0;
|
7357 | 7373 | }
|
|
0 commit comments