Here early_suspend means we trigger gfx suspend at screen off,
which is gfx_runtime_suspend, and there are two points that we
can resume gfx back: gfx_resume() and gfx_runtime_resume().
The two functions looks same but in reality delay gfx resume to
gfx_runtime_resume() works better than gfx_resume(), because we
see some cases that screen can't resume back from gfx_resume().
Change-Id: I133a035cae0202f913ba918f798859fff0b920c0
Signed-off-by: Li Peng <peng.li@intel.com>
if (drm_helper_encoder_in_use(encoder) && ehf && ehf->save)
ehf->save(encoder);
}
- early_suspend = true;
mutex_unlock(&drm_dev->mode_config.mutex);
return ospm_power_suspend(dev);
dev_info(dev, "%s\n", __func__);
+ if (early_suspend)
+ return 0;
+
pm_runtime_forbid(dev);
ospm_power_resume(dev);