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

Commit 817655d5 authored by Harshdeep Dhatt's avatar Harshdeep Dhatt
Browse files

msm: kgsl: Fix error handling during gmu boot



Need to turn off interrupts if we encounter an error
other than a gmu fault or timeout.

Change-Id: If4261f5a2c8ce63bceede3a460faca0353817a39
Signed-off-by: default avatarHarshdeep Dhatt <hdhatt@codeaurora.org>
parent c381d24a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2302,6 +2302,8 @@ static int a6xx_gmu_first_boot(struct adreno_device *adreno_dev)
		return ret;
	}

	a6xx_gmu_irq_disable(adreno_dev);

clks_gdsc_off:
	clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);

@@ -2379,6 +2381,8 @@ static int a6xx_gmu_boot(struct adreno_device *adreno_dev)
		return ret;
	}

	a6xx_gmu_irq_disable(adreno_dev);

clks_gdsc_off:
	clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);

+10 −4
Original line number Diff line number Diff line
@@ -204,10 +204,13 @@ static int a6xx_hwsched_gmu_first_boot(struct adreno_device *adreno_dev)
	return 0;

err:
	if (device->gmu_fault)
	if (device->gmu_fault) {
		a6xx_gmu_suspend(adreno_dev);

		return ret;
	}

	a6xx_gmu_irq_disable(adreno_dev);

clks_gdsc_off:
	clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);
@@ -262,10 +265,13 @@ static int a6xx_hwsched_gmu_boot(struct adreno_device *adreno_dev)

	return 0;
err:
	if (device->gmu_fault)
	if (device->gmu_fault) {
		a6xx_gmu_suspend(adreno_dev);

		return ret;
	}

	a6xx_gmu_irq_disable(adreno_dev);

clks_gdsc_off:
	clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);