[kernel] r16718 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series
Maximilian Attems
maks at alioth.debian.org
Mon Dec 20 10:28:28 UTC 2010
Author: maks
Date: Mon Dec 20 10:28:25 2010
New Revision: 16718
Log:
drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx
2.6.35.10 fix without changes.
Added:
dists/sid/linux-2.6/debian/patches/bugfix/all/drm-radeon-kms-fix-handling-of-tex-lookup-disable-in-cs-checker-on-r2xx.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/30
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Mon Dec 20 10:28:20 2010 (r16717)
+++ dists/sid/linux-2.6/debian/changelog Mon Dec 20 10:28:25 2010 (r16718)
@@ -19,6 +19,7 @@
* b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd.
* drm/radeon/kms: MC vram map needs to be >= pci aperture size.
* drm/radeon/kms: make sure blit addr masks are 64 bit.
+ * drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx.
-- Ben Hutchings <ben at decadent.org.uk> Sun, 12 Dec 2010 03:23:48 +0000
Added: dists/sid/linux-2.6/debian/patches/bugfix/all/drm-radeon-kms-fix-handling-of-tex-lookup-disable-in-cs-checker-on-r2xx.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/drm-radeon-kms-fix-handling-of-tex-lookup-disable-in-cs-checker-on-r2xx.patch Mon Dec 20 10:28:25 2010 (r16718)
@@ -0,0 +1,86 @@
+From 43b93fbffc2c080dba2e84df6fce8d7e6c0a2581 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher at gmail.com>
+Date: Wed, 27 Oct 2010 01:02:35 -0400
+Subject: drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx
+
+From: Alex Deucher <alexdeucher at gmail.com>
+
+commit 43b93fbffc2c080dba2e84df6fce8d7e6c0a2581 upstream.
+
+There are cases when multiple texture units have to be enabled,
+but not actually used to sample. This patch checks to see if
+the lookup_disable bit is set and if so, skips the texture check.
+
+Fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=25544
+
+Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+Signed-off-by: Dave Airlie <airlied at redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+Signed-off-by: Andi Kleen <ak at linux.intel.com>
+
+---
+ drivers/gpu/drm/radeon/r100.c | 3 +++
+ drivers/gpu/drm/radeon/r100_track.h | 1 +
+ drivers/gpu/drm/radeon/r200.c | 2 ++
+ drivers/gpu/drm/radeon/radeon_reg.h | 1 +
+ 4 files changed, 7 insertions(+)
+
+Index: linux/drivers/gpu/drm/radeon/r100.c
+===================================================================
+--- linux.orig/drivers/gpu/drm/radeon/r100.c
++++ linux/drivers/gpu/drm/radeon/r100.c
+@@ -3232,6 +3232,8 @@ static int r100_cs_track_texture_check(s
+ for (u = 0; u < track->num_texture; u++) {
+ if (!track->textures[u].enabled)
+ continue;
++ if (track->textures[u].lookup_disable)
++ continue;
+ robj = track->textures[u].robj;
+ if (robj == NULL) {
+ DRM_ERROR("No texture bound to unit %u\n", u);
+@@ -3465,6 +3467,7 @@ void r100_cs_track_clear(struct radeon_d
+ track->textures[i].robj = NULL;
+ /* CS IB emission code makes sure texture unit are disabled */
+ track->textures[i].enabled = false;
++ track->textures[i].lookup_disable = false;
+ track->textures[i].roundup_w = true;
+ track->textures[i].roundup_h = true;
+ if (track->separate_cube)
+Index: linux/drivers/gpu/drm/radeon/r100_track.h
+===================================================================
+--- linux.orig/drivers/gpu/drm/radeon/r100_track.h
++++ linux/drivers/gpu/drm/radeon/r100_track.h
+@@ -46,6 +46,7 @@ struct r100_cs_track_texture {
+ unsigned height_11;
+ bool use_pitch;
+ bool enabled;
++ bool lookup_disable;
+ bool roundup_w;
+ bool roundup_h;
+ unsigned compress_format;
+Index: linux/drivers/gpu/drm/radeon/r200.c
+===================================================================
+--- linux.orig/drivers/gpu/drm/radeon/r200.c
++++ linux/drivers/gpu/drm/radeon/r200.c
+@@ -447,6 +447,8 @@ int r200_packet0_check(struct radeon_cs_
+ track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK);
+ track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK);
+ }
++ if (idx_value & R200_TXFORMAT_LOOKUP_DISABLE)
++ track->textures[i].lookup_disable = true;
+ switch ((idx_value & RADEON_TXFORMAT_FORMAT_MASK)) {
+ case R200_TXFORMAT_I8:
+ case R200_TXFORMAT_RGB332:
+Index: linux/drivers/gpu/drm/radeon/radeon_reg.h
+===================================================================
+--- linux.orig/drivers/gpu/drm/radeon/radeon_reg.h
++++ linux/drivers/gpu/drm/radeon/radeon_reg.h
+@@ -2836,6 +2836,7 @@
+ # define R200_TXFORMAT_ST_ROUTE_STQ5 (5 << 24)
+ # define R200_TXFORMAT_ST_ROUTE_MASK (7 << 24)
+ # define R200_TXFORMAT_ST_ROUTE_SHIFT 24
++# define R200_TXFORMAT_LOOKUP_DISABLE (1 << 27)
+ # define R200_TXFORMAT_ALPHA_MASK_ENABLE (1 << 28)
+ # define R200_TXFORMAT_CHROMA_KEY_ENABLE (1 << 29)
+ # define R200_TXFORMAT_CUBIC_MAP_ENABLE (1 << 30)
Modified: dists/sid/linux-2.6/debian/patches/series/30
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/30 Mon Dec 20 10:28:20 2010 (r16717)
+++ dists/sid/linux-2.6/debian/patches/series/30 Mon Dec 20 10:28:25 2010 (r16718)
@@ -7,4 +7,4 @@
+ bugfix/all/b43-fix-warning-at-drivers-mmc-core-core.c-237-in-mmc_wait_for_cmd.patch
+ bugfix/all/drm-radeon-kms-mc-vram-map-needs-to-be-pci-aperture-size.patch
+ bugfix/all/drm-radeon-kms-make-sure-blit-addr-masks-are-64-bit.patch
-
++ bugfix/all/drm-radeon-kms-fix-handling-of-tex-lookup-disable-in-cs-checker-on-r2xx.patch
More information about the Kernel-svn-changes
mailing list