[kernel] r15497 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Wed Apr 7 03:31:14 UTC 2010


Author: benh
Date: Wed Apr  7 03:31:10 2010
New Revision: 15497

Log:
drm/radeon: R300 AD only has one quad pipe (Closes: #575681)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/drm-radeon-R300-AD-only-has-one-quad-pipe.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/12

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Wed Apr  7 03:08:14 2010	(r15496)
+++ dists/sid/linux-2.6/debian/changelog	Wed Apr  7 03:31:10 2010	(r15497)
@@ -4,6 +4,7 @@
   * Prepare debconf templates for translation. (closes: #576758)
   * [x86] PCI/forcedeth: Disable MSI for MCP55 on P5N32-E SLI
     (Closes: #552299)
+  * drm/radeon: R300 AD only has one quad pipe (Closes: #575681)
 
   [ maximilian attems]
   * Ignore ABI breakage due to libata switch.

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/drm-radeon-R300-AD-only-has-one-quad-pipe.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/drm-radeon-R300-AD-only-has-one-quad-pipe.patch	Wed Apr  7 03:31:10 2010	(r15497)
@@ -0,0 +1,81 @@
+From 57b54ea6b7863ccfeb41851b5f58f9fd1b83c79e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <daenzer at vmware.com>
+Date: Fri, 2 Apr 2010 16:59:06 +0000
+Subject: [PATCH] drm/radeon: R300 AD only has one quad pipe.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Gleaned from the Mesa code.
+
+Fixes https://bugs.freedesktop.org/show_bug.cgi?id=27355 .
+
+Signed-off-by: Michel Dänzer <daenzer at vmware.com>
+Cc: stable at kernel.org
+Signed-off-by: Dave Airlie <airlied at redhat.com>
+---
+ drivers/gpu/drm/radeon/r300.c      |    5 +++--
+ drivers/gpu/drm/radeon/radeon_cp.c |   10 ++++++----
+ 2 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
+index 1023eeb..0e9eb76 100644
+--- a/drivers/gpu/drm/radeon/r300.c
++++ b/drivers/gpu/drm/radeon/r300.c
+@@ -324,11 +324,12 @@ void r300_gpu_init(struct radeon_device *rdev)
+ 
+ 	r100_hdp_reset(rdev);
+ 	/* FIXME: rv380 one pipes ? */
+-	if ((rdev->family == CHIP_R300) || (rdev->family == CHIP_R350)) {
++	if ((rdev->family == CHIP_R300 && rdev->pdev->device != 0x4144) ||
++	    (rdev->family == CHIP_R350)) {
+ 		/* r300,r350 */
+ 		rdev->num_gb_pipes = 2;
+ 	} else {
+-		/* rv350,rv370,rv380 */
++		/* rv350,rv370,rv380,r300 AD */
+ 		rdev->num_gb_pipes = 1;
+ 	}
+ 	rdev->num_z_pipes = 1;
+diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
+index dc6eba6..419630d 100644
+--- a/drivers/gpu/drm/radeon/radeon_cp.c
++++ b/drivers/gpu/drm/radeon/radeon_cp.c
+@@ -417,8 +417,9 @@ static int radeon_do_wait_for_idle(drm_radeon_private_t * dev_priv)
+ 	return -EBUSY;
+ }
+ 
+-static void radeon_init_pipes(drm_radeon_private_t *dev_priv)
++static void radeon_init_pipes(struct drm_device *dev)
+ {
++	drm_radeon_private_t *dev_priv = dev->dev_private;
+ 	uint32_t gb_tile_config, gb_pipe_sel = 0;
+ 
+ 	if ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_RV530) {
+@@ -436,11 +437,12 @@ static void radeon_init_pipes(drm_radeon_private_t *dev_priv)
+ 		dev_priv->num_gb_pipes = ((gb_pipe_sel >> 12) & 0x3) + 1;
+ 	} else {
+ 		/* R3xx */
+-		if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300) ||
++		if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300 &&
++		     dev->pdev->device != 0x4144) ||
+ 		    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350)) {
+ 			dev_priv->num_gb_pipes = 2;
+ 		} else {
+-			/* R3Vxx */
++			/* RV3xx/R300 AD */
+ 			dev_priv->num_gb_pipes = 1;
+ 		}
+ 	}
+@@ -736,7 +738,7 @@ static int radeon_do_engine_reset(struct drm_device * dev)
+ 
+ 	/* setup the raster pipes */
+ 	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R300)
+-	    radeon_init_pipes(dev_priv);
++	    radeon_init_pipes(dev);
+ 
+ 	/* Reset the CP ring */
+ 	radeon_do_cp_reset(dev_priv);
+-- 
+1.7.0.3
+

Modified: dists/sid/linux-2.6/debian/patches/series/12
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/12	Wed Apr  7 03:08:14 2010	(r15496)
+++ dists/sid/linux-2.6/debian/patches/series/12	Wed Apr  7 03:31:10 2010	(r15497)
@@ -1 +1,2 @@
 + bugfix/x86/PCI-Disable-MSI-for-MCP55-on-P5N32-E-SLI.patch
++ bugfix/all/drm-radeon-R300-AD-only-has-one-quad-pipe.patch



More information about the Kernel-svn-changes mailing list