msm: kgsl: Fix HFI start failed on SA8155

In current code GMU can't startup properly on SA8155,
because of HFI start failure, we can fix this by moving
load pdc and rsc before HFI start.

Fixes: 90da593e71 ("msm: kgsl: Create a6xx gmu power ops")
Change-Id: Ie373cb89a54e88b3eedd62df65153e0c931b019b
Signed-off-by: Hui Li <hul@codeaurora.org>
This commit is contained in:
Hui Li 2020-08-05 22:41:31 +08:00
commit 449d29fb0f
2 changed files with 10 additions and 8 deletions

View file

@ -2197,6 +2197,15 @@ static int a6xx_gmu_first_boot(struct adreno_device *adreno_dev)
goto err;
}
if (!test_bit(GMU_PRIV_PDC_RSC_LOADED, &gmu->flags)) {
ret = a6xx_load_pdc_ucode(adreno_dev);
if (ret)
goto err;
a6xx_load_rsc_ucode(adreno_dev);
set_bit(GMU_PRIV_PDC_RSC_LOADED, &gmu->flags);
}
ret = a6xx_gmu_hfi_start(adreno_dev);
if (ret)
goto err;
@ -2985,14 +2994,6 @@ static int a6xx_first_boot(struct adreno_device *adreno_dev)
if (ret)
return ret;
ret = a6xx_load_pdc_ucode(adreno_dev);
if (ret) {
a6xx_gmu_power_off(adreno_dev);
return ret;
}
a6xx_load_rsc_ucode(adreno_dev);
adreno_get_bus_counters(adreno_dev);
adreno_dev->cooperative_reset = ADRENO_FEATURE(adreno_dev,

View file

@ -137,6 +137,7 @@ enum {
GMU_PRIV_HFI_STARTED,
GMU_PRIV_RSCC_SLEEP_DONE,
GMU_PRIV_PM_SUSPEND,
GMU_PRIV_PDC_RSC_LOADED,
};
/**