struct vigs_device *vigs_dev = crtc->dev->dev_private;
int blank, i;
struct fb_event event;
+ static bool backlight_initialized = false;
DRM_DEBUG_KMS("enter: in_dpms = %d, mode = %d\n",
vigs_dev->in_dpms,
*/
vigs_dev->in_dpms = true;
+ if (!backlight_initialized && blank == FB_BLANK_POWERDOWN){
+ /*
+ * We have to avoid turning off display backlight
+ * before turning it on. This is maru backlight
+ * driver limitation because Frame buffer driver
+ * do not control backlight driver and cannot
+ * turn on backlight initially.
+ * So let turn backlight on first time.
+ */
+ blank = FB_BLANK_UNBLANK;
+ fb_notifier_call_chain(FB_EVENT_BLANK, &event);
+ blank = FB_BLANK_POWERDOWN;
+ backlight_initialized = true;
+ }
fb_notifier_call_chain(FB_EVENT_BLANK, &event);
vigs_dev->in_dpms = false;