Loading drivers/gpu/msm/adreno.c +12 −2 Original line number Diff line number Diff line Loading @@ -1872,10 +1872,20 @@ static int adreno_stop(struct kgsl_device *device) OOB_GPU_CHECK_MASK, OOB_GPU_CLEAR_MASK); if (error) { struct gmu_device *gmu = &device->gmu; gpudev->oob_clear(adreno_dev, OOB_GPU_CLEAR_MASK); if (gmu->gx_gdsc && regulator_is_enabled(gmu->gx_gdsc)) { /* GPU is on. Try recovery */ set_bit(GMU_FAULT, &gmu->flags); gmu_snapshot(device); error = -EINVAL; } else { return error; } } } adreno_dispatcher_stop(adreno_dev); Loading Loading @@ -1907,7 +1917,7 @@ static int adreno_stop(struct kgsl_device *device) * GMU to return to the lowest idle level. This is * because some idle level transitions require VBIF and MMU. */ if (gpudev->wait_for_lowest_idle && if (!error && gpudev->wait_for_lowest_idle && gpudev->wait_for_lowest_idle(adreno_dev)) { struct gmu_device *gmu = &device->gmu; Loading Loading
drivers/gpu/msm/adreno.c +12 −2 Original line number Diff line number Diff line Loading @@ -1872,10 +1872,20 @@ static int adreno_stop(struct kgsl_device *device) OOB_GPU_CHECK_MASK, OOB_GPU_CLEAR_MASK); if (error) { struct gmu_device *gmu = &device->gmu; gpudev->oob_clear(adreno_dev, OOB_GPU_CLEAR_MASK); if (gmu->gx_gdsc && regulator_is_enabled(gmu->gx_gdsc)) { /* GPU is on. Try recovery */ set_bit(GMU_FAULT, &gmu->flags); gmu_snapshot(device); error = -EINVAL; } else { return error; } } } adreno_dispatcher_stop(adreno_dev); Loading Loading @@ -1907,7 +1917,7 @@ static int adreno_stop(struct kgsl_device *device) * GMU to return to the lowest idle level. This is * because some idle level transitions require VBIF and MMU. */ if (gpudev->wait_for_lowest_idle && if (!error && gpudev->wait_for_lowest_idle && gpudev->wait_for_lowest_idle(adreno_dev)) { struct gmu_device *gmu = &device->gmu; Loading