|
@@ -1560,6 +1560,10 @@ struct amdgpu_device {
|
|
|
spinlock_t gc_cac_idx_lock;
|
|
|
amdgpu_rreg_t gc_cac_rreg;
|
|
|
amdgpu_wreg_t gc_cac_wreg;
|
|
|
+ /* protects concurrent se_cac register access */
|
|
|
+ spinlock_t se_cac_idx_lock;
|
|
|
+ amdgpu_rreg_t se_cac_rreg;
|
|
|
+ amdgpu_wreg_t se_cac_wreg;
|
|
|
/* protects concurrent ENDPOINT (audio) register access */
|
|
|
spinlock_t audio_endpt_idx_lock;
|
|
|
amdgpu_block_rreg_t audio_endpt_rreg;
|
|
@@ -1747,6 +1751,8 @@ void amdgpu_mm_wdoorbell64(struct amdgpu_device *adev, u32 index, u64 v);
|
|
|
#define WREG32_DIDT(reg, v) adev->didt_wreg(adev, (reg), (v))
|
|
|
#define RREG32_GC_CAC(reg) adev->gc_cac_rreg(adev, (reg))
|
|
|
#define WREG32_GC_CAC(reg, v) adev->gc_cac_wreg(adev, (reg), (v))
|
|
|
+#define RREG32_SE_CAC(reg) adev->se_cac_rreg(adev, (reg))
|
|
|
+#define WREG32_SE_CAC(reg, v) adev->se_cac_wreg(adev, (reg), (v))
|
|
|
#define RREG32_AUDIO_ENDPT(block, reg) adev->audio_endpt_rreg(adev, (block), (reg))
|
|
|
#define WREG32_AUDIO_ENDPT(block, reg, v) adev->audio_endpt_wreg(adev, (block), (reg), (v))
|
|
|
#define WREG32_P(reg, val, mask) \
|