diff options
Diffstat (limited to 'drivers/gpu/drm/amd')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/soc15_common.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15_common.h b/drivers/gpu/drm/amd/amdgpu/soc15_common.h index f5d602540673..d35fac5b5a8a 100644 --- a/drivers/gpu/drm/amd/amdgpu/soc15_common.h +++ b/drivers/gpu/drm/amd/amdgpu/soc15_common.h | |||
| @@ -64,6 +64,26 @@ | |||
| 64 | } \ | 64 | } \ |
| 65 | } while (0) | 65 | } while (0) |
| 66 | 66 | ||
| 67 | #define RREG32_SOC15_DPG_MODE(ip, inst, reg, mask, sram_sel) \ | ||
| 68 | ({ WREG32_SOC15(ip, inst, mmUVD_DPG_LMA_MASK, mask); \ | ||
| 69 | WREG32_SOC15(ip, inst, mmUVD_DPG_LMA_CTL, \ | ||
| 70 | UVD_DPG_LMA_CTL__MASK_EN_MASK | \ | ||
| 71 | ((adev->reg_offset[ip##_HWIP][inst][reg##_BASE_IDX] + reg) \ | ||
| 72 | << UVD_DPG_LMA_CTL__READ_WRITE_ADDR__SHIFT) | \ | ||
| 73 | (sram_sel << UVD_DPG_LMA_CTL__SRAM_SEL__SHIFT)); \ | ||
| 74 | RREG32_SOC15(ip, inst, mmUVD_DPG_LMA_DATA); }) | ||
| 75 | |||
| 76 | #define WREG32_SOC15_DPG_MODE(ip, inst, reg, value, mask, sram_sel) \ | ||
| 77 | do { \ | ||
| 78 | WREG32_SOC15(ip, inst, mmUVD_DPG_LMA_DATA, value); \ | ||
| 79 | WREG32_SOC15(ip, inst, mmUVD_DPG_LMA_MASK, mask); \ | ||
| 80 | WREG32_SOC15(ip, inst, mmUVD_DPG_LMA_CTL, \ | ||
| 81 | UVD_DPG_LMA_CTL__READ_WRITE_MASK | \ | ||
| 82 | ((adev->reg_offset[ip##_HWIP][inst][reg##_BASE_IDX] + reg) \ | ||
| 83 | << UVD_DPG_LMA_CTL__READ_WRITE_ADDR__SHIFT) | \ | ||
| 84 | (sram_sel << UVD_DPG_LMA_CTL__SRAM_SEL__SHIFT)); \ | ||
| 85 | } while (0) | ||
| 86 | |||
| 67 | #endif | 87 | #endif |
| 68 | 88 | ||
| 69 | 89 | ||
