Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7715d7a9 authored by Amit Kushwaha's avatar Amit Kushwaha
Browse files

msm: kgsl: Skip GMU_GX register programming for A608



A608 GPU is not having the GX power domain.
Hence, skip GMU_GX registers for A608.

Change-Id: I36a01595f302fb8703661c3e5c32dd49f89c15ee
Signed-off-by: default avatarAmit Kushwaha <kushwaha@codeaurora.org>
parent 83155ee0
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -675,14 +675,27 @@ static void a6xx_hwcg_set(struct adreno_device *adreno_dev, bool on)

	regs = a6xx_hwcg_registers[i].regs;

	/* Disable SP clock before programming HWCG registers */
	gmu_core_regrmw(device, A6XX_GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL, 1, 0);
	/*
	 * Disable SP clock before programming HWCG registers.
	 * A608 GPU is not having the GX power domain. Hence
	 * skip GMU_GX registers for A608.
	 */

	if (!adreno_is_a608(adreno_dev))
		gmu_core_regrmw(device,
			A6XX_GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL, 1, 0);

	for (j = 0; j < a6xx_hwcg_registers[i].count; j++)
		kgsl_regwrite(device, regs[j].off, on ? regs[j].val : 0);

	/* Enable SP clock */
	gmu_core_regrmw(device, A6XX_GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL, 0, 1);
	/*
	 * Enable SP clock after programming HWCG registers.
	 * A608 GPU is not having the GX power domain. Hence
	 * skip GMU_GX registers for A608.
	 */
	if (!adreno_is_a608(adreno_dev))
		gmu_core_regrmw(device,
			A6XX_GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL, 0, 1);

	/* enable top level HWCG */
	kgsl_regwrite(device, A6XX_RBBM_CLOCK_CNTL,