mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
drm/tilcdc: support pixel widths greater than 1024
TI LCD controller version 2 has an extended eleventh bit that enables horizontal resolutions greater than 1024 pixels to be specified (upto 2048). This patch adds support for setting this bit on LCDC V2. Signed-off-by: Darren Etheridge <detheridge@ti.com> Acked-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
abbee62387
commit
6bf02c66b9
2 changed files with 16 additions and 0 deletions
|
@ -310,6 +310,21 @@ static int tilcdc_crtc_mode_set(struct drm_crtc *crtc,
|
|||
((vsw & 0x3f) << 10);
|
||||
tilcdc_write(dev, LCDC_RASTER_TIMING_1_REG, reg);
|
||||
|
||||
/*
|
||||
* be sure to set Bit 10 for the V2 LCDC controller,
|
||||
* otherwise limited to 1024 pixels width, stopping
|
||||
* 1920x1080 being suppoted.
|
||||
*/
|
||||
if (priv->rev == 2) {
|
||||
if ((mode->vdisplay - 1) & 0x400) {
|
||||
tilcdc_set(dev, LCDC_RASTER_TIMING_2_REG,
|
||||
LCDC_LPP_B10);
|
||||
} else {
|
||||
tilcdc_clear(dev, LCDC_RASTER_TIMING_2_REG,
|
||||
LCDC_LPP_B10);
|
||||
}
|
||||
}
|
||||
|
||||
/* Configure display type: */
|
||||
reg = tilcdc_read(dev, LCDC_RASTER_CTRL_REG) &
|
||||
~(LCDC_TFT_MODE | LCDC_MONO_8BIT_MODE | LCDC_MONOCHROME_MODE |
|
||||
|
|
|
@ -80,6 +80,7 @@
|
|||
#define LCDC_INVERT_PIXEL_CLOCK BIT(22)
|
||||
#define LCDC_INVERT_HSYNC BIT(21)
|
||||
#define LCDC_INVERT_VSYNC BIT(20)
|
||||
#define LCDC_LPP_B10 BIT(26)
|
||||
|
||||
/* LCDC Block */
|
||||
#define LCDC_PID_REG 0x0
|
||||
|
|
Loading…
Reference in a new issue