[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: