diff options
author | Eric Anholt <anholt@debian-sony.jf.intel.com> | 2006-03-08 15:08:06 -0800 |
---|---|---|
committer | Eric Anholt <anholt@leguin.anholt.net> | 2006-04-06 15:58:37 -0700 |
commit | b77bdc2c15640a3b15233f2190179d66bc8b2a4b (patch) | |
tree | 2da974c96841a5021a2dd7ea3c66056d4fede252 /src | |
parent | de4a9e4a7891daa1488d17bf4c22283759f97373 (diff) |
Move the PFIT enabling before the enabling of the pipe, as the specs say we
should. This doesn't work yet, as we apparently need to adjust the pipe to
output at the full resolution of the panel, not the displayed image size,
because PFIT controls scaling between the display planes and the pipe.
Diffstat (limited to 'src')
-rw-r--r-- | src/i830_display.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/i830_display.c b/src/i830_display.c index a7a01442..5386ac8d 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -463,6 +463,16 @@ i830PipeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode, int pipe) i830PipeSetBase(pScrn, pipe, pScrn->frameX0, pScrn->frameY0); OUTREG(PIPEBSRC, pipesrc); + if (outputs & PIPE_LCD_ACTIVE) { + /* Enable automatic panel scaling so that non-native modes fill the + * screen. + */ + /* XXX: Allow (auto-?) enabling of 8-to-6 dithering */ + OUTREG(PFIT_CONTROL, PFIT_ENABLE /*| + VERT_AUTO_SCALE | HORIZ_AUTO_SCALE | + VERT_INTERP_BILINEAR | HORIZ_INTERP_BILINEAR*/); + } + /* Then, turn the pipe on first */ temp = INREG(PIPEBCONF); OUTREG(PIPEBCONF, temp | PIPEBCONF_ENABLE); @@ -471,14 +481,6 @@ i830PipeSetMode(ScrnInfoPtr pScrn, DisplayModePtr pMode, int pipe) OUTREG(DSPBCNTR, dspcntr); if (outputs & PIPE_LCD_ACTIVE) { - /* Enable automatic panel scaling so that non-native modes fill the - * screen. - */ - /* XXX: Allow (auto-?) enabling of 8-to-6 dithering */ - OUTREG(PFIT_CONTROL, PFIT_ENABLE | - VERT_AUTO_SCALE | HORIZ_AUTO_SCALE | - VERT_INTERP_BILINEAR | HORIZ_INTERP_BILINEAR); - i830SetLVDSPanelPower(pScrn, TRUE); } } |