nouveau: nv50: Implement ctxprog/state generation
svn path=/dists/sid/linux-2.6/; revision=15458
This commit is contained in:
parent
06bda0914f
commit
67d40d322e
|
@ -14,6 +14,7 @@ linux-2.6 (2.6.32-11) UNRELEASED; urgency=low
|
|||
* linux-headers-*: Support postinst hooks in /etc/kernel/header_postinst.d,
|
||||
thanks to Michael Gilbert (Closes: #569724)
|
||||
* rt2860sta: Fix argument to linux_pci_unmap_single() (Closes: #575726)
|
||||
* nouveau: nv50: Implement ctxprog/state generation
|
||||
|
||||
[ maximilian attems]
|
||||
* [alpha, hppa] Disable oprofile as tracing code is unsupported here.
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
From 81cad7895061ee10c9ee4d3f1471ab70da1c6fc4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marcin=20Ko=C5=9Bcielnicki?= <koriakin@0x04.net>
|
||||
Date: Wed, 17 Mar 2010 00:58:47 +0000
|
||||
Subject: [PATCH] drm/nv50: Fix NEWCTX_DONE flag number
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
|
||||
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
||||
---
|
||||
drivers/gpu/drm/nouveau/nv50_grctx.c | 6 +++---
|
||||
1 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/nouveau/nv50_grctx.c b/drivers/gpu/drm/nouveau/nv50_grctx.c
|
||||
index 546b319..3c3cc46 100644
|
||||
--- a/drivers/gpu/drm/nouveau/nv50_grctx.c
|
||||
+++ b/drivers/gpu/drm/nouveau/nv50_grctx.c
|
||||
@@ -55,12 +55,12 @@
|
||||
#define CP_FLAG_AUTO_LOAD ((2 * 32) + 5)
|
||||
#define CP_FLAG_AUTO_LOAD_NOT_PENDING 0
|
||||
#define CP_FLAG_AUTO_LOAD_PENDING 1
|
||||
+#define CP_FLAG_NEWCTX ((2 * 32) + 10)
|
||||
+#define CP_FLAG_NEWCTX_BUSY 0
|
||||
+#define CP_FLAG_NEWCTX_DONE 1
|
||||
#define CP_FLAG_XFER ((2 * 32) + 11)
|
||||
#define CP_FLAG_XFER_IDLE 0
|
||||
#define CP_FLAG_XFER_BUSY 1
|
||||
-#define CP_FLAG_NEWCTX ((2 * 32) + 12)
|
||||
-#define CP_FLAG_NEWCTX_BUSY 0
|
||||
-#define CP_FLAG_NEWCTX_DONE 1
|
||||
#define CP_FLAG_ALWAYS ((2 * 32) + 13)
|
||||
#define CP_FLAG_ALWAYS_FALSE 0
|
||||
#define CP_FLAG_ALWAYS_TRUE 1
|
||||
--
|
||||
1.7.0.3
|
||||
|
42
debian/patches/bugfix/all/nouveau-nv50-Make-ctxprog-wait-for-interrupt-handler.patch
vendored
Normal file
42
debian/patches/bugfix/all/nouveau-nv50-Make-ctxprog-wait-for-interrupt-handler.patch
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
From 3bf777bf0ab112527cea103c3681934a9f41c03d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marcin=20Ko=C5=9Bcielnicki?= <koriakin@0x04.net>
|
||||
Date: Sun, 28 Feb 2010 23:45:38 +0000
|
||||
Subject: [PATCH] drm/nv50: Make ctxprog wait until interrupt handler is done.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This will fix races between generated ctxprogs and interrupt handler.
|
||||
|
||||
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
|
||||
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
||||
---
|
||||
drivers/gpu/drm/nouveau/nv50_grctx.c | 5 +++++
|
||||
1 files changed, 5 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/nouveau/nv50_grctx.c b/drivers/gpu/drm/nouveau/nv50_grctx.c
|
||||
index d105fcd..9f909ab 100644
|
||||
--- a/drivers/gpu/drm/nouveau/nv50_grctx.c
|
||||
+++ b/drivers/gpu/drm/nouveau/nv50_grctx.c
|
||||
@@ -64,6 +64,9 @@
|
||||
#define CP_FLAG_ALWAYS ((2 * 32) + 13)
|
||||
#define CP_FLAG_ALWAYS_FALSE 0
|
||||
#define CP_FLAG_ALWAYS_TRUE 1
|
||||
+#define CP_FLAG_INTR ((2 * 32) + 15)
|
||||
+#define CP_FLAG_INTR_NOT_PENDING 0
|
||||
+#define CP_FLAG_INTR_PENDING 1
|
||||
|
||||
#define CP_CTX 0x00100000
|
||||
#define CP_CTX_COUNT 0x000f0000
|
||||
@@ -214,6 +217,8 @@ nv50_grctx_init(struct nouveau_grctx *ctx)
|
||||
cp_name(ctx, cp_setup_save);
|
||||
cp_set (ctx, UNK1D, SET);
|
||||
cp_wait(ctx, STATUS, BUSY);
|
||||
+ cp_wait(ctx, INTR, PENDING);
|
||||
+ cp_bra (ctx, STATUS, BUSY, cp_setup_save);
|
||||
cp_set (ctx, UNK01, SET);
|
||||
cp_set (ctx, SWAP_DIRECTION, SAVE);
|
||||
|
||||
--
|
||||
1.7.0.3
|
||||
|
2540
debian/patches/features/all/nouveau-nv50-Implement-ctxprog-state-generation.patch
vendored
Normal file
2540
debian/patches/features/all/nouveau-nv50-Implement-ctxprog-state-generation.patch
vendored
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -7,3 +7,6 @@
|
|||
+ bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1005PE.patch
|
||||
+ bugfix/all/ssb_check_for_sprom.patch
|
||||
+ bugfix/all/rt2860sta-Fix-argument-to-linux_pci_unmap_single.patch
|
||||
+ features/all/nouveau-nv50-Implement-ctxprog-state-generation.patch
|
||||
+ bugfix/all/nouveau-nv50-Make-ctxprog-wait-for-interrupt-handler.patch
|
||||
+ bugfix/all/nouveau-nv50-Fix-NEWCTX_DONE-flag-number.patch
|
||||
|
|
Loading…
Reference in New Issue