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

Commit 72a20ddf authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: clear fault to avoid race between timeout and hard fault"

parents 7f7484ca 57ff0136
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -2009,9 +2009,6 @@ static int _adreno_start(struct adreno_device *adreno_dev)

	regulator_left_on = regulators_left_on(device);

	/* Clear any GPU faults that might have been left over */
	adreno_clear_gpu_fault(adreno_dev);

	/*
	 * Keep high bus vote to reduce AHB latency
	 * during FW loading and wakeup.
@@ -2047,6 +2044,14 @@ static int _adreno_start(struct adreno_device *adreno_dev)
	 */
	adreno_deassert_gbif_halt(adreno_dev);

	/*
	 * Observed race between timeout fault (long IB detection) and
	 * MISC hang (hard fault). MISC hang can be set while in recovery from
	 * timeout fault. If fault flag is set in start path CP init fails.
	 * Clear gpu fault to avoid such race.
	 */
	adreno_clear_gpu_fault(adreno_dev);

	adreno_ringbuffer_set_global(adreno_dev, 0);

	status = kgsl_mmu_start(device);