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

Commit 2d6f044f authored by Akhil P Oommen's avatar Akhil P Oommen Committed by Gerrit - the friendly Code Review server
Browse files

msm: kgsl: Fix preemption fault handling for A6xx GPU



In preemption fault handler, check only the STOP bit of
ADRENO_REG_CP_PREEMPT register to see if the preemption is complete.

Change-Id: Id1f2d0947412e996d6028558124c3e528527cec6
Signed-off-by: default avatarAkhil P Oommen <akhilpo@codeaurora.org>
Signed-off-by: default avatarSebanti Das <sebadas@codeaurora.org>
parent f69d3db0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ static void _a6xx_preemption_fault(struct adreno_device *adreno_dev)
	if (kgsl_state_is_awake(device)) {
		kgsl_regread(device, A6XX_CP_CONTEXT_SWITCH_CNTL, &status);

		if (status == 0) {
		if (!(status & 0x1)) {
			adreno_set_preempt_state(adreno_dev,
				ADRENO_PREEMPT_COMPLETE);

@@ -149,7 +149,7 @@ static void _a6xx_preemption_fault(struct adreno_device *adreno_dev)
	}

	dev_err(device->dev,
		     "Preemption timed out: cur=%d R/W=%X/%X, next=%d R/W=%X/%X\n",
		     "Preemption Fault: cur=%d R/W=0x%x/0x%x, next=%d R/W=0x%x/0x%x\n",
		     adreno_dev->cur_rb->id,
		     adreno_get_rptr(adreno_dev->cur_rb),
		     adreno_dev->cur_rb->wptr,