msm: kgsl: Save and restore the power ctrl_flags during recovery

Power ctrl_flags will prevent the GPU power collapse when the
user has overwritten the force_rail_on, force_clk_on etc. This
will result into GPU wakeup problems in case power collapse
hasn’t happened during the hang recovery.

Change-Id: Ib1e86bbb70b2b71b8f8820692d13ce3ab6200db0
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
This commit is contained in:
Hareesh Gundu 2020-08-20 12:30:09 +05:30
commit f2af78b73d

View file

@ -1166,6 +1166,10 @@ static int a6xx_reset(struct kgsl_device *device)
{
struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
int ret;
unsigned long flags = device->pwrctrl.ctrl_flags;
/* Clear ctrl_flags to ensure clocks and regulators are turned off */
device->pwrctrl.ctrl_flags = 0;
kgsl_pwrctrl_change_state(device, KGSL_STATE_INIT);
@ -1178,6 +1182,8 @@ static int a6xx_reset(struct kgsl_device *device)
kgsl_pwrctrl_change_state(device, KGSL_STATE_ACTIVE);
device->pwrctrl.ctrl_flags = flags;
/* Toggle GX CPR on demand */
a6xx_gx_cpr_toggle(device);