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

Commit a316a2a6 authored by Jordan Crouse's avatar Jordan Crouse
Browse files

msm: kgsl: Turn back on the SP/TP regulator after a soft reset



The SP/TP regulator lives inside of the GPU and thus gets reset
along with the rest of the GPU after a soft reset.  Re-enable it
after a soft reset.  While we are at it remove an accidental soft
reset earlier in the sequence that is harmless yet uneeded.

Change-Id: Ic0dedbadff80e2da648941eade57f2d07257e5d2
Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
parent db107eec
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -357,6 +357,7 @@ static int adreno_soft_reset(struct kgsl_device *device);
 */
void _soft_reset(struct adreno_device *adreno_dev)
{
	struct kgsl_device *device = &adreno_dev->dev;
	unsigned int reg;

	adreno_writereg(adreno_dev, ADRENO_REG_RBBM_SW_RESET_CMD, 1);
@@ -366,6 +367,10 @@ void _soft_reset(struct adreno_device *adreno_dev)
	 */
	adreno_readreg(adreno_dev, ADRENO_REG_RBBM_SW_RESET_CMD, &reg);
	adreno_writereg(adreno_dev, ADRENO_REG_RBBM_SW_RESET_CMD, 0);

	/* The SP/TP regulator gets turned off after a soft reset */
	if (device->ftbl->regulator_enable)
		device->ftbl->regulator_enable(device);
}


@@ -2220,8 +2225,6 @@ static int adreno_soft_reset(struct kgsl_device *device)
	struct adreno_gpudev *gpudev = ADRENO_GPU_DEVICE(adreno_dev);
	int ret;

	_soft_reset(adreno_dev);

	adreno_set_active_ctx_null(adreno_dev);

	if (kgsl_pwrctrl_isenabled(device))