xf86-video-intel: Branch 'modesetting' - 2 commits - src/i830_driver.c src/i830_tv.c
Keith Packard
keithp at kemper.freedesktop.org
Thu Dec 14 23:49:19 EET 2006
src/i830_driver.c | 16 ++++++++++++----
src/i830_tv.c | 2 +-
2 files changed, 13 insertions(+), 5 deletions(-)
New commits:
diff-tree d4142abc68888178a8f6c54fdcece91e898bc9f5 (from 2b5a5542ad7d1c558d1684a0a69b66bab6e9d001)
Author: Keith Packard <keithp at neko.keithp.com>
Date: Thu Dec 14 13:49:08 2006 -0800
Set frame buffer size ranges in xf86_config.
Initialization and default configuration code needs to know the range of
legitimate sizes for the frame buffer.
diff --git a/src/i830_driver.c b/src/i830_driver.c
index d4f2aa3..a210b63 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -912,6 +912,7 @@ I830PreInit(ScrnInfoPtr pScrn, int flags
Bool enable;
const char *chipname;
int num_pipe;
+ int max_width;
#ifdef XF86DRI
unsigned long savedMMSize;
#endif
@@ -970,10 +971,6 @@ I830PreInit(ScrnInfoPtr pScrn, int flags
} else
pI830->entityPrivate = NULL;
- /* Allocate an xf86CrtcConfig */
- xf86CrtcConfigInit (pScrn);
- xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
-
if (xf86RegisterResources(pI830->pEnt->index, 0, ResNone)) {
PreInitCleanup(pScrn);
return FALSE;
@@ -1181,6 +1178,16 @@ I830PreInit(ScrnInfoPtr pScrn, int flags
xf86DrvMsg(pScrn->scrnIndex, from, "IO registers at addr 0x%lX\n",
(unsigned long)pI830->MMIOAddr);
+ /* Allocate an xf86CrtcConfig */
+ xf86CrtcConfigInit (pScrn);
+ xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
+
+ if (IS_I965G(pI830))
+ max_width = 16384;
+ else
+ max_width = 8192 / pI830->cpp;
+ xf86CrtcSetSizeRange (pScrn, 320, 200, max_width, 2048);
+
/* Some of the probing needs MMIO access, so map it here. */
I830MapMMIO(pScrn);
@@ -1836,6 +1843,7 @@ I830PreInit(ScrnInfoPtr pScrn, int flags
if (pScrn->displayWidth * pI830->cpp > 8192) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Cannot support frame buffer stride > 8K > DRI.\n");
pI830->disableTiling = TRUE;
+ pI830->directRenderingDisabled = TRUE;
}
if (pScrn->virtualY > 2048) {
diff-tree 2b5a5542ad7d1c558d1684a0a69b66bab6e9d001 (from 3fe802453a85183a69c36a098639895f49b17df1)
Author: Keith Packard <keithp at neko.keithp.com>
Date: Thu Dec 14 13:43:50 2006 -0800
Change TV modes from Preferred to Driver.
This avoids having the artificial TV mode size drive overall screen size.
diff --git a/src/i830_tv.c b/src/i830_tv.c
index ccb6aac..af9826b 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -702,7 +702,7 @@ i830_tv_get_modes(xf86OutputPtr output)
new->VSyncEnd = 777;
new->VTotal = 806;
- new->type = M_T_PREFERRED;
+ new->type = M_T_DRIVER;
return new;
}
More information about the xorg-commit
mailing list