nouveau: misc fixes from upstream + NVAF support

This looks far far worse than it is... The reason:
 - NVAF support came after nv50_grctx.c was de-magiced (ie. lots of
   comments explaining what all the hexified numbers are for)
 - nv50_grctx.c de-magic depended on an earlier commit which changed
   all gpu object accessors from 32-bit indices to byte offsets

All in all, it was easier to pull in those big scary-looking (but
harmless) commits than to risk messing up a backport.
This commit is contained in:
Ben Skeggs 2010-09-06 15:55:25 +10:00
parent d3a72eaedc
commit 1001ab34f7
3 changed files with 6772 additions and 417 deletions

View File

@ -1,7 +1,7 @@
From 6b33cff9cd4f6f26df99e1486d53c91698d133b4 Mon Sep 17 00:00:00 2001
From 4733f633c4bfb0672d5bd88a8d19a03e27a3c1d0 Mon Sep 17 00:00:00 2001
From: Ben Skeggs <bskeggs@redhat.com>
Date: Fri, 23 Jul 2010 09:06:52 +1000
Subject: [PATCH 5/5] drm-nouveau-race-fix
Subject: [PATCH 2/2] drm-nouveau-race-fix
drm/nouveau: fix race condition when under memory pressure
@ -30,7 +30,7 @@ Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
3 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index f1357f1..f552c76 100644
index 553a01d..5e62d1b 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -36,6 +36,21 @@
@ -56,10 +56,10 @@ index f1357f1..f552c76 100644
nouveau_bo_del_ttm(struct ttm_buffer_object *bo)
{
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index c001574..922ef43 100644
index 2eb622b..70a16f3 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drv.h
+++ b/drivers/gpu/drm/nouveau/nouveau_drv.h
@@ -1165,6 +1165,7 @@ extern u16 nouveau_bo_rd16(struct nouveau_bo *nvbo, unsigned index);
@@ -1167,6 +1167,7 @@ extern u16 nouveau_bo_rd16(struct nouveau_bo *nvbo, unsigned index);
extern void nouveau_bo_wr16(struct nouveau_bo *nvbo, unsigned index, u16 val);
extern u32 nouveau_bo_rd32(struct nouveau_bo *nvbo, unsigned index);
extern void nouveau_bo_wr32(struct nouveau_bo *nvbo, unsigned index, u32 val);
@ -68,7 +68,7 @@ index c001574..922ef43 100644
/* nouveau_fence.c */
struct nouveau_fence;
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 547f2c2..a915dcd 100644
index 62ac673..613f878 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -361,16 +361,11 @@ validate_list(struct nouveau_channel *chan, struct list_head *list,
@ -137,5 +137,5 @@ index 547f2c2..a915dcd 100644
ret = nouveau_gem_pushbuf_validate(chan, file_priv, bo, req->buffers,
req->nr_buffers, &op, &do_reloc);
--
1.7.2
1.7.2.2

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
%global baserelease 18
%global baserelease 19
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -1900,6 +1900,9 @@ fi
# and build.
%changelog
* Mon Sep 04 2010 Ben Skeggs <bskeggs@redhat.com> 2.6.35.4-19
- nouveau: misc fixes from upstream + NVAF support
* Fri Sep 03 2010 Kyle McMartin <kyle@redhat.com>
- Restore appleir driver that got lost in the 2.6.35 rebase.