summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <anholt@debian-sony.jf.intel.com>2006-03-08 15:08:06 -0800
committerEric Anholt <anholt@leguin.anholt.net>2006-04-06 15:58:37 -0700
commitb77bdc2c15640a3b15233f2190179d66bc8b2a4b (patch)
tree2da974c96841a5021a2dd7ea3c66056d4fede252 /src
parentde4a9e4a7891daa1488d17bf4c22283759f97373 (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.c18
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);
}
}