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 <sarv...@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.hoo...@canonical.com> Fri, 10 Sep 2010 07:12:38 -0400 + -- Robert Hooker <robert.hoo...@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 <sarv...@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 <sarv...@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 <sarv...@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.hoo...@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; -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1ou22f-0004lb...@alioth.debian.org