Gfx-Display: postpone hdmi encoder restore
authorGeng Xiujun <xiujun.geng@intel.com>
Mon, 28 May 2012 10:48:52 +0000 (18:48 +0800)
committerbuildbot <buildbot@intel.com>
Wed, 6 Jun 2012 08:15:59 +0000 (01:15 -0700)
commitb56a4aaef10ba761cc2c5f7150b3255bdf583320
tree9da82f0c7ab03fdd0decb3b4eae8d8a1bcb35650
parent8d9789a4b24736b5aa02c4512472b1bcbb6d57ff
Gfx-Display: postpone hdmi encoder restore

BZ: 38178

after late resume, both mipi and hdmi are enabled, and lock screen should be
displayed. while actually an intermediate picture is showed before showing lock
screen. the reason is there is a early_suspend callback for fb device, a thread
loop in framework check its status to see whether fb device is ready to draw.
its level is 100, but the level of gfx_early_suspend is 150. so in early
suspend, the sequence is stop_drawing_early_suspend() --> gfx_early_suspend(),
while in late_resume, the sequence is gfx_late_resume() -->
start_drawing_late_resume(). so the first flip happens after enable pipe and
plane.

the solution is:
1. for mipi, before enabling pipe and plane, restore a black framebuffer.
2. for hdmi, postpone enable hdmi plane to let flip happen fist.

Change-Id: Ib15e72b24d02de97d4f8928afbcbb9fc24743ebd
Signed-off-by: Geng Xiujun <xiujun.geng@intel.com>
Reviewed-on: http://android.intel.com:8080/51373
Reviewed-by: Xu, Randy <randy.xu@intel.com>
Tested-by: Tong, BoX <box.tong@intel.com>
Reviewed-by: Ai, Ke <ke.ai@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/staging/mrst/drv/psb_intel_hdmi.c
drivers/staging/mrst/drv/psb_intel_hdmi.h
drivers/staging/mrst/drv/psb_powermgmt.c