[RESENT][PATCH v2 0/2] fb: add early fb blank feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



this patch adds early fb blank feature that a callback of lcd panel driver
is called prior to specific fb driver's one. in case of MIPI-DSI based video
mode LCD Panel, for lcd power off, the power off commands should be
transferred to lcd panel with display and mipi-dsi controller enabled
because the commands is set to lcd panel at vsync porch period. and in
opposite case, the callback of fb driver should be called prior to lcd panel
driver's one because of same issue. and also if fb_blank mode is changed to
FB_BLANK_POWERDOWN then display controller would be off(clock disable) but
lcd panel would be still on. at this time, you could see some issue like
sparkling on lcd panel because video clock to be delivered to ldi module of
lcd panel was disabled. this issue could occurs for all lcd panels.

the callback order is as the following:

at fb_blank function of fbmem.c
-> fb_notifier_call_chain(FB_EARLY_EVENT_BLANK)
       -> lcd panel driver's early_set_power()
-> info->fbops->fb_blank()
       -> spcefic fb driver's fb_blank()
-> fb_notifier_call_chain(FB_EVENT_BLANK)
       -> lcd panel driver's set_power()
   -> fb_notifier_call_chain(FB_R_EARLY_EVENT_BLANK) if
info->fops->fb_blank() was failed.

fb_notifier_call_chain(FB_R_EARLY_EVENT_BLANK) would be called to revert the
effects of previous FB_EARLY_EVENT_BLANK call. and note that if
early_set_power() of lcd_ops is NULL then early fb blank callback would be
ignored.

this patch is based on git repository below:
git://github.com/schandinat/linux-2.6.git
branch: fbdev-next
commit-id: 2b7a905dd0d24d14a1099653ba63b7113a82fc54

Links to previous versions of the patchset:
v1: < http://lkml.indiana.edu/hypermail/linux/kernel/1109.1/00413.html >

Changelog v2:
fb: add fb early blank event instead of early_blank_mode variable.
       fb notifier can know whether early blank mode is support or not
checking if early_set_power callback is NULL or not.

fb: add exception codes at fb_blank().
       the effects of previous FB_EARLY_EVENT_BLANK call should be reverted
if info->fbops->fb_blank() was failed.

fb: add code clean.

Changelog RESEND:
fb: fixed condition.
     this patch changes 'if (early_ret < 0)' to 'if (!early_ret)' of
fb_blank function.

these patch series are as the following:
[RESEND][PATCH v2 0/2] fb: add early fb blank feature.
       introduce new early fb blank feature.
[RESEND][PATCH v2 1/2] lcd: add callbacks for early fb event blank support.
[RESEND][PATCH v2 2/2] fb: add events for early fb event support.

Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux