xf86-video-intel: Branch 'xf86-video-intel-2.3-branch' - 4 commits - man/Makefile.am src/common.h src/i830_memory.c src/i830_quirks.c src/i830_sdvo.c src/i830_video.c
Zhenyu Wang
zhen at kemper.freedesktop.org
Sun Mar 9 22:46:55 PDT 2008
man/Makefile.am | 1 -
src/common.h | 2 +-
src/i830_memory.c | 16 +++++++---------
src/i830_quirks.c | 3 +++
src/i830_sdvo.c | 2 +-
src/i830_video.c | 13 ++-----------
6 files changed, 14 insertions(+), 23 deletions(-)
New commits:
commit e8d0e1fe5a2822160f70710b598c04dd59183224
Author: Dave Airlie <airlied at clockmaker.usersys.redhat.com>
Date: Mon Mar 10 14:43:24 2008 +1000
quirk: add DVO ivch quirk
diff --git a/src/i830_quirks.c b/src/i830_quirks.c
index 2486e41..c7d32cd 100644
--- a/src/i830_quirks.c
+++ b/src/i830_quirks.c
@@ -238,6 +238,9 @@ static i830_quirk i830_quirk_list[] = {
/* Toshiba i830M laptop (fix bug 11148) */
{ PCI_CHIP_I830_M, 0x1179, 0xff00, quirk_ivch_dvob },
+ /* Motion Computing M1200 reported on irc */
+ { PCI_CHIP_I830_M, 0x14c0, 0x0012, quirk_ivch_dvob },
+
/* Samsung Q35 has no TV output */
{ PCI_CHIP_I945_GM, 0x144d, 0xc504, quirk_ignore_tv },
/* Samsung Q45 has no TV output */
commit 2eff2a11c4a8dd6b2accdd3f862c2a8e27240ed8
Author: Matthieu Herrb <matthieu.herrb at laas.fr>
Date: Sat Mar 8 23:36:56 2008 +0100
Makefile.am: nuke RCS Id
diff --git a/man/Makefile.am b/man/Makefile.am
index b5510e8..7432d5a 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,3 @@
-# $Id$
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
#
commit 11f08ff59e3a099071237a1025ebc1ec91aac804
Author: Eric Anholt <eric at anholt.net>
Date: Fri Mar 7 14:26:22 2008 -0800
Avoid setting reserved bits in SDVOx on everything 965-class.
This will likely fix SDVO outputs on G35 hardware.
diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c
index c7cbfac..d0c65f2 100644
--- a/src/i830_sdvo.c
+++ b/src/i830_sdvo.c
@@ -727,7 +727,7 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode,
}
/* Set the SDVO control regs. */
- if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) {
+ if (IS_I965G(pI830)) {
sdvox = SDVO_BORDER_ENABLE;
} else {
sdvox = INREG(dev_priv->output_device);
commit b04b1af79a55cdbbb51519100bc24bc622ce8627
Author: Jesse Barnes <jbarnes at hobbes.virtuousgeek.org>
Date: Fri Mar 7 13:18:09 2008 -0800
Enable hardware overlay on 965
Based on Maxim Levitsky's patch for the same. Many thanks to Maxim for
discovering that this features still works in recent hardware!
diff --git a/src/common.h b/src/common.h
index c0af1ad..09f28f8 100644
--- a/src/common.h
+++ b/src/common.h
@@ -440,7 +440,7 @@ extern int I810_DEBUG;
#define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810) || IS_I945GM(pI810) || IS_I965GM(pI810) || IS_IGD_GM(pI810))
/* mark chipsets for using gfx VM offset for overlay */
-#define OVERLAY_NOPHYSICAL(pI810) (IS_G33CLASS(pI810))
+#define OVERLAY_NOPHYSICAL(pI810) (IS_G33CLASS(pI810) || IS_I965G(pI810))
/* chipsets require graphics mem for hardware status page */
#define HWS_NEED_GFX(pI810) (IS_G33CLASS(pI810) || IS_IGD_GM(pI810))
diff --git a/src/i830_memory.c b/src/i830_memory.c
index ad34f19..e9097ec 100644
--- a/src/i830_memory.c
+++ b/src/i830_memory.c
@@ -1044,15 +1044,13 @@ i830_allocate_overlay(ScrnInfoPtr pScrn)
if (!OVERLAY_NOPHYSICAL(pI830))
flags |= NEED_PHYSICAL_ADDR;
- if (!IS_I965G(pI830)) {
- pI830->overlay_regs = i830_allocate_memory(pScrn, "overlay registers",
- OVERLAY_SIZE, GTT_PAGE_SIZE,
- flags);
- if (pI830->overlay_regs == NULL) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "Failed to allocate Overlay register space.\n");
- /* This failure isn't fatal. */
- }
+ pI830->overlay_regs = i830_allocate_memory(pScrn, "overlay registers",
+ OVERLAY_SIZE, GTT_PAGE_SIZE,
+ flags);
+ if (pI830->overlay_regs == NULL) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Failed to allocate Overlay register space.\n");
+ /* This failure isn't fatal. */
}
return TRUE;
diff --git a/src/i830_video.c b/src/i830_video.c
index 79e0574..bf260e4 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -352,7 +352,7 @@ i830_overlay_switch_to_crtc (ScrnInfoPtr pScrn, xf86CrtcPtr crtc)
I830CrtcPrivatePtr intel_crtc = crtc->driver_private;
int pipeconf_reg = intel_crtc->pipe == 0 ? PIPEACONF : PIPEBCONF;
- if (INREG(pipeconf_reg) & PIPEACONF_DOUBLE_WIDE)
+ if (!IS_I965G(pI830) && (INREG(pipeconf_reg) & PIPEACONF_DOUBLE_WIDE))
pPriv->overlayOK = FALSE;
else
pPriv->overlayOK = TRUE;
@@ -580,8 +580,7 @@ I830InitVideo(ScreenPtr pScreen)
}
/* Set up overlay video if we can do it at this depth. */
- if (!IS_I965G(pI830) && pScrn->bitsPerPixel != 8 &&
- pI830->overlay_regs != NULL)
+ if (pScrn->bitsPerPixel != 8 && pI830->overlay_regs != NULL)
{
overlayAdaptor = I830SetupImageVideoOverlay(pScreen);
if (overlayAdaptor != NULL) {
@@ -2563,10 +2562,6 @@ I830VideoBlockHandler(int i, pointer blockData, pointer pTimeout,
if (pI830->adaptor == NULL)
return;
- /* No overlay scaler on the 965. */
- if (IS_I965G(pI830))
- return;
-
pPriv = GET_PORT_PRIVATE(pScrn);
if (pPriv->videoStatus & TIMER_MASK) {
@@ -2846,10 +2841,6 @@ i830_crtc_dpms_video(xf86CrtcPtr crtc, Bool on)
if (pI830->adaptor == NULL)
return;
- /* No overlay scaler on the 965. */
- if (IS_I965G(pI830))
- return;
-
pPriv = GET_PORT_PRIVATE(pScrn);
if (crtc != pPriv->current_crtc)
More information about the xorg-commit
mailing list