Skip to content

Commit ff7a6de

Browse files
akhilpo-qcomRob Clark
authored andcommitted
drm/msm/a6xx: Fix the gemnoc workaround
Correct the register offset and enable this workaround for all A7x and newer GPUs to match the recommendation. Also, downstream does this w/a after moving the fence to allow mode. So do the same. Fixes: dbfbb37 ("drm/msm/a6xx: Add A621 support") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> Patchwork: https://patchwork.freedesktop.org/patch/688997/ Message-ID: <20251118-kaana-gpu-support-v4-3-86eeb8e93fb6@oss.qualcomm.com> Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
1 parent 180349b commit ff7a6de

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

drivers/gpu/drm/msm/adreno/a6xx_gmu.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,9 @@ static void a6xx_gemnoc_workaround(struct a6xx_gmu *gmu)
511511
* in the power down sequence not being fully executed. That in turn can
512512
* prevent CX_GDSC from collapsing. Assert Qactive to avoid this.
513513
*/
514-
if (adreno_is_a621(adreno_gpu) || adreno_is_7c3(adreno_gpu))
515-
gmu_write(gmu, REG_A6XX_GMU_AO_AHB_FENCE_CTRL, BIT(0));
514+
if (adreno_is_a7xx(adreno_gpu) || (adreno_is_a621(adreno_gpu) ||
515+
adreno_is_7c3(adreno_gpu)))
516+
gmu_write(gmu, REG_A6XX_GPU_GMU_CX_GMU_CX_FALNEXT_INTF, BIT(0));
516517
}
517518

518519
/* Let the GMU know that we are about to go into slumber */
@@ -548,10 +549,9 @@ static int a6xx_gmu_notify_slumber(struct a6xx_gmu *gmu)
548549
}
549550

550551
out:
551-
a6xx_gemnoc_workaround(gmu);
552-
553552
/* Put fence into allow mode */
554553
gmu_write(gmu, REG_A6XX_GMU_AO_AHB_FENCE_CTRL, 0);
554+
a6xx_gemnoc_workaround(gmu);
555555
return ret;
556556
}
557557

0 commit comments

Comments
 (0)