xserver-xorg-video-intel: Changes to 'ubuntu'
debian/changelog | 8 +
debian/patches/101_copy-fb.patch | 43 ++++----
debian/patches/104_sandybridge_id_update.patch | 129 +++++++++++++++++++++++++
debian/patches/series | 1
4 files changed, 160 insertions(+), 21 deletions(-)
New commits:
commit 5a1f11ec85565a7461dff47b4b2bb4c7785a519c
Author: Robert Hooker <sarvatt@ubuntu.com>
Date: Fri Sep 10 07:41:13 2010 -0400
Update Sandybridge device id's.
diff --git a/debian/changelog b/debian/changelog
index 68ed5d6..60ac975 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,8 +2,9 @@ xserver-xorg-video-intel (2:2.12.0-1ubuntu4) maverick; urgency=low
* debian/patches/101_copy-fb.patch: Explicitly disable copyfb functionality
on gen6 (Sandybridge) where it is not working.
+ * Update Sandybridge device id's. (LP: #632488)
- -- Robert Hooker <robert.hooker@canonical.com> Fri, 10 Sep 2010 07:12:38 -0400
+ -- Robert Hooker <robert.hooker@canonical.com> Fri, 10 Sep 2010 07:39:32 -0400
xserver-xorg-video-intel (2:2.12.0-1ubuntu3) maverick; urgency=low
diff --git a/debian/patches/104_sandybridge_id_update.patch b/debian/patches/104_sandybridge_id_update.patch
new file mode 100644
index 0000000..b8ab2bf
--- /dev/null
+++ b/debian/patches/104_sandybridge_id_update.patch
@@ -0,0 +1,129 @@
+From 07b87ed8ef6c2ed144c5b646cf3116aa642fb89a Mon Sep 17 00:00:00 2001
+From: Robert Hooker <sarvatt@ubuntu.com>
+Date: Fri, 10 Sep 2010 07:36:12 -0400
+Subject: [PATCH] Update Sandybridge device id's.
+
+Backport of upstream commits 53767cc0d0a58d36cd445da3a31c65b349eebbba
+and 104cd0554bde1d109a54db7a93700d5edfabd914. Drop after 2.12.
+
+Signed-off-by: Robert Hooker <sarvatt@ubuntu.com>
+---
+ src/common.h | 25 ++++++++++++++++++-------
+ src/i810_driver.c | 23 +++++++++++++++++++++--
+ src/i830_driver.c | 9 +++++++++
+ 3 files changed, 48 insertions(+), 9 deletions(-)
+
+diff --git a/src/common.h b/src/common.h
+index 30f1c78..6824b15 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -323,11 +323,17 @@ extern int I810_DEBUG;
+ #define PCI_CHIP_IGDNG_M_G_BRIDGE 0x0044
+ #endif
+
+-#ifndef PCI_CHIP_SANDYBRIDGE
+-#define PCI_CHIP_SANDYBRIDGE 0x0102
+-#define PCI_CHIP_SANDYBRIDGE_BRIDGE 0x0100
+-#define PCI_CHIP_SANDYBRIDGE_M 0x0106
+-#define PCI_CHIP_SANDYBRIDGE_BRIDGE_M 0x0104
++#ifndef PCI_CHIP_SANDYBRIDGE_BRIDGE
++#define PCI_CHIP_SANDYBRIDGE_BRIDGE 0x0100 /* Desktop */
++#define PCI_CHIP_SANDYBRIDGE_GT1 0x0102
++#define PCI_CHIP_SANDYBRIDGE_GT2 0x0112
++#define PCI_CHIP_SANDYBRIDGE_GT2_PLUS 0x0122
++#define PCI_CHIP_SANDYBRIDGE_BRIDGE_M 0x0104 /* Mobile */
++#define PCI_CHIP_SANDYBRIDGE_M_GT1 0x0106
++#define PCI_CHIP_SANDYBRIDGE_M_GT2 0x0116
++#define PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS 0x0126
++#define PCI_CHIP_SANDYBRIDGE_BRIDGE_S 0x0108 /* Server */
++#define PCI_CHIP_SANDYBRIDGE_S_GT 0x010A
+ #endif
+
+ #define I810_MEMBASE(p,n) (p)->regions[(n)].base_addr
+@@ -385,8 +391,13 @@ extern int I810_DEBUG;
+
+ #define IS_I915(pI810) (IS_I915G(pI810) || IS_I915GM(pI810) || IS_I945G(pI810) || IS_I945GM(pI810) || IS_G33CLASS(pI810))
+
+-#define IS_GEN6(pI810) ((pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE || \
+- (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_M)
++#define IS_GEN6(pI810) ((pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_GT1 || \
++ (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_GT2 || \
++ (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_GT2_PLUS || \
++ (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_M_GT1 ||\
++ (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_M_GT2 || \
++ (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS ||\
++ (pI810)->PciInfo->device_id == PCI_CHIP_SANDYBRIDGE_S_GT)
+
+ #define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810) || IS_I945GM(pI810) || IS_I965GM(pI810) || IS_GM45(pI810) || IS_IGD(pI810) || IS_IGDNG_M(pI810))
+ /* supports Y tiled surfaces (pre-965 Mesa isn't ready yet) */
+diff --git a/src/i810_driver.c b/src/i810_driver.c
+index 088b552..4440fd9 100644
+--- a/src/i810_driver.c
++++ b/src/i810_driver.c
+@@ -140,8 +140,13 @@ static const struct pci_id_match intel_device_match[] = {
+ INTEL_DEVICE_MATCH (PCI_CHIP_B43_G, 0 ),
+ INTEL_DEVICE_MATCH (PCI_CHIP_IGDNG_D_G, 0 ),
+ INTEL_DEVICE_MATCH (PCI_CHIP_IGDNG_M_G, 0 ),
+- INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE, 0 ),
+- INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_M, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_GT1, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_GT2, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_GT2_PLUS, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_M_GT1, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_M_GT2, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS, 0 ),
++ INTEL_DEVICE_MATCH (PCI_CHIP_SANDYBRIDGE_S_GT, 0 ),
+ { 0, 0, 0 },
+ };
+
+@@ -196,6 +201,13 @@ static SymTabRec I810Chipsets[] = {
+ {PCI_CHIP_B43_G, "B43"},
+ {PCI_CHIP_IGDNG_D_G, "Clarkdale"},
+ {PCI_CHIP_IGDNG_M_G, "Arrandale"},
++ {PCI_CHIP_SANDYBRIDGE_GT1, "Sandybridge" },
++ {PCI_CHIP_SANDYBRIDGE_GT2, "Sandybridge" },
++ {PCI_CHIP_SANDYBRIDGE_GT2_PLUS, "Sandybridge" },
++ {PCI_CHIP_SANDYBRIDGE_M_GT1, "Sandybridge" },
++ {PCI_CHIP_SANDYBRIDGE_M_GT2, "Sandybridge" },
++ {PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS, "Sandybridge" },
++ {PCI_CHIP_SANDYBRIDGE_S_GT, "Sandybridge" },
+ {-1, NULL}
+ };
+
+@@ -235,6 +247,13 @@ static PciChipsets I810PciChipsets[] = {
+ {PCI_CHIP_B43_G, PCI_CHIP_B43_G, NULL},
+ {PCI_CHIP_IGDNG_D_G, PCI_CHIP_IGDNG_D_G, NULL},
+ {PCI_CHIP_IGDNG_M_G, PCI_CHIP_IGDNG_M_G, NULL},
++ {PCI_CHIP_SANDYBRIDGE_GT1, PCI_CHIP_SANDYBRIDGE_GT1, NULL},
++ {PCI_CHIP_SANDYBRIDGE_GT2, PCI_CHIP_SANDYBRIDGE_GT2, NULL},
++ {PCI_CHIP_SANDYBRIDGE_GT2_PLUS, PCI_CHIP_SANDYBRIDGE_GT2_PLUS, NULL},
++ {PCI_CHIP_SANDYBRIDGE_M_GT1, PCI_CHIP_SANDYBRIDGE_M_GT1, NULL},
++ {PCI_CHIP_SANDYBRIDGE_M_GT2, PCI_CHIP_SANDYBRIDGE_M_GT2, NULL},
++ {PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS, PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS, NULL},
++ {PCI_CHIP_SANDYBRIDGE_S_GT, PCI_CHIP_SANDYBRIDGE_S_GT, NULL},
+ {-1, -1, NULL }
+ };
+
+diff --git a/src/i830_driver.c b/src/i830_driver.c
+index b8e0c0b..b13894e 100644
+--- a/src/i830_driver.c
++++ b/src/i830_driver.c
+@@ -499,6 +499,15 @@ static void i830_detect_chipset(ScrnInfoPtr scrn)
+ case PCI_CHIP_IGDNG_M_G:
+ chipname = "Arrandale";
+ break;
++ case PCI_CHIP_SANDYBRIDGE_GT1:
++ case PCI_CHIP_SANDYBRIDGE_GT2:
++ case PCI_CHIP_SANDYBRIDGE_GT2_PLUS:
++ case PCI_CHIP_SANDYBRIDGE_M_GT1:
++ case PCI_CHIP_SANDYBRIDGE_M_GT2:
++ case PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS:
++ case PCI_CHIP_SANDYBRIDGE_S_GT:
++ chipset->name = "Sandybridge";
++ break;
+ default:
+ chipname = "unknown chipset";
+ break;
+--
+1.7.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 99cf065..e98f23d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
101_copy-fb.patch
102-disable-page-flipping-v2.patch
103-mbp-backlight-support.patch
+104_sandybridge_id_update.patch
commit e2a4554c7d748b526fa2d1ed84675862dfb4ff9d
Author: Robert Hooker <sarvatt@ubuntu.com>
Date: Fri Sep 10 07:16:50 2010 -0400
101_copy-fb.patch: Disable on sandybridge.
diff --git a/debian/changelog b/debian/changelog
index 2399550..68ed5d6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-intel (2:2.12.0-1ubuntu4) maverick; urgency=low
+
+ * debian/patches/101_copy-fb.patch: Explicitly disable copyfb functionality
+ on gen6 (Sandybridge) where it is not working.
+
+ -- Robert Hooker <robert.hooker@canonical.com> Fri, 10 Sep 2010 07:12:38 -0400
+
xserver-xorg-video-intel (2:2.12.0-1ubuntu3) maverick; urgency=low
[ Christopher James Halse Rogers ]
diff --git a/debian/patches/101_copy-fb.patch b/debian/patches/101_copy-fb.patch
index 2af70c1..c5be6d4 100644
--- a/debian/patches/101_copy-fb.patch
+++ b/debian/patches/101_copy-fb.patch
@@ -1,7 +1,7 @@
-Index: xserver-xorg-video-intel/src/drmmode_display.c
-===================================================================
---- xserver-xorg-video-intel.orig/src/drmmode_display.c 2010-08-02 15:19:02.007854556 +1000
-+++ xserver-xorg-video-intel/src/drmmode_display.c 2010-08-02 15:19:03.687916333 +1000
+diff --git a/src/drmmode_display.c b/src/drmmode_display.c
+index ba24206..bd6ef4e 100644
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
@@ -36,6 +36,8 @@
#include <errno.h>
#include <poll.h>
@@ -11,7 +11,7 @@ Index: xserver-xorg-video-intel/src/drmmode_display.c
#include "xorgVersion.h"
#include "i830.h"
-@@ -853,6 +855,13 @@
+@@ -853,6 +855,13 @@ drmmode_output_dpms(xf86OutputPtr output, int mode)
drmmode_ptr drmmode = drmmode_output->drmmode;
int i;
drmModePropertyPtr props;
@@ -25,7 +25,7 @@ Index: xserver-xorg-video-intel/src/drmmode_display.c
for (i = 0; i < koutput->count_props; i++) {
props = drmModeGetProperty(drmmode->fd, koutput->props[i]);
-@@ -1466,6 +1475,8 @@
+@@ -1466,6 +1475,8 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, int fd, int cpp)
drm_wakeup_handler, drmmode);
}
@@ -34,7 +34,7 @@ Index: xserver-xorg-video-intel/src/drmmode_display.c
return TRUE;
}
-@@ -1500,3 +1511,96 @@
+@@ -1500,3 +1511,96 @@ void drmmode_closefb(ScrnInfoPtr scrn)
drmModeRmFB(drmmode->fd, drmmode->fb_id);
drmmode->fb_id = 0;
}
@@ -131,11 +131,11 @@ Index: xserver-xorg-video-intel/src/drmmode_display.c
+ (*pScreen->DestroyPixmap)(src);
+ (*pScreen->DestroyPixmap)(dst);
+}
-Index: xserver-xorg-video-intel/src/i830.h
-===================================================================
---- xserver-xorg-video-intel.orig/src/i830.h 2010-08-02 15:19:02.017854924 +1000
-+++ xserver-xorg-video-intel/src/i830.h 2010-08-02 15:19:03.687916333 +1000
-@@ -423,6 +423,7 @@
+diff --git a/src/i830.h b/src/i830.h
+index 64acda3..83d1da9 100644
+--- a/src/i830.h
++++ b/src/i830.h
+@@ -423,6 +423,7 @@ typedef struct intel_screen_private {
OptionInfoPtr Options;
/* Driver phase/state information */
@@ -143,7 +143,7 @@ Index: xserver-xorg-video-intel/src/i830.h
Bool suspended;
enum last_3d last_3d;
-@@ -486,6 +487,7 @@
+@@ -486,6 +487,7 @@ extern int drmmode_get_pipe_from_crtc_id(drm_intel_bufmgr * bufmgr,
xf86CrtcPtr crtc);
extern int drmmode_output_dpms_status(xf86OutputPtr output);
extern int drmmode_crtc_id(xf86CrtcPtr crtc);
@@ -151,11 +151,11 @@ Index: xserver-xorg-video-intel/src/i830.h
extern Bool i830_crtc_on(xf86CrtcPtr crtc);
extern int i830_crtc_to_pipe(xf86CrtcPtr crtc);
-Index: xserver-xorg-video-intel/src/i830_driver.c
-===================================================================
---- xserver-xorg-video-intel.orig/src/i830_driver.c 2010-08-02 15:19:02.027855292 +1000
-+++ xserver-xorg-video-intel/src/i830_driver.c 2010-08-02 15:19:23.298637400 +1000
-@@ -1093,6 +1093,8 @@
+diff --git a/src/i830_driver.c b/src/i830_driver.c
+index b8e0c0b..a4190ec 100644
+--- a/src/i830_driver.c
++++ b/src/i830_driver.c
+@@ -1093,6 +1093,8 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
if (IS_I965G(intel))
gen4_render_state_init(scrn);
@@ -164,7 +164,7 @@ Index: xserver-xorg-video-intel/src/i830_driver.c
miClearVisualTypes();
if (!miSetVisualTypes(scrn->depth,
miGetDefaultVisualMask(scrn->depth),
-@@ -1231,6 +1233,7 @@
+@@ -1231,6 +1233,7 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv)
if (serverGeneration == 1)
xf86ShowUnusedOptions(scrn->scrnIndex, scrn->options);
@@ -172,14 +172,15 @@ Index: xserver-xorg-video-intel/src/i830_driver.c
intel->suspended = FALSE;
return uxa_resources_init(screen);
-@@ -1289,6 +1292,11 @@
+@@ -1289,6 +1292,12 @@ static Bool I830EnterVT(int scrnIndex, int flags)
i830_set_gem_max_sizes(scrn);
+ if (!CreateScratchPixmapsForScreen(scrn->scrnIndex))
+ return FALSE;
+
-+ drmmode_copy_fb(scrn);
++ if (!IS_GEN6(intel)
++ drmmode_copy_fb(scrn);
+
if (!xf86SetDesiredModes(scrn))
return FALSE;
Reply to: