summaryrefslogtreecommitdiff
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
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.
-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);
}
}