From 124e7edf3c6f20d5dd9ed89e26384ee5f48bfaa5 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 18 Dec 2010 22:06:06 +0100 Subject: [PATCH] linux: update nouveau patches Signed-off-by: Stephan Raue --- ...6-110-drm_nouveau_upstream-20101217.patch} | 227 +++++++++++------- 1 file changed, 141 insertions(+), 86 deletions(-) rename packages/linux/patches/{linux-2.6.37-rc6-110-drm_nouveau_upstream-20101205.patch => linux-2.6.37-rc6-110-drm_nouveau_upstream-20101217.patch} (98%) diff --git a/packages/linux/patches/linux-2.6.37-rc6-110-drm_nouveau_upstream-20101205.patch b/packages/linux/patches/linux-2.6.37-rc6-110-drm_nouveau_upstream-20101217.patch similarity index 98% rename from packages/linux/patches/linux-2.6.37-rc6-110-drm_nouveau_upstream-20101205.patch rename to packages/linux/patches/linux-2.6.37-rc6-110-drm_nouveau_upstream-20101217.patch index 118d59f7e6..42cd278875 100644 --- a/packages/linux/patches/linux-2.6.37-rc6-110-drm_nouveau_upstream-20101205.patch +++ b/packages/linux/patches/linux-2.6.37-rc6-110-drm_nouveau_upstream-20101217.patch @@ -1,6 +1,6 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/Makefile linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/Makefile --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/Makefile 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/Makefile 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/Makefile 2010-12-08 03:04:06.000000000 +0100 @@ -5,7 +5,7 @@ ccflags-y := -Iinclude/drm nouveau-y := nouveau_drv.o nouveau_state.o nouveau_channel.o nouveau_mem.o \ @@ -23,7 +23,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/Makefile linux-2.6.37-rc3.no nv04_crtc.o nv04_display.o nv04_cursor.o nv04_fbcon.o \ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_bios.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c 2010-12-08 03:04:06.000000000 +0100 @@ -6039,7 +6039,6 @@ if (type != cte->type) NV_WARN(dev, " -> type 0x%02x\n", cte->type); @@ -177,7 +177,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6.37- diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_bo.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c 2010-12-08 03:04:06.000000000 +0100 @@ -46,9 +46,7 @@ if (unlikely(nvbo->gem)) DRM_ERROR("bo %p still attached to GEM object\n", bo); @@ -352,7 +352,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.37-rc .io_mem_free = &nouveau_ttm_io_mem_free, diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_channel.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c 2010-12-08 03:04:06.000000000 +0100 @@ -39,22 +39,22 @@ if (dev_priv->card_type >= NV_50) { @@ -876,7 +876,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6. int nouveau_max_ioctl = DRM_ARRAY_SIZE(nouveau_ioctls); diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_connector.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_connector.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.c 2010-12-08 03:04:06.000000000 +0100 @@ -37,6 +37,8 @@ #include "nouveau_connector.h" #include "nouveau_hw.h" @@ -975,7 +975,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_connector.c linux-2. +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_display.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c 2010-12-08 03:04:06.000000000 +0100 @@ -29,6 +29,9 @@ #include "nouveau_drv.h" #include "nouveau_fb.h" @@ -1196,7 +1196,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6. +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-12-08 03:04:06.000000000 +0100 @@ -59,17 +59,11 @@ { struct drm_device *dev = chan->dev; @@ -1219,7 +1219,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6.37-r diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_dp.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c 2010-12-08 03:04:06.000000000 +0100 @@ -279,7 +279,7 @@ struct bit_displayport_encoder_table *dpe; int dpe_headerlen; @@ -1249,7 +1249,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6.37-rc } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.c 2010-12-08 03:04:06.000000000 +0100 @@ -115,6 +115,10 @@ int nouveau_perflvl_wr; module_param_named(perflvl_wr, nouveau_perflvl_wr, int, 0400); @@ -1374,7 +1374,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.c linux-2.6.37-r } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h 2010-12-08 03:04:06.000000000 +0100 @@ -54,6 +54,7 @@ #include "nouveau_drm.h" #include "nouveau_reg.h" @@ -1816,6 +1816,17 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.37-r extern void nouveau_irq_preinstall(struct drm_device *); extern int nouveau_irq_postinstall(struct drm_device *); extern void nouveau_irq_uninstall(struct drm_device *); +@@ -854,8 +915,8 @@ + /* nouveau_sgdma.c */ + extern int nouveau_sgdma_init(struct drm_device *); + extern void nouveau_sgdma_takedown(struct drm_device *); +-extern int nouveau_sgdma_get_page(struct drm_device *, uint32_t offset, +- uint32_t *page); ++extern uint32_t nouveau_sgdma_get_physical(struct drm_device *, ++ uint32_t offset); + extern struct ttm_backend *nouveau_sgdma_init_ttm(struct drm_device *); + + /* nouveau_debugfs.c */ @@ -966,18 +1027,25 @@ /* nv10_fb.c */ extern int nv10_fb_init(struct drm_device *); @@ -2132,7 +2143,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.37-r #endif /* __NOUVEAU_DRV_H__ */ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2010-12-08 03:04:06.000000000 +0100 @@ -49,6 +49,96 @@ #include "nouveau_fbcon.h" #include "nouveau_dma.h" @@ -2355,7 +2366,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6.37 diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fbcon.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fbcon.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.h 2010-12-08 03:04:06.000000000 +0100 @@ -40,13 +40,13 @@ void nouveau_fbcon_restore(void); @@ -2378,7 +2389,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fbcon.h linux-2.6.37 void nouveau_fbcon_gpu_lockup(struct fb_info *info); diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c 2010-12-08 03:04:06.000000000 +0100 @@ -64,6 +64,7 @@ struct nouveau_fence *fence = container_of(ref, struct nouveau_fence, refcount); @@ -2387,7 +2398,33 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 kfree(fence); } -@@ -113,13 +114,13 @@ +@@ -76,14 +77,17 @@ + + spin_lock(&chan->fence.lock); + +- if (USE_REFCNT(dev)) +- sequence = nvchan_rd32(chan, 0x48); +- else +- sequence = atomic_read(&chan->fence.last_sequence_irq); +- +- if (chan->fence.sequence_ack == sequence) +- goto out; +- chan->fence.sequence_ack = sequence; ++ /* Fetch the last sequence if the channel is still up and running */ ++ if (likely(!list_empty(&chan->fence.pending))) { ++ if (USE_REFCNT(dev)) ++ sequence = nvchan_rd32(chan, 0x48); ++ else ++ sequence = atomic_read(&chan->fence.last_sequence_irq); ++ ++ if (chan->fence.sequence_ack == sequence) ++ goto out; ++ chan->fence.sequence_ack = sequence; ++ } + + list_for_each_entry_safe(fence, tmp, &chan->fence.pending, entry) { + sequence = fence->sequence; +@@ -113,13 +117,13 @@ if (!fence) return -ENOMEM; kref_init(&fence->refcount); @@ -2403,7 +2440,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 *pfence = fence; return ret; } -@@ -127,7 +128,7 @@ +@@ -127,7 +131,7 @@ struct nouveau_channel * nouveau_fence_channel(struct nouveau_fence *fence) { @@ -2412,7 +2449,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 } int -@@ -182,7 +183,7 @@ +@@ -182,7 +186,7 @@ } void @@ -2421,7 +2458,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 { struct nouveau_fence *fence = nouveau_fence(*sync_obj); -@@ -192,7 +193,7 @@ +@@ -192,7 +196,7 @@ } void * @@ -2430,7 +2467,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 { struct nouveau_fence *fence = nouveau_fence(sync_obj); -@@ -201,7 +202,7 @@ +@@ -201,7 +205,7 @@ } bool @@ -2439,7 +2476,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 { struct nouveau_fence *fence = nouveau_fence(sync_obj); struct nouveau_channel *chan = fence->channel; -@@ -214,13 +215,14 @@ +@@ -214,13 +218,14 @@ } int @@ -2456,7 +2493,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 break; if (time_after_eq(jiffies, timeout)) { -@@ -230,7 +232,7 @@ +@@ -230,7 +235,7 @@ __set_current_state(intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); @@ -2465,7 +2502,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 schedule_timeout(1); if (intr && signal_pending(current)) { -@@ -368,7 +370,7 @@ +@@ -368,7 +373,7 @@ kref_get(&sema->ref); nouveau_fence_work(fence, semaphore_work, sema); @@ -2474,7 +2511,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 return 0; } -@@ -380,33 +382,49 @@ +@@ -380,33 +385,49 @@ struct nouveau_channel *chan = nouveau_fence_channel(fence); struct drm_device *dev = wchan->dev; struct nouveau_semaphore *sema; @@ -2532,7 +2569,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 { return 0; } -@@ -420,12 +438,7 @@ +@@ -420,12 +441,7 @@ int ret; /* Create an NV_SW object for various sync purposes */ @@ -2546,7 +2583,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 if (ret) return ret; -@@ -437,13 +450,12 @@ +@@ -437,13 +453,12 @@ /* Create a DMA object for the shared cross-channel sync area. */ if (USE_SEMA(dev)) { @@ -2563,7 +2600,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 if (ret) return ret; -@@ -473,6 +485,8 @@ +@@ -473,6 +488,8 @@ { struct nouveau_fence *tmp, *fence; @@ -2572,7 +2609,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 list_for_each_entry_safe(fence, tmp, &chan->fence.pending, entry) { fence->signalled = true; list_del(&fence->entry); -@@ -482,6 +496,8 @@ +@@ -482,6 +499,8 @@ kref_put(&fence->refcount, nouveau_fence_del); } @@ -2583,7 +2620,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.37 int diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-12-08 03:04:06.000000000 +0100 @@ -48,9 +48,6 @@ return; nvbo->gem = NULL; @@ -2876,7 +2913,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6.37-r int diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_hw.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_hw.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.c 2010-12-08 03:04:06.000000000 +0100 @@ -953,7 +953,7 @@ NVWriteCRTC(dev, head, NV_PCRTC_850, regp->crtc_850); @@ -2911,7 +2948,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_hw.c linux-2.6.37-rc diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_irq.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_irq.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_irq.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_irq.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_irq.c 2010-12-08 03:04:06.000000000 +0100 @@ -36,18 +36,7 @@ #include "nouveau_drv.h" #include "nouveau_reg.h" @@ -4184,7 +4221,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_irq.c linux-2.6.37-r } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_mem.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c 2010-12-08 03:04:06.000000000 +0100 @@ -42,83 +42,104 @@ */ @@ -4338,7 +4375,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.37-r /* diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_notifier.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c 2010-12-08 03:04:06.000000000 +0100 @@ -99,7 +99,6 @@ int size, uint32_t *b_offset) { @@ -4404,7 +4441,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6 } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c 2010-12-08 03:04:06.000000000 +0100 @@ -36,6 +36,101 @@ #include "nouveau_drm.h" #include "nouveau_ramht.h" @@ -4715,7 +4752,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 gpuobj->vinst = vinst; if (gpuobj->flags & NVOBJ_FLAG_ZERO_ALLOC) { -@@ -335,113 +399,154 @@ +@@ -335,113 +399,150 @@ The method below creates a DMA object in instance RAM and returns a handle to it that can be used to set up context objects. */ @@ -4760,10 +4797,10 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 + break; + case NV_MEM_TARGET_PCI: + flags0 |= 0x00020000; - break; ++ break; + case NV_MEM_TARGET_PCI_NOSNOOP: + flags0 |= 0x00030000; -+ break; + break; + case NV_MEM_TARGET_GART: + base += dev_priv->vm_gart_base; default: @@ -4857,7 +4894,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 struct drm_device *dev = chan->dev; - struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *obj; -+ u32 page_addr, flags0, flags2; ++ u32 flags0, flags2; int ret; - if (dev_priv->gart_info.type == NOUVEAU_GART_AGP || @@ -4897,12 +4934,8 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 + base += dev_priv->gart_info.aper_base; + } else + if (base != 0) { -+ ret = nouveau_sgdma_get_page(dev, base, &page_addr); -+ if (ret) -+ return ret; -+ ++ base = nouveau_sgdma_get_physical(dev, base); + target = NV_MEM_TARGET_PCI; -+ base = page_addr; + } else { + nouveau_gpuobj_ref(dev_priv->gart_info.sg_ctxdma, pobj); + return 0; @@ -4954,7 +4987,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 } /* Context objects in the instance RAM have the following structure. -@@ -495,82 +600,122 @@ +@@ -495,82 +596,122 @@ entry[5]: set to 0? */ @@ -5119,7 +5152,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 } static int -@@ -585,7 +730,7 @@ +@@ -585,7 +726,7 @@ NV_DEBUG(dev, "ch%d\n", chan->id); /* Base amount for object storage (4KiB enough?) */ @@ -5128,7 +5161,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 base = 0; /* PGRAPH context */ -@@ -701,8 +846,8 @@ +@@ -701,8 +842,8 @@ if (dev_priv->card_type >= NV_50) { ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, 0, dev_priv->vm_end, @@ -5139,7 +5172,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 if (ret) { NV_ERROR(dev, "Error creating VRAM ctxdma: %d\n", ret); return ret; -@@ -710,8 +855,8 @@ +@@ -710,8 +851,8 @@ } else { ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, 0, dev_priv->fb_available_size, @@ -5150,7 +5183,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 if (ret) { NV_ERROR(dev, "Error creating VRAM ctxdma: %d\n", ret); return ret; -@@ -729,20 +874,13 @@ +@@ -729,20 +870,13 @@ if (dev_priv->card_type >= NV_50) { ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, 0, dev_priv->vm_end, @@ -5177,7 +5210,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 } if (ret) { -@@ -791,147 +929,91 @@ +@@ -791,147 +925,91 @@ struct nouveau_gpuobj *gpuobj; int i; @@ -5356,7 +5389,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 u32 diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_pm.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.c 2010-12-08 03:04:06.000000000 +0100 @@ -27,6 +27,10 @@ #include "nouveau_drv.h" #include "nouveau_pm.h" @@ -5417,7 +5450,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.37-rc } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_ramht.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c 2010-12-08 03:04:06.000000000 +0100 @@ -104,17 +104,17 @@ nouveau_gpuobj_ref(gpuobj, &entry->gpuobj); @@ -5463,7 +5496,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6.37 struct nouveau_gpuobj * diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_ramht.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_ramht.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.h 2010-12-08 03:04:06.000000000 +0100 @@ -48,7 +48,7 @@ extern int nouveau_ramht_insert(struct nouveau_channel *, u32 handle, @@ -5475,7 +5508,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_ramht.h linux-2.6.37 diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_reg.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_reg.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_reg.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_reg.h 2010-12-08 03:04:06.000000000 +0100 @@ -45,6 +45,11 @@ # define NV04_PFB_REF_CMD_REFRESH (1 << 0) #define NV04_PFB_PRE 0x001002d4 @@ -5599,7 +5632,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.37-r #define NV50_PDISPLAY_CRTC_C(i, r) (4 + (i) * 0x540 + NV50_PDISPLAY_CRTC_##r) diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2010-12-08 03:04:06.000000000 +0100 @@ -144,19 +144,15 @@ pte = nvbe->pte_start; @@ -5676,7 +5709,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.37 } else { for (i = 0; i < obj_size; i += 8) { nv_wo32(gpuobj, i + 0, 0x00000000); -@@ -301,15 +269,6 @@ +@@ -301,31 +269,18 @@ { struct drm_nouveau_private *dev_priv = dev->dev_private; @@ -5692,9 +5725,31 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.37 nouveau_gpuobj_ref(NULL, &dev_priv->gart_info.sg_ctxdma); } +-int +-nouveau_sgdma_get_page(struct drm_device *dev, uint32_t offset, uint32_t *page) ++uint32_t ++nouveau_sgdma_get_physical(struct drm_device *dev, uint32_t offset) + { + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_gpuobj *gpuobj = dev_priv->gart_info.sg_ctxdma; +- int pte; ++ int pte = (offset >> NV_CTXDMA_PAGE_SHIFT) + 2; + +- pte = (offset >> NV_CTXDMA_PAGE_SHIFT) << 2; +- if (dev_priv->card_type < NV_50) { +- *page = nv_ro32(gpuobj, (pte + 8)) & ~NV_CTXDMA_PAGE_MASK; +- return 0; +- } ++ BUG_ON(dev_priv->card_type >= NV_50); + +- NV_ERROR(dev, "Unimplemented on NV50\n"); +- return -EINVAL; ++ return (nv_ro32(gpuobj, 4 * pte) & ~NV_CTXDMA_PAGE_MASK) | ++ (offset & NV_CTXDMA_PAGE_MASK); + } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_state.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c 2010-12-08 03:04:06.000000000 +0100 @@ -53,10 +53,10 @@ engine->instmem.takedown = nv04_instmem_takedown; engine->instmem.suspend = nv04_instmem_suspend; @@ -6303,7 +6358,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6.37 return false; diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_util.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_util.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_util.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_util.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_util.c 2010-12-08 03:04:06.000000000 +0100 @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2010 Nouveau Project @@ -6376,7 +6431,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_util.c linux-2.6.37- +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_util.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_util.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_util.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_util.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nouveau_util.h 2010-12-08 03:04:06.000000000 +0100 @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2010 Nouveau Project @@ -6425,7 +6480,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nouveau_util.h linux-2.6.37- +#endif diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_crtc.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c 2010-12-08 03:04:06.000000000 +0100 @@ -551,7 +551,10 @@ if (dev_priv->card_type >= NV_30) regp->gpio_ext = NVReadCRTC(dev, 0, NV_PCRTC_GPIO_EXT); @@ -6464,7 +6519,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6.37-rc3 diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_dac.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_dac.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_dac.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_dac.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_dac.c 2010-12-08 03:04:06.000000000 +0100 @@ -74,14 +74,14 @@ * use a 10ms timeout (guards against crtc being inactive, in * which case blank state would never change) @@ -6488,7 +6543,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_dac.c linux-2.6.37-rc3. udelay(100); diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_display.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_display.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_display.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_display.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_display.c 2010-12-08 03:04:06.000000000 +0100 @@ -32,6 +32,9 @@ #include "nouveau_encoder.h" #include "nouveau_connector.h" @@ -6537,7 +6592,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_display.c linux-2.6.37- +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_fbcon.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_fbcon.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_fbcon.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_fbcon.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_fbcon.c 2010-12-08 03:04:06.000000000 +0100 @@ -28,52 +28,39 @@ #include "nouveau_ramht.h" #include "nouveau_fbcon.h" @@ -6725,7 +6780,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_fbcon.c linux-2.6.37-rc diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_fifo.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c 2010-12-08 03:04:06.000000000 +0100 @@ -28,6 +28,7 @@ #include "drm.h" #include "nouveau_drv.h" @@ -7016,7 +7071,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6.37-rc3 +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_graph.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_graph.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_graph.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_graph.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_graph.c 2010-12-08 03:04:06.000000000 +0100 @@ -26,6 +26,11 @@ #include "drm.h" #include "nouveau_drm.h" @@ -7887,7 +7942,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_graph.c linux-2.6.37-rc +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_instmem.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_instmem.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_instmem.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_instmem.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv04_instmem.c 2010-12-08 03:04:06.000000000 +0100 @@ -98,42 +98,66 @@ } @@ -7969,7 +8024,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv04_instmem.c linux-2.6.37- +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_fb.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_fb.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_fb.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_fb.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_fb.c 2010-12-08 03:04:06.000000000 +0100 @@ -3,23 +3,109 @@ #include "nouveau_drv.h" #include "nouveau_drm.h" @@ -8123,7 +8178,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_fb.c linux-2.6.37-rc3.n } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_fifo.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_fifo.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_fifo.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_fifo.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_fifo.c 2010-12-08 03:04:06.000000000 +0100 @@ -53,6 +53,11 @@ if (ret) return ret; @@ -8173,7 +8228,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_fifo.c linux-2.6.37-rc3 } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_graph.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_graph.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_graph.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_graph.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv10_graph.c 2010-12-08 03:04:06.000000000 +0100 @@ -26,6 +26,10 @@ #include "drm.h" #include "nouveau_drm.h" @@ -8490,7 +8545,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv10_graph.c linux-2.6.37-rc +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv20_graph.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv20_graph.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv20_graph.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv20_graph.c 2010-12-08 03:04:06.000000000 +0100 @@ -32,6 +32,10 @@ #define NV34_GRCTX_SIZE (18140) #define NV35_36_GRCTX_SIZE (22396) @@ -8823,7 +8878,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.37-rc +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv30_fb.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv30_fb.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv30_fb.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv30_fb.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv30_fb.c 2010-12-08 03:04:06.000000000 +0100 @@ -29,6 +29,27 @@ #include "nouveau_drv.h" #include "nouveau_drm.h" @@ -8863,7 +8918,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv30_fb.c linux-2.6.37-rc3.n if (dev_priv->chipset == 0x30 || diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_fb.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c 2010-12-08 03:04:06.000000000 +0100 @@ -4,26 +4,22 @@ #include "nouveau_drm.h" @@ -8910,7 +8965,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6.37-rc3.n } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_fifo.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_fifo.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_fifo.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_fifo.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_fifo.c 2010-12-08 03:04:06.000000000 +0100 @@ -47,6 +47,11 @@ if (ret) return ret; @@ -8960,7 +9015,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_fifo.c linux-2.6.37-rc3 } diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_graph.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_graph.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_graph.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_graph.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv40_graph.c 2010-12-08 03:04:06.000000000 +0100 @@ -29,6 +29,9 @@ #include "nouveau_drv.h" #include "nouveau_grctx.h" @@ -9231,7 +9286,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv40_graph.c linux-2.6.37-rc +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_crtc.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c 2010-12-08 03:04:06.000000000 +0100 @@ -437,6 +437,7 @@ .cursor_move = nv50_crtc_cursor_move, .gamma_set = nv50_crtc_gamma_set, @@ -9258,7 +9313,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6.37-rc3 if (ret) { diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_display.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_display.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_display.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_display.c 2010-12-08 03:04:06.000000000 +0100 @@ -33,6 +33,8 @@ #include "nouveau_ramht.h" #include "drm_crtc_helper.h" @@ -9858,7 +9913,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6.37- - diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_display.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_display.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_display.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_display.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_display.h 2010-12-08 03:04:06.000000000 +0100 @@ -35,9 +35,7 @@ #include "nouveau_crtc.h" #include "nv50_evo.h" @@ -9871,7 +9926,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_display.h linux-2.6.37- int nv50_display_create(struct drm_device *dev); diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_evo.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c 2010-12-08 03:04:06.000000000 +0100 @@ -0,0 +1,318 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -10193,7 +10248,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6.37-rc3. +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_evo.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h 2010-12-08 03:04:06.000000000 +0100 @@ -24,6 +24,15 @@ * */ @@ -10217,7 +10272,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6.37-rc3. +#endif diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fb.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c 2010-12-08 03:04:06.000000000 +0100 @@ -3,30 +3,75 @@ #include "nouveau_drv.h" #include "nouveau_drm.h" @@ -10346,7 +10401,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6.37-rc3.n "channel %d (0x%08x)\n", diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fbcon.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fbcon.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fbcon.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fbcon.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fbcon.c 2010-12-08 03:04:06.000000000 +0100 @@ -4,26 +4,18 @@ #include "nouveau_ramht.h" #include "nouveau_fbcon.h" @@ -10505,7 +10560,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fbcon.c linux-2.6.37-rc diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fifo.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c 2010-12-08 03:04:06.000000000 +0100 @@ -44,7 +44,8 @@ /* We never schedule channel 0 or 127 */ @@ -10614,7 +10669,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6.37-rc3 return -EINVAL; diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_gpio.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_gpio.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_gpio.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_gpio.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_gpio.c 2010-12-08 03:04:06.000000000 +0100 @@ -26,6 +26,28 @@ #include "nouveau_drv.h" #include "nouveau_hw.h" @@ -10853,7 +10908,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_gpio.c linux-2.6.37-rc3 +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_graph.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c 2010-12-08 03:04:06.000000000 +0100 @@ -29,6 +29,11 @@ #include "nouveau_drv.h" #include "nouveau_ramht.h" @@ -11606,7 +11661,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.37-rc +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_instmem.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c 2010-12-08 03:04:06.000000000 +0100 @@ -131,10 +131,10 @@ } @@ -11887,7 +11942,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6.37- void diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv84_crypt.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv84_crypt.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c 2010-12-08 03:04:06.000000000 +0100 @@ -0,0 +1,137 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -12028,7 +12083,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nv84_crypt.c linux-2.6.37-rc +} diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nvc0_instmem.c linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nvc0_instmem.c --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nvc0_instmem.c 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nvc0_instmem.c 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nvc0_instmem.c 2010-12-08 03:04:06.000000000 +0100 @@ -26,67 +26,89 @@ #include "nouveau_drv.h" @@ -12203,7 +12258,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nvc0_instmem.c linux-2.6.37- void diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nvreg.h linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nvreg.h --- linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nvreg.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nvreg.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/drivers/gpu/drm/nouveau/nvreg.h 2010-12-08 03:04:06.000000000 +0100 @@ -153,7 +153,8 @@ #define NV_PCRTC_START 0x00600800 #define NV_PCRTC_CONFIG 0x00600804 @@ -12216,7 +12271,7 @@ diff -Naur linux-2.6.37-rc3/drivers/gpu/drm/nouveau/nvreg.h linux-2.6.37-rc3.nou # define NV_PCRTC_CURSOR_CONFIG_DOUBLE_SCAN_ENABLE (1 << 4) diff -Naur linux-2.6.37-rc3/include/drm/nouveau_drm.h linux-2.6.37-rc3.nouveau/include/drm/nouveau_drm.h --- linux-2.6.37-rc3/include/drm/nouveau_drm.h 2010-11-22 00:18:56.000000000 +0100 -+++ linux-2.6.37-rc3.nouveau/include/drm/nouveau_drm.h 2010-12-03 04:56:22.000000000 +0100 ++++ linux-2.6.37-rc3.nouveau/include/drm/nouveau_drm.h 2010-12-08 03:04:06.000000000 +0100 @@ -71,16 +71,15 @@ #define NOUVEAU_GETPARAM_PCI_VENDOR 3 #define NOUVEAU_GETPARAM_PCI_DEVICE 4