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

Commit fc01aee1 authored by Deepak Kumar's avatar Deepak Kumar
Browse files

msm: kgsl: Trigger GMU recovery on OOB set failures



Currently, GMU recovery for preemption and performance
counter OOB set failures is not getting triggered.
Enable this to make sure GMU snapshot is dumped and
recovery happens for these failures.

Change-Id: Ie4084c236957538d396cfb504f50d7b325a5743d
Signed-off-by: default avatarDeepak Kumar <dkumar@codeaurora.org>
parent ada19597
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1862,9 +1862,12 @@ static inline int adreno_perfcntr_active_oob_get(

	if (gmu_dev_ops->oob_set) {
		ret = gmu_dev_ops->oob_set(adreno_dev, oob_perfcntr);
		if (ret)
		if (ret) {
			adreno_set_gpu_fault(adreno_dev, ADRENO_GMU_FAULT);
			adreno_dispatcher_schedule(KGSL_DEVICE(adreno_dev));
			kgsl_active_count_put(KGSL_DEVICE(adreno_dev));
		}
	}

	return ret;
}
+6 −1
Original line number Diff line number Diff line
@@ -48,10 +48,15 @@ static void _update_wptr(struct adreno_device *adreno_dev, bool reset_timer)

		if (gmu_dev_ops->oob_set) {
			status = gmu_dev_ops->oob_set(adreno_dev, oob_preempt);
			if (status)
			if (status) {
				adreno_set_gpu_fault(adreno_dev,
					ADRENO_GMU_FAULT);
				adreno_dispatcher_schedule(
					KGSL_DEVICE(adreno_dev));
				return;
			}
		}
	}


	spin_lock_irqsave(&rb->preempt_lock, flags);