rpms/kernel/devel drm-nouveau.patch, 1.8.6.14, 1.8.6.15 kernel.spec, 1.1294.2.47, 1.1294.2.48 xen.pvops.patch, 1.1.2.30, 1.1.2.31
myoung
myoung at fedoraproject.org
Tue Aug 11 18:55:24 UTC 2009
Author: myoung
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26682
Modified Files:
Tag: private-myoung-dom0-branch
drm-nouveau.patch kernel.spec xen.pvops.patch
Log Message:
Apply pvops update from rebase/master
drm-nouveau.patch:
drivers/gpu/drm/Kconfig | 30
drivers/gpu/drm/Makefile | 1
drivers/gpu/drm/drm_bufs.c | 28
drivers/gpu/drm/nouveau/Makefile | 27
drivers/gpu/drm/nouveau/nouveau_backlight.c | 155
drivers/gpu/drm/nouveau/nouveau_bios.c | 5053 ++++++
drivers/gpu/drm/nouveau/nouveau_bios.h | 227
drivers/gpu/drm/nouveau/nouveau_bo.c | 573
drivers/gpu/drm/nouveau/nouveau_calc.c | 622
drivers/gpu/drm/nouveau/nouveau_channel.c | 515
drivers/gpu/drm/nouveau/nouveau_connector.c | 593
drivers/gpu/drm/nouveau/nouveau_connector.h | 57
drivers/gpu/drm/nouveau/nouveau_crtc.h | 92
drivers/gpu/drm/nouveau/nouveau_display.c | 115
drivers/gpu/drm/nouveau/nouveau_dma.c | 161
drivers/gpu/drm/nouveau/nouveau_dma.h | 146
drivers/gpu/drm/nouveau/nouveau_drv.c | 370
drivers/gpu/drm/nouveau/nouveau_drv.h | 1131 +
drivers/gpu/drm/nouveau/nouveau_encoder.h | 53
drivers/gpu/drm/nouveau/nouveau_fb.h | 47
drivers/gpu/drm/nouveau/nouveau_fbcon.c | 971 +
drivers/gpu/drm/nouveau/nouveau_fbcon.h | 49
drivers/gpu/drm/nouveau/nouveau_fence.c | 261
drivers/gpu/drm/nouveau/nouveau_gem.c | 754
drivers/gpu/drm/nouveau/nouveau_hw.c | 1018 +
drivers/gpu/drm/nouveau/nouveau_hw.h | 431
drivers/gpu/drm/nouveau/nouveau_i2c.c | 246
drivers/gpu/drm/nouveau/nouveau_i2c.h | 45
drivers/gpu/drm/nouveau/nouveau_ioc32.c | 72
drivers/gpu/drm/nouveau/nouveau_irq.c | 674
drivers/gpu/drm/nouveau/nouveau_mem.c | 565
drivers/gpu/drm/nouveau/nouveau_notifier.c | 194
drivers/gpu/drm/nouveau/nouveau_object.c | 1276 +
drivers/gpu/drm/nouveau/nouveau_reg.h | 834 +
drivers/gpu/drm/nouveau/nouveau_sgdma.c | 317
drivers/gpu/drm/nouveau/nouveau_state.c | 826 +
drivers/gpu/drm/nouveau/nouveau_swmthd.h | 33
drivers/gpu/drm/nouveau/nouveau_ttm.c | 116
drivers/gpu/drm/nouveau/nv04_crtc.c | 1143 +
drivers/gpu/drm/nouveau/nv04_cursor.c | 70
drivers/gpu/drm/nouveau/nv04_display.c | 250
drivers/gpu/drm/nouveau/nv04_fb.c | 21
drivers/gpu/drm/nouveau/nv04_fbcon.c | 291
drivers/gpu/drm/nouveau/nv04_fifo.c | 295
drivers/gpu/drm/nouveau/nv04_graph.c | 583
drivers/gpu/drm/nouveau/nv04_instmem.c | 207
drivers/gpu/drm/nouveau/nv04_mc.c | 20
drivers/gpu/drm/nouveau/nv04_output.c | 797 +
drivers/gpu/drm/nouveau/nv04_timer.c | 51
drivers/gpu/drm/nouveau/nv10_fb.c | 24
drivers/gpu/drm/nouveau/nv10_fifo.c | 177
drivers/gpu/drm/nouveau/nv10_graph.c | 945 +
drivers/gpu/drm/nouveau/nv20_graph.c | 784
drivers/gpu/drm/nouveau/nv40_fb.c | 62
drivers/gpu/drm/nouveau/nv40_fifo.c | 223
drivers/gpu/drm/nouveau/nv40_graph.c | 2203 ++
drivers/gpu/drm/nouveau/nv40_mc.c | 38
drivers/gpu/drm/nouveau/nv50_crtc.c | 819 +
drivers/gpu/drm/nouveau/nv50_cursor.c | 151
drivers/gpu/drm/nouveau/nv50_dac.c | 284
drivers/gpu/drm/nouveau/nv50_display.c | 849 +
drivers/gpu/drm/nouveau/nv50_display.h | 46
drivers/gpu/drm/nouveau/nv50_evo.h | 113
drivers/gpu/drm/nouveau/nv50_fbcon.c | 256
drivers/gpu/drm/nouveau/nv50_fifo.c | 475
drivers/gpu/drm/nouveau/nv50_graph.c | 437
drivers/gpu/drm/nouveau/nv50_grctx.h |22284 ++++++++++++++++++++++++++++
drivers/gpu/drm/nouveau/nv50_instmem.c | 499
drivers/gpu/drm/nouveau/nv50_mc.c | 40
drivers/gpu/drm/nouveau/nv50_sor.c | 264
drivers/gpu/drm/nouveau/nvreg.h | 503
drivers/gpu/drm/ttm/ttm_bo.c | 4
include/drm/Kbuild | 1
include/drm/drmP.h | 2
include/drm/nouveau_drm.h | 214
75 files changed, 54082 insertions(+), 21 deletions(-)
View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.8.6.14 -r 1.8.6.15 drm-nouveau.patchIndex: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.8.6.14
retrieving revision 1.8.6.15
diff -u -p -r1.8.6.14 -r1.8.6.15
--- drm-nouveau.patch 5 Aug 2009 23:00:12 -0000 1.8.6.14
+++ drm-nouveau.patch 11 Aug 2009 18:55:08 -0000 1.8.6.15
@@ -105,7 +105,7 @@ index 6246e3f..436e2fe 100644
if (map->type == _DRM_REGISTERS)
diff --git a/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile
new file mode 100644
-index 0000000..a04127f
+index 0000000..2ba1e45
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/Makefile
@@ -0,0 +1,27 @@
@@ -114,7 +114,7 @@ index 0000000..a04127f
+# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
+
+ccflags-y := -Iinclude/drm
-+nouveau-y := nouveau_drv.o nouveau_state.o nouveau_fifo.o nouveau_mem.o \
++nouveau-y := nouveau_drv.o nouveau_state.o nouveau_channel.o nouveau_mem.o \
+ nouveau_object.o nouveau_irq.o nouveau_notifier.o \
+ nouveau_sgdma.o nouveau_dma.o \
+ nouveau_bo.o nouveau_fence.o nouveau_gem.o nouveau_ttm.o \
@@ -299,10 +299,10 @@ index 0000000..20564f8
+}
diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
new file mode 100644
-index 0000000..defc0c8
+index 0000000..c828c2e
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
-@@ -0,0 +1,5056 @@
+@@ -0,0 +1,5053 @@
+/*
+ * Copyright 2005-2006 Erik Waling
+ * Copyright 2006 Stephane Marchesin
@@ -3511,9 +3511,6 @@ index 0000000..defc0c8
+ return 0;
+}
+
-+extern int nouveau_uscript_lvds;
-+extern int nouveau_uscript_tmds;
-+
+int
+nouveau_bios_run_display_table(struct drm_device *dev, struct dcb_entry *dcbent,
+ int pxclk)
@@ -5594,10 +5591,10 @@ index 0000000..24fc305
+#endif
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
new file mode 100644
-index 0000000..d59ffc4
+index 0000000..a7b2a61
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
-@@ -0,0 +1,557 @@
+@@ -0,0 +1,573 @@
+/*
+ * Copyright 2007 Dave Airlied
+ * All Rights Reserved.
@@ -5672,6 +5669,22 @@ index 0000000..d59ffc4
+ if (!nvbo->mappable && (flags & TTM_PL_FLAG_VRAM))
+ flags |= TTM_PL_FLAG_PRIV0;
+
++ /* Some of the tile_flags have a periodic structure of 24*4096 bytes,
++ * align to to that as well as the page size. Overallocate memory to
++ * avoid corruption of other buffer objects.
++ */
++ switch (tile_flags) {
++ case 0x1800:
++ case 0x2800:
++ case 0x4800:
++ case 0x7a00:
++ size += 6*4096;
++ align = 2*24*4096;
++ break;
++ default:
++ break;
++ }
++
+ align >>= PAGE_SHIFT;
+
+ size = (size + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1);
@@ -6783,12 +6796,533 @@ index 0000000..e2b78d2
+
+ return outclk;
+}
+diff --git a/drivers/gpu/drm/nouveau/nouveau_channel.c b/drivers/gpu/drm/nouveau/nouveau_channel.c
+new file mode 100644
+index 0000000..2429c7f
+--- /dev/null
++++ b/drivers/gpu/drm/nouveau/nouveau_channel.c
+@@ -0,0 +1,515 @@
++/*
++ * Copyright 2005-2006 Stephane Marchesin
++ * All Rights Reserved.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
++ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ * DEALINGS IN THE SOFTWARE.
++ */
++
++#include "drmP.h"
++#include "drm.h"
++#include "nouveau_drv.h"
++#include "nouveau_drm.h"
++#include "nouveau_dma.h"
++
++static int
++nouveau_channel_pushbuf_ctxdma_init(struct nouveau_channel *chan)
++{
++ struct drm_device *dev = chan->dev;
++ struct drm_nouveau_private *dev_priv = dev->dev_private;
++ struct nouveau_bo *pb = chan->pushbuf_bo;
++ struct nouveau_gpuobj *pushbuf = NULL;
++ uint32_t start = pb->bo.mem.mm_node->start << PAGE_SHIFT;
++ uint32_t size = pb->bo.mem.size;
++ int ret;
++
++ if (pb->bo.mem.mem_type == TTM_PL_TT) {
++ ret = nouveau_gpuobj_gart_dma_new(chan, start, size,
++ NV_DMA_ACCESS_RO,
++ &pushbuf,
++ &chan->pushbuf_base);
++ } else
++ if (dev_priv->card_type != NV_04) {
++ ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY,
++ start, size, NV_DMA_ACCESS_RO,
++ NV_DMA_TARGET_VIDMEM, &pushbuf);
++ chan->pushbuf_base = 0;
++ } else {
++ /* NV04 cmdbuf hack, from original ddx.. not sure of it's
++ * exact reason for existing :) PCI access to cmdbuf in
++ * VRAM.
++ */
++ ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY,
++ start +
++ drm_get_resource_start(dev, 1),
++ size, NV_DMA_ACCESS_RO,
++ NV_DMA_TARGET_PCI, &pushbuf);
++ chan->pushbuf_base = 0;
++ }
++
++ ret = nouveau_gpuobj_ref_add(dev, chan, 0, pushbuf, &chan->pushbuf);
++ if (ret) {
++ NV_ERROR(dev, "Error referencing pushbuf ctxdma: %d\n", ret);
++ if (pushbuf != dev_priv->gart_info.sg_ctxdma)
++ nouveau_gpuobj_del(dev, &pushbuf);
++ return ret;
++ }
++
++ return 0;
++}
++
++static struct nouveau_bo *
++nouveau_channel_user_pushbuf_alloc(struct drm_device *dev)
++{
++ struct nouveau_bo *pushbuf = NULL;
++ int location, ret;
++
++ if (nouveau_vram_pushbuf)
++ location = TTM_PL_FLAG_VRAM;
++ else
++ location = TTM_PL_FLAG_TT;
++
++ ret = nouveau_bo_new(dev, NULL, 65536, 0, location, 0, 0x0000, false,
++ true, &pushbuf);
++ if (ret) {
++ NV_ERROR(dev, "error allocating DMA push buffer: %d\n", ret);
++ return NULL;
++ }
++
++ ret = nouveau_bo_pin(pushbuf, location);
++ if (ret) {
++ NV_ERROR(dev, "error pinning DMA push buffer: %d\n", ret);
++ nouveau_bo_ref(NULL, &pushbuf);
++ return NULL;
++ }
++
++ return pushbuf;
++}
++
++/* allocates and initializes a fifo for user space consumption */
[...2820 lines suppressed...]
+ nv_wo32(dev, ctx, (0x2744/4)+9, 0xbf800000);
+
-+/*
-+write32 #1 block at +0x00742e34 NV_PRAMIN.GRCTX0+0x2714 of 4 (0x4) elements:
-++0x00742e34: 00000000 3f800000 00000000 00000000
-+*/
+ nv_wo32(dev, ctx, (0x2714/4)+1, 0x3f800000);
+
-+/*
-+write32 #1 block at +0x00742e94 NV_PRAMIN.GRCTX0+0x2774 of 4 (0x4) elements:
-++0x00742e94: 00000000 00000000 00000000 00000000
-+write32 #1 block at +0x00743804 NV_PRAMIN.GRCTX0+0x30e4 of 4 (0x4) elements:
-++0x00743804: 00000000 00000000 00000000 00000000
-+write32 #1 block at +0x007437a4 NV_PRAMIN.GRCTX0+0x3084 of 8 (0x8) elements:
-++0x007437a4: 00000000 00000000 000fe000 00000000 00000000 00000000 00000000 00000000
-+*/
+ nv_wo32(dev, ctx, (0x3084/4)+2, 0x000fe000);
+
-+/*
-+write32 #1 block at +0x007437d4 NV_PRAMIN.GRCTX0+0x30b4 of 4 (0x4) elements:
-++0x007437d4: 00000000 00000000 00000000 00000000
-+write32 #1 block at +0x00743824 NV_PRAMIN.GRCTX0+0x3104 of 4 (0x4) elements:
-++0x00743824: 00000000 000003f8 00000000 00000000
-+*/
+ nv_wo32(dev, ctx, (0x3104/4)+1, 0x000003f8);
+
-+/* write32 #1 NV_PRAMIN.GRCTX0+0x3468 <- 0x002fe000 */
+ nv_wo32(dev, ctx, 0x3468/4, 0x002fe000);
+
-+/*
-+write32 #1 block at +0x00743ba4 NV_PRAMIN.GRCTX0+0x3484 of 8 (0x8) elements:
-++0x00743ba4: 001c527c 001c527c 001c527c 001c527c 001c527c 001c527c 001c527c 001c527c
-+*/
+ for (i=0; i<8; ++i)
+ nv_wo32(dev, ctx, (0x3484/4)+i, 0x001c527c);
+}
@@ -24799,27 +24636,6 @@ index 0000000..3a1b9e6
+ nv_wr32(dev, 0x400754, nv_rd32(dev, NV04_PFB_CFG1));
+ }
+
-+#if 0
-+ nv_wr32(dev, 0x400820, 0);
-+ nv_wr32(dev, 0x400824, 0);
-+ nv_wr32(dev, 0x400864, vramsz-1);
-+ nv_wr32(dev, 0x400868, vramsz-1);
-+
-+ nv_wr32(dev, 0x400B20, 0x00000000);
-+ nv_wr32(dev, 0x400B04, 0xFFFFFFFF);
-+
-+ /* per-context state, doesn't belong here */
-+ tmp = nv_rd32(dev, NV10_PGRAPH_SURFACE) & 0x0007ff00;
-+ nv_wr32(dev, NV10_PGRAPH_SURFACE, tmp);
-+ tmp = nv_rd32(dev, NV10_PGRAPH_SURFACE) | 0x00020100;
-+ nv_wr32(dev, NV10_PGRAPH_SURFACE, tmp);
-+
-+ nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_XMIN, 0);
-+ nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_YMIN, 0);
-+ nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_XMAX, 0x7fff);
-+ nv_wr32(dev, NV03_PGRAPH_ABS_UCLIP_YMAX, 0x7fff);
-+#endif
-+
+ return 0;
+}
+
@@ -24934,10 +24750,10 @@ index 0000000..fae4246
+}
diff --git a/drivers/gpu/drm/nouveau/nv40_fifo.c b/drivers/gpu/drm/nouveau/nv40_fifo.c
new file mode 100644
-index 0000000..61b7832
+index 0000000..6b5fdcc
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nv40_fifo.c
-@@ -0,0 +1,222 @@
+@@ -0,0 +1,223 @@
+/*
+ * Copyright (C) 2007 Ben Skeggs.
+ * All Rights Reserved.
@@ -25154,7 +24970,8 @@ index 0000000..61b7832
+{
+ int ret;
+
-+ if ((ret = nouveau_fifo_init(dev)))
++ ret = nv04_fifo_init(dev);
++ if (ret)
+ return ret;
+
+ nv_wr32(dev, NV04_PFIFO_DMA_TIMESLICE, 0x2101ffff);
@@ -27415,10 +27232,10 @@ index 0000000..2a3495e
+}
diff --git a/drivers/gpu/drm/nouveau/nv50_crtc.c b/drivers/gpu/drm/nouveau/nv50_crtc.c
new file mode 100644
-index 0000000..b169f9b
+index 0000000..99f24a3
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nv50_crtc.c
-@@ -0,0 +1,811 @@
+@@ -0,0 +1,819 @@
+/*
+ * Copyright (C) 2008 Maarten Maathuis.
+ * All Rights Reserved.
@@ -27519,7 +27336,7 @@ index 0000000..b169f9b
+ struct drm_device *dev = crtc->base.dev;
+ struct drm_nouveau_private *dev_priv = dev->dev_private;
+ struct nouveau_channel *evo = dev_priv->evo;
-+ int index = crtc->index;
++ int index = crtc->index, ret;
+
+ NV_DEBUG(dev, "index %d\n", crtc->index);
+ NV_DEBUG(dev, "%s\n", blanked ? "blanked" : "unblanked");
@@ -27527,7 +27344,11 @@ index 0000000..b169f9b
+ if (blanked) {
+ crtc->cursor.hide(crtc, false);
+
-+ RING_SPACE(evo, dev_priv->chipset != 0x50 ? 7 : 5);
++ ret = RING_SPACE(evo, dev_priv->chipset != 0x50 ? 7 : 5);
++ if (ret) {
++ NV_ERROR(dev, "no space while blanking crtc\n");
++ return ret;
++ }
+ BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, CLUT_MODE), 2);
+ OUT_RING (evo, NV50_EVO_CRTC_CLUT_MODE_BLANK);
+ OUT_RING (evo, 0);
@@ -27545,7 +27366,11 @@ index 0000000..b169f9b
+ else
+ crtc->cursor.hide(crtc, false);
+
-+ RING_SPACE(evo, dev_priv->chipset != 0x50 ? 10 : 8);
++ ret = RING_SPACE(evo, dev_priv->chipset != 0x50 ? 10 : 8);
++ if (ret) {
++ NV_ERROR(dev, "no space while unblanking crtc\n");
++ return ret;
++ }
+ BEGIN_RING(evo, 0, NV50_EVO_CRTC(index, CLUT_MODE), 2);
+ OUT_RING (evo, crtc->lut.depth == 8 ?
+ NV50_EVO_CRTC_CLUT_MODE_OFF :
@@ -28232,10 +28057,10 @@ index 0000000..b169f9b
+}
diff --git a/drivers/gpu/drm/nouveau/nv50_cursor.c b/drivers/gpu/drm/nouveau/nv50_cursor.c
new file mode 100644
-index 0000000..a3bed39
+index 0000000..0ef825e
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nv50_cursor.c
-@@ -0,0 +1,153 @@
+@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2008 Maarten Maathuis.
+ * All Rights Reserved.
@@ -28279,7 +28104,7 @@ index 0000000..a3bed39
+
+ NV_DEBUG(dev, "\n");
+
-+ ret = RING_SPACE(evo, dev_priv->chipset != 0x50 ? 4 : 2);
++ ret = RING_SPACE(evo, (dev_priv->chipset != 0x50 ? 4 : 2) + update * 2);
+ if (ret) {
+ NV_ERROR(dev, "no space while unhiding cursor\n");
+ return;
@@ -28293,7 +28118,6 @@ index 0000000..a3bed39
+ OUT_RING (evo, NV50_EVO_CRTC_CURSOR_CTRL_SHOW);
+
+ if (update) {
-+ RING_SPACE(evo, 2);
+ BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1);
+ OUT_RING (evo, 0);
+ FIRE_RING (evo);
@@ -28311,7 +28135,7 @@ index 0000000..a3bed39
+
+ NV_DEBUG(dev, "\n");
+
-+ ret = RING_SPACE(evo, dev_priv->chipset != 0x50 ? 4 : 2);
++ ret = RING_SPACE(evo, (dev_priv->chipset != 0x50 ? 4 : 2) + update * 2);
+ if (ret) {
+ NV_ERROR(dev, "no space while hiding cursor\n");
+ return;
@@ -28324,7 +28148,6 @@ index 0000000..a3bed39
+ }
+
+ if (update) {
-+ RING_SPACE(evo, 2);
+ BEGIN_RING(evo, 0, NV50_EVO_UPDATE, 1);
+ OUT_RING (evo, 0);
+ FIRE_RING (evo);
@@ -29969,7 +29792,7 @@ index 0000000..d7af9ed
+
diff --git a/drivers/gpu/drm/nouveau/nv50_fifo.c b/drivers/gpu/drm/nouveau/nv50_fifo.c
new file mode 100644
-index 0000000..071a2f3
+index 0000000..c4c45f2
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nv50_fifo.c
@@ -0,0 +1,475 @@
@@ -30251,7 +30074,7 @@ index 0000000..071a2f3
+ nv_wo32(dev, ramfc, 0x10/4, chan->pushbuf_base);
+ nv_wo32(dev, ramfc, 0x48/4, chan->pushbuf->instance >> 4);
+ nv_wo32(dev, ramfc, 0x80/4, (0xc << 24) | (chan->ramht->instance >> 4));
-+ nv_wo32(dev, ramfc, 0x3c/4, 0x000f0078); /* fetch? */
++ nv_wo32(dev, ramfc, 0x3c/4, 0x00086078);
+ nv_wo32(dev, ramfc, 0x44/4, 0x2101ffff);
+ nv_wo32(dev, ramfc, 0x60/4, 0x7fffffff);
+ nv_wo32(dev, ramfc, 0x40/4, 0x00000000);
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.47
retrieving revision 1.1294.2.48
diff -u -p -r1.1294.2.47 -r1.1294.2.48
--- kernel.spec 10 Aug 2009 21:22:18 -0000 1.1294.2.47
+++ kernel.spec 11 Aug 2009 18:55:10 -0000 1.1294.2.48
@@ -1989,6 +1989,14 @@ fi
# and build.
%changelog
+* Tue Aug 11 2009 Michael Young <m.a.young at durham.ac.uk>
+- CONFIG_CC_STACKPROTECTOR was probably innocent but leave it off
+ a bit longer just in case
+- add rebase/master update
+
+* Tue Aug 11 2009 Ben Skeggs <bskeggs at redhat.com>
+- nouveau: various cleanups and fixes + more sanity checking in dma paths
+
* Mon Aug 10 2009 Michael Young <m.a.young at durham.ac.uk>
- disable CONFIG_CC_STACKPROTECTOR for x86_64 again (the workaround
needs revising)
xen.pvops.patch:
arch/x86/Kconfig | 4
arch/x86/include/asm/agp.h | 15
arch/x86/include/asm/e820.h | 2
arch/x86/include/asm/i387.h | 1
arch/x86/include/asm/io.h | 15
arch/x86/include/asm/io_apic.h | 7
arch/x86/include/asm/microcode.h | 9
arch/x86/include/asm/paravirt.h | 718 -------------
arch/x86/include/asm/paravirt_types.h | 722 +++++++++++++
arch/x86/include/asm/pci.h | 8
arch/x86/include/asm/pci_x86.h | 2
arch/x86/include/asm/pgtable.h | 3
arch/x86/include/asm/processor.h | 4
arch/x86/include/asm/tlbflush.h | 6
arch/x86/include/asm/xen/hypercall.h | 36
arch/x86/include/asm/xen/interface.h | 8
arch/x86/include/asm/xen/interface_32.h | 5
arch/x86/include/asm/xen/interface_64.h | 13
arch/x86/include/asm/xen/iommu.h | 12
arch/x86/include/asm/xen/page.h | 34
arch/x86/include/asm/xen/pci.h | 13
arch/x86/kernel/Makefile | 1
arch/x86/kernel/acpi/boot.c | 18
arch/x86/kernel/acpi/sleep.c | 2
arch/x86/kernel/apic/io_apic.c | 37
arch/x86/kernel/cpu/mtrr/Makefile | 1
arch/x86/kernel/cpu/mtrr/amd.c | 6
arch/x86/kernel/cpu/mtrr/centaur.c | 6
arch/x86/kernel/cpu/mtrr/cyrix.c | 6
arch/x86/kernel/cpu/mtrr/generic.c | 10
arch/x86/kernel/cpu/mtrr/main.c | 19
arch/x86/kernel/cpu/mtrr/mtrr.h | 11
arch/x86/kernel/cpu/mtrr/xen.c | 104 +
arch/x86/kernel/e820.c | 30
arch/x86/kernel/ioport.c | 29
arch/x86/kernel/microcode_core.c | 5
arch/x86/kernel/microcode_xen.c | 200 +++
arch/x86/kernel/paravirt.c | 1
arch/x86/kernel/pci-dma.c | 3
arch/x86/kernel/pci-swiotlb.c | 30
arch/x86/kernel/process.c | 27
arch/x86/kernel/process_32.c | 27
arch/x86/kernel/process_64.c | 33
arch/x86/kernel/setup.c | 4
arch/x86/kernel/traps.c | 33
arch/x86/mm/init_32.c | 42
arch/x86/mm/pat.c | 2
arch/x86/mm/pgtable.c | 10
arch/x86/mm/tlb.c | 35
arch/x86/pci/Makefile | 1
arch/x86/pci/common.c | 18
arch/x86/pci/i386.c | 3
arch/x86/pci/init.c | 6
arch/x86/pci/xen.c | 51
arch/x86/xen/Kconfig | 33
arch/x86/xen/Makefile | 4
arch/x86/xen/apic.c | 60 +
arch/x86/xen/enlighten.c | 63 +
arch/x86/xen/mmu.c | 475 ++++++++-
arch/x86/xen/pci-swiotlb.c | 53 +
arch/x86/xen/pci.c | 86 +
arch/x86/xen/setup.c | 62 +
arch/x86/xen/smp.c | 2
arch/x86/xen/time.c | 2
arch/x86/xen/vga.c | 67 +
arch/x86/xen/xen-ops.h | 19
block/blk-core.c | 2
drivers/acpi/acpica/hwsleep.c | 17
drivers/acpi/sleep.c | 19
drivers/block/Kconfig | 1
drivers/char/agp/intel-agp.c | 17
drivers/char/hvc_xen.c | 99 +
drivers/net/Kconfig | 1
drivers/pci/Makefile | 2
drivers/pci/pci.h | 2
drivers/pci/xen-iommu.c | 332 ++++++
drivers/xen/Kconfig | 32
drivers/xen/Makefile | 18
drivers/xen/acpi.c | 23
drivers/xen/balloon.c | 155 ++
drivers/xen/biomerge.c | 14
drivers/xen/blkback/Makefile | 3
drivers/xen/blkback/blkback.c | 658 ++++++++++++
drivers/xen/blkback/common.h | 137 ++
drivers/xen/blkback/interface.c | 182 +++
drivers/xen/blkback/vbd.c | 118 ++
drivers/xen/blkback/xenbus.c | 542 ++++++++++
drivers/xen/events.c | 315 +++++-
drivers/xen/grant-table.c | 103 +
drivers/xen/netback/Makefile | 3
drivers/xen/netback/common.h | 221 ++++
drivers/xen/netback/interface.c | 401 +++++++
drivers/xen/netback/netback.c | 1513 +++++++++++++++++++++++++++++
drivers/xen/netback/xenbus.c | 454 ++++++++
drivers/xen/pci.c | 116 ++
drivers/xen/xenbus/Makefile | 5
drivers/xen/xenbus/xenbus_comms.c | 1
drivers/xen/xenbus/xenbus_probe.c | 380 +------
drivers/xen/xenbus/xenbus_probe.h | 29
drivers/xen/xenbus/xenbus_probe_backend.c | 298 +++++
drivers/xen/xenbus/xenbus_probe_frontend.c | 292 +++++
drivers/xen/xenfs/Makefile | 3
drivers/xen/xenfs/privcmd.c | 403 +++++++
drivers/xen/xenfs/super.c | 98 +
drivers/xen/xenfs/xenfs.h | 3
drivers/xen/xenfs/xenstored.c | 67 +
include/asm-generic/pci.h | 2
include/linux/interrupt.h | 1
include/linux/page-flags.h | 18
include/linux/pci.h | 6
include/xen/Kbuild | 1
include/xen/acpi.h | 23
include/xen/balloon.h | 8
include/xen/blkif.h | 122 ++
include/xen/events.h | 27
include/xen/grant_table.h | 43
include/xen/interface/grant_table.h | 22
include/xen/interface/memory.h | 92 +
include/xen/interface/physdev.h | 21
include/xen/interface/platform.h | 222 ++++
include/xen/interface/xen.h | 43
include/xen/privcmd.h | 80 +
include/xen/swiotlb.h | 18
include/xen/xen-ops.h | 11
include/xen/xenbus.h | 2
kernel/irq/manage.c | 3
lib/swiotlb.c | 5
mm/page_alloc.c | 14
128 files changed, 9928 insertions(+), 1309 deletions(-)
Index: xen.pvops.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.patch,v
retrieving revision 1.1.2.30
retrieving revision 1.1.2.31
diff -u -p -r1.1.2.30 -r1.1.2.31
--- xen.pvops.patch 8 Aug 2009 18:06:04 -0000 1.1.2.30
+++ xen.pvops.patch 11 Aug 2009 18:55:10 -0000 1.1.2.31
@@ -2612,10 +2612,10 @@ index 9371448..4cb6bbd 100644
microcode_ops = init_amd_microcode();
diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c
new file mode 100644
-index 0000000..ab9d4e1
+index 0000000..397cba1
--- /dev/null
+++ b/arch/x86/kernel/microcode_xen.c
-@@ -0,0 +1,195 @@
+@@ -0,0 +1,200 @@
+/*
+ * Xen microcode update driver
+ *
@@ -2684,14 +2684,19 @@ index 0000000..ab9d4e1
+ size_t size;
+ int err;
+
-+ if (c->x86_vendor == X86_VENDOR_INTEL) {
-+ BUG_ON(cpu != raw_smp_processor_id());
++ switch (c->x86_vendor) {
++ case X86_VENDOR_INTEL:
+ snprintf(name, sizeof(name), "intel-ucode/%02x-%02x-%02x",
+ c->x86, c->x86_model, c->x86_mask);
-+ } else if (c->x86_vendor == X86_VENDOR_AMD) {
++ break;
++
++ case X86_VENDOR_AMD:
+ snprintf(name, sizeof(name), "amd-ucode/microcode_amd.bin");
-+ } else
++ break;
++
++ default:
+ return UCODE_NFOUND;
++ }
+
+ err = request_firmware(&firmware, name, device);
+ if (err) {
More information about the scm-commits
mailing list