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: Harshdeep Dhatt <hdhatt@codeaurora.org>
This commit is contained in:
Harshdeep Dhatt 2020-09-28 11:03:35 -06:00
commit 817655d509
2 changed files with 14 additions and 4 deletions

View file

@ -2302,6 +2302,8 @@ err:
return ret;
}
a6xx_gmu_irq_disable(adreno_dev);
clks_gdsc_off:
clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);
@ -2379,6 +2381,8 @@ err:
return ret;
}
a6xx_gmu_irq_disable(adreno_dev);
clks_gdsc_off:
clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);

View file

@ -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;
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;
return ret;
}
a6xx_gmu_irq_disable(adreno_dev);
clks_gdsc_off:
clk_bulk_disable_unprepare(gmu->num_clks, gmu->clks);