19 Aug, 2011
2 commits
-
Instead of restoring registers blindly, restart the LCDC by going
through the startup sequence when resuming from runtime PM suspend. All
registers are now correctly initialized in the right order.As a side effect, this also gets rid fo a possible panning restore issue
caused by always saving the frame buffer base address registers from set
A instead of the currently active set.Signed-off-by: Laurent Pinchart
-
Splitting the LCDC start code from clock, MERAM and panel management
will make the code usable by runtime PM.Signed-off-by: Laurent Pinchart
23 May, 2011
1 commit
-
Based on the patch by Takanari Hayama
Adds support framework necessary to use Media RAM (MERAM)
caching functionality with the LCDC. The MERAM is accessed
through up to 4 Interconnect Buffers (ICBs).ICB numbers and MERAM address ranges to use are specified in
by filling in the .meram_cfg member of the LCDC platform dataSigned-off-by: Damian Hobson-Garcia
Signed-off-by: Paul Mundt
29 Mar, 2011
2 commits
-
Add a blanking callback to the LCDC driver in order to support both
FBIOBLANK and TIOCLINUX blanking ioctls. LCDC clocks are also released
if the requested blanking level is superior to FB_BLANK_NORMAL, to allow
runtime PM to disable the clocks if possible.Signed-off-by: Alexandre Courbot
Signed-off-by: Paul Mundt
16 Mar, 2011
1 commit
-
Supports YCbCr420sp, YCbCr422sp, and YCbCr44sp, formats
(bpp = 12, 16, and 24) respectively.When double-buffering both Y planes appear before the C planes (Y-Y-C-C),
as opposed to Y-C-Y-C.Set .nonstd in struct sh_mobile_lcdc_chan_cfg to enable YUV mode, and use
.bpp to distiguish between the 3 modes.
The value of .nonstd is copied to bits 16-31 of LDDFR in the LCDC and
should be set accordingly.
.nonstd must be set to 0 for RGB mode.Due to the encoding of YUV data, the framebuffer will clear to green
instead of black.In YUV 420 mode, panning is only possible in 2 line increments.
Additionally in YUV 420 mode the vertical resolution of the framebuffer
must be an even number.Signed-off-by: Damian Hobson-Garcia
Signed-off-by: Paul Mundt
10 Mar, 2011
1 commit
-
Support for backlight devices controlled through board-specific
routines. Backlights can be defined per-channel and follow fbdev
directives to switch off as the LCD blanks or is turned on/off.Signed-off-by: Alexandre Courbot
Signed-off-by: Paul Mundt
16 Sep, 2010
1 commit
-
Currently the sh_mobile_lcdc driver only reconfigures the hardware interface,
when a new monitor is plugged in. This patch adds support for dynamic
framebuffer reconfiguration, when no user is holding the framebuffer device
node open.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Paul Mundt
14 Sep, 2010
2 commits
-
This is a preparation for a patch, that shall allow displaying of a smaller
framebuffer on a bigger display and of a part of a bigger framebuffer on a
smaller display.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Paul Mundt -
The SH-Mobile HDMI driver runs in several contexts: ISR, delayed work-queue,
task context, when called from the sh_mobile_lcdc framebuffer driver. This
creates ample race possibilities. Even though most these races are purely
theoretical, it is better to close them. To trace fb_info validity we install a
notification callback in the HDMI driver, and the only way for it to get to
driver internal data is by using struct sh_mobile_lcdc_chan, therefore it had
to be extracted into a separate common header.Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Paul Mundt