File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed
drivers/gpu/drm/amd/amdgpu Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -6871,8 +6871,12 @@ static int gfx_v10_0_kiq_init_register(struct amdgpu_ring *ring)
6871
6871
if (ring -> use_doorbell ) {
6872
6872
WREG32_SOC15 (GC , 0 , mmCP_MEC_DOORBELL_RANGE_LOWER ,
6873
6873
(adev -> doorbell_index .kiq * 2 ) << 2 );
6874
+ /* If GC has entered CGPG, ringing doorbell > first page doesn't
6875
+ * wakeup GC. Enlarge CP_MEC_DOORBELL_RANGE_UPPER to workaround
6876
+ * this issue.
6877
+ */
6874
6878
WREG32_SOC15 (GC , 0 , mmCP_MEC_DOORBELL_RANGE_UPPER ,
6875
- (adev -> doorbell_index . userqueue_end * 2 ) << 2 );
6879
+ (adev -> doorbell . size - 4 ) );
6876
6880
}
6877
6881
6878
6882
WREG32_SOC15 (GC , 0 , mmCP_HQD_PQ_DOORBELL_CONTROL ,
Original file line number Diff line number Diff line change @@ -3673,8 +3673,12 @@ static int gfx_v9_0_kiq_init_register(struct amdgpu_ring *ring)
3673
3673
if (ring -> use_doorbell ) {
3674
3674
WREG32_SOC15 (GC , 0 , mmCP_MEC_DOORBELL_RANGE_LOWER ,
3675
3675
(adev -> doorbell_index .kiq * 2 ) << 2 );
3676
+ /* If GC has entered CGPG, ringing doorbell > first page doesn't
3677
+ * wakeup GC. Enlarge CP_MEC_DOORBELL_RANGE_UPPER to workaround
3678
+ * this issue.
3679
+ */
3676
3680
WREG32_SOC15 (GC , 0 , mmCP_MEC_DOORBELL_RANGE_UPPER ,
3677
- (adev -> doorbell_index . userqueue_end * 2 ) << 2 );
3681
+ (adev -> doorbell . size - 4 ) );
3678
3682
}
3679
3683
3680
3684
WREG32_SOC15_RLC (GC , 0 , mmCP_HQD_PQ_DOORBELL_CONTROL ,
You can’t perform that action at this time.
0 commit comments