diff --git a/packages/linux/patches/110-linux-2.6.36-drm_nouveau_upstream-20101025.diff b/packages/linux/patches/110-linux-2.6.36-drm_nouveau_upstream-20101030.diff similarity index 98% rename from packages/linux/patches/110-linux-2.6.36-drm_nouveau_upstream-20101025.diff rename to packages/linux/patches/110-linux-2.6.36-drm_nouveau_upstream-20101030.diff index e453a52ee3..26893f9b4f 100644 --- a/packages/linux/patches/110-linux-2.6.36-drm_nouveau_upstream-20101025.diff +++ b/packages/linux/patches/110-linux-2.6.36-drm_nouveau_upstream-20101030.diff @@ -1,6 +1,6 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/Kconfig linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/Kconfig --- linux-2.6.36/drivers/gpu/drm/nouveau/Kconfig 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/Kconfig 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/Kconfig 2010-10-30 22:24:25.000000000 +0200 @@ -10,6 +10,7 @@ select FB select FRAMEBUFFER_CONSOLE if !EMBEDDED @@ -11,7 +11,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/Kconfig linux-2.6.36.nouveau/dri diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/Makefile linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/Makefile --- linux-2.6.36/drivers/gpu/drm/nouveau/Makefile 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/Makefile 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/Makefile 2010-10-30 22:24:25.000000000 +0200 @@ -9,7 +9,8 @@ nouveau_bo.o nouveau_fence.o nouveau_gem.o nouveau_ttm.o \ nouveau_hw.o nouveau_calc.o nouveau_bios.o nouveau_i2c.o \ @@ -42,7 +42,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/Makefile linux-2.6.36.nouveau/dr nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_acpi.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_acpi.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_acpi.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_acpi.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_acpi.c 2010-10-30 22:24:25.000000000 +0200 @@ -292,6 +292,6 @@ if (ret < 0) return ret; @@ -53,7 +53,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_acpi.c linux-2.6.36.nouv } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bios.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c 2010-10-30 22:24:25.000000000 +0200 @@ -43,9 +43,6 @@ #define BIOSLOG(sip, fmt, arg...) NV_DEBUG(sip->dev, fmt, ##arg) #define LOG_OLD_VALUE(x) @@ -603,7 +603,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6.36.nouv if (ret) diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bios.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bios.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.h 2010-10-30 22:24:25.000000000 +0200 @@ -34,6 +34,20 @@ #define DCB_LOC_ON_CHIP 0 @@ -674,7 +674,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bios.h linux-2.6.36.nouv diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c 2010-10-30 22:24:25.000000000 +0200 @@ -36,21 +36,6 @@ #include #include @@ -1175,7 +1175,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.36.nouvea mem->bus.base = pci_resource_start(dev->pdev, 1); mem->bus.is_iomem = true; break; -@@ -808,7 +916,39 @@ +@@ -808,7 +916,43 @@ static int nouveau_ttm_fault_reserve_notify(struct ttm_buffer_object *bo) { @@ -1206,17 +1206,21 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.36.nouvea +void +nouveau_bo_fence(struct nouveau_bo *nvbo, struct nouveau_fence *fence) +{ -+ spin_lock(&nvbo->bo.lock); -+ __nouveau_fence_unref(&nvbo->bo.sync_obj); ++ struct nouveau_fence *old_fence; + + if (likely(fence)) -+ nvbo->bo.sync_obj = nouveau_fence_ref(fence); ++ nouveau_fence_ref(fence); + ++ spin_lock(&nvbo->bo.lock); ++ old_fence = nvbo->bo.sync_obj; ++ nvbo->bo.sync_obj = fence; + spin_unlock(&nvbo->bo.lock); ++ ++ nouveau_fence_unref(&old_fence); } struct ttm_bo_driver nouveau_bo_driver = { -@@ -818,11 +958,11 @@ +@@ -818,11 +962,11 @@ .evict_flags = nouveau_bo_evict_flags, .move = nouveau_bo_move, .verify_access = nouveau_bo_verify_access, @@ -1235,7 +1239,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.36.nouvea .io_mem_free = &nouveau_ttm_io_mem_free, diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_calc.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_calc.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_calc.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_calc.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_calc.c 2010-10-30 22:24:25.000000000 +0200 @@ -198,8 +198,8 @@ struct drm_nouveau_private *dev_priv = dev->dev_private; struct nv_fifo_info fifo_data; @@ -1275,7 +1279,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_calc.c linux-2.6.36.nouv static int diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_channel.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c 2010-10-30 22:24:25.000000000 +0200 @@ -48,14 +48,14 @@ dev_priv->gart_info.aper_size, NV_DMA_ACCESS_RO, &pushbuf, @@ -1781,7 +1785,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6.36.n int nouveau_max_ioctl = DRM_ARRAY_SIZE(nouveau_ioctls); diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_connector.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_connector.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.c 2010-10-30 22:24:25.000000000 +0200 @@ -76,6 +76,22 @@ return NULL; } @@ -1989,7 +1993,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_connector.c linux-2.6.36 return dcb->drm; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_connector.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_connector.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_connector.h 2010-10-30 22:24:25.000000000 +0200 @@ -52,7 +52,7 @@ struct drm_connector * nouveau_connector_create(struct drm_device *, int index); @@ -2002,7 +2006,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_connector.h linux-2.6.36 #endif /* __NOUVEAU_CONNECTOR_H__ */ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_debugfs.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_debugfs.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_debugfs.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_debugfs.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_debugfs.c 2010-10-30 22:24:25.000000000 +0200 @@ -157,7 +157,23 @@ return 0; } @@ -2029,7 +2033,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_debugfs.c linux-2.6.36.n { "vbios.rom", nouveau_debugfs_vbios_image, 0, NULL }, diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_display.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c 2010-10-30 22:24:25.000000000 +0200 @@ -29,6 +29,9 @@ #include "nouveau_drv.h" #include "nouveau_fb.h" @@ -2250,7 +2254,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6.36.n +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c 2010-10-30 22:24:25.000000000 +0200 @@ -28,6 +28,7 @@ #include "drm.h" #include "nouveau_drv.h" @@ -2327,7 +2331,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6.36.nouve return 0; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dma.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dma.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.h 2010-10-30 22:24:25.000000000 +0200 @@ -72,6 +72,7 @@ NvGdiRect = 0x8000000c, NvImageBlit = 0x8000000d, @@ -2338,7 +2342,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dma.h linux-2.6.36.nouve NvEvoVRAM = 0x01000000, diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dp.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c 2010-10-30 22:24:25.000000000 +0200 @@ -317,7 +317,8 @@ return false; @@ -2375,7 +2379,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6.36.nouvea ret = -EBUSY; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.c 2010-10-30 22:24:25.000000000 +0200 @@ -31,13 +31,14 @@ #include "nouveau_hw.h" #include "nouveau_fb.h" @@ -2503,8 +2507,8 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.c linux-2.6.36.nouve } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h 2010-10-26 02:30:09.000000000 +0200 -@@ -66,10 +66,11 @@ ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h 2010-10-30 22:24:25.000000000 +0200 +@@ -66,10 +66,13 @@ #define NV50_VM_VRAM_NR (NV50_VM_MAX_VRAM / NV50_VM_BLOCK) struct nouveau_tile_reg { @@ -2515,11 +2519,13 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve + uint32_t addr; + uint32_t limit; + uint32_t pitch; ++ uint32_t zcomp; ++ struct drm_mm_node *tag_mem; + struct nouveau_fence *fence; }; struct nouveau_bo { -@@ -96,10 +97,12 @@ +@@ -96,10 +99,12 @@ struct nouveau_tile_reg *tile; struct drm_gem_object *gem; @@ -2533,7 +2539,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve static inline struct nouveau_bo * nouveau_bo(struct ttm_buffer_object *bo) { -@@ -130,25 +133,32 @@ +@@ -130,25 +135,32 @@ #define NVOBJ_ENGINE_SW 0 #define NVOBJ_ENGINE_GR 1 @@ -2572,7 +2578,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve uint32_t engine; uint32_t class; -@@ -157,20 +167,29 @@ +@@ -157,20 +169,29 @@ void *priv; }; @@ -2609,7 +2615,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* owner of this fifo */ struct drm_file *file_priv; /* mapping of the fifo itself */ -@@ -192,33 +211,33 @@ +@@ -192,33 +213,33 @@ } fence; /* DMA push buffer */ @@ -2656,7 +2662,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* GPU object info for stuff used in-kernel (mm_enabled) */ uint32_t m2mf_ntfy; -@@ -244,9 +263,11 @@ +@@ -244,9 +265,11 @@ struct { struct nouveau_gpuobj *vblsem; @@ -2668,7 +2674,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve } nvsw; struct { -@@ -265,7 +286,7 @@ +@@ -265,7 +288,7 @@ void (*resume)(struct drm_device *dev); int (*populate)(struct drm_device *, struct nouveau_gpuobj *, @@ -2677,7 +2683,12 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve void (*clear)(struct drm_device *, struct nouveau_gpuobj *); int (*bind)(struct drm_device *, struct nouveau_gpuobj *); int (*unbind)(struct drm_device *, struct nouveau_gpuobj *); -@@ -289,14 +310,17 @@ +@@ -285,18 +308,22 @@ + + struct nouveau_fb_engine { + int num_tiles; ++ struct drm_mm tag_heap; + int (*init)(struct drm_device *dev); void (*takedown)(struct drm_device *dev); @@ -2698,7 +2709,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve int cur_playlist; int (*init)(struct drm_device *); -@@ -305,7 +329,6 @@ +@@ -305,7 +332,6 @@ void (*disable)(struct drm_device *); void (*enable)(struct drm_device *); bool (*reassign)(struct drm_device *, bool enable); @@ -2706,7 +2717,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve bool (*cache_pull)(struct drm_device *dev, bool enable); int (*channel_id)(struct drm_device *); -@@ -314,27 +337,16 @@ +@@ -314,27 +340,16 @@ void (*destroy_context)(struct nouveau_channel *); int (*load_context)(struct nouveau_channel *); int (*unload_context)(struct drm_device *); @@ -2737,7 +2748,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve int (*init)(struct drm_device *); void (*takedown)(struct drm_device *); -@@ -346,9 +358,9 @@ +@@ -346,9 +361,9 @@ void (*destroy_context)(struct nouveau_channel *); int (*load_context)(struct nouveau_channel *); int (*unload_context)(struct drm_device *); @@ -2749,7 +2760,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve }; struct nouveau_display_engine { -@@ -369,6 +381,102 @@ +@@ -369,6 +384,102 @@ void (*irq_enable)(struct drm_device *, enum dcb_gpio_tag, bool on); }; @@ -2852,7 +2863,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve struct nouveau_engine { struct nouveau_instmem_engine instmem; struct nouveau_mc_engine mc; -@@ -378,6 +486,8 @@ +@@ -378,6 +489,8 @@ struct nouveau_fifo_engine fifo; struct nouveau_display_engine display; struct nouveau_gpio_engine gpio; @@ -2861,7 +2872,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve }; struct nouveau_pll_vals { -@@ -409,13 +519,13 @@ +@@ -409,13 +522,13 @@ }; struct nv04_crtc_reg { @@ -2877,7 +2888,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* PCRTC regs */ uint32_t fb_start; -@@ -463,43 +573,9 @@ +@@ -463,43 +576,9 @@ }; struct nv04_mode_state { @@ -2922,7 +2933,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve }; enum nouveau_card_type { -@@ -522,11 +598,20 @@ +@@ -522,11 +601,20 @@ int flags; void __iomem *mmio; @@ -2944,7 +2955,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve struct workqueue_struct *wq; struct work_struct irq_work; struct work_struct hpd_work; -@@ -540,8 +625,16 @@ +@@ -540,8 +628,16 @@ atomic_t validate_sequence; } ttm; @@ -2963,7 +2974,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve struct nouveau_engine engine; struct nouveau_channel *channel; -@@ -550,15 +643,11 @@ +@@ -550,15 +646,11 @@ spinlock_t context_switch_lock; /* RAMIN configuration, RAMFC, RAMHT and RAMRO offsets */ @@ -2983,7 +2994,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve struct { enum { -@@ -584,6 +673,7 @@ +@@ -584,6 +676,7 @@ /* VRAM/fb configuration */ uint64_t vram_size; uint64_t vram_sys_base; @@ -2991,7 +3002,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve uint64_t fb_phys; uint64_t fb_available_size; -@@ -600,10 +690,6 @@ +@@ -600,10 +693,6 @@ struct nouveau_gpuobj *vm_vram_pt[NV50_VM_VRAM_NR]; int vm_vram_pt_nr; @@ -3002,7 +3013,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve struct nvbios vbios; struct nv04_mode_state mode_reg; -@@ -619,6 +705,7 @@ +@@ -619,6 +708,7 @@ struct backlight_device *backlight; struct nouveau_channel *evo; @@ -3010,7 +3021,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve struct { struct dcb_entry *dcb; u16 script; -@@ -634,6 +721,12 @@ +@@ -634,6 +724,12 @@ }; static inline struct drm_nouveau_private * @@ -3023,7 +3034,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve nouveau_bdev(struct ttm_bo_device *bd) { return container_of(bd, struct drm_nouveau_private, ttm.bdev); -@@ -658,18 +751,8 @@ +@@ -658,18 +754,8 @@ return 0; } @@ -3043,7 +3054,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nouveau_duallink; extern int nouveau_uscript_lvds; extern int nouveau_uscript_tmds; -@@ -683,7 +766,11 @@ +@@ -683,7 +769,11 @@ extern int nouveau_ignorelid; extern int nouveau_nofbaccel; extern int nouveau_noaccel; @@ -3055,7 +3066,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nouveau_pci_suspend(struct pci_dev *pdev, pm_message_t pm_state); extern int nouveau_pci_resume(struct pci_dev *pdev); -@@ -704,18 +791,19 @@ +@@ -704,18 +794,19 @@ extern int nouveau_card_init(struct drm_device *); /* nouveau_mem.c */ @@ -3084,7 +3095,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv50_mem_vm_bind_linear(struct drm_device *, uint64_t virt, uint32_t size, uint32_t flags, uint64_t phys); -@@ -737,46 +825,54 @@ +@@ -737,46 +828,54 @@ extern struct drm_ioctl_desc nouveau_ioctls[]; extern int nouveau_max_ioctl; extern void nouveau_channel_cleanup(struct drm_device *, struct drm_file *); @@ -3161,7 +3172,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nouveau_gpuobj_dma_new(struct nouveau_channel *, int class, uint64_t offset, uint64_t size, int access, int target, struct nouveau_gpuobj **); -@@ -786,14 +882,14 @@ +@@ -786,14 +885,14 @@ uint32_t *o_ret); extern int nouveau_gpuobj_gr_new(struct nouveau_channel *, int class, struct nouveau_gpuobj **); @@ -3178,7 +3189,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern irqreturn_t nouveau_irq_handler(DRM_IRQ_ARGS); extern void nouveau_irq_preinstall(struct drm_device *); extern int nouveau_irq_postinstall(struct drm_device *); -@@ -879,6 +975,7 @@ +@@ -879,6 +978,7 @@ enum dcb_gpio_tag); extern struct dcb_connector_table_entry * nouveau_bios_connector_entry(struct drm_device *, int index); @@ -3186,7 +3197,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int get_pll_limits(struct drm_device *, uint32_t limit_match, struct pll_lims *); extern int nouveau_bios_run_display_table(struct drm_device *, -@@ -913,18 +1010,29 @@ +@@ -913,18 +1013,29 @@ /* nv10_fb.c */ extern int nv10_fb_init(struct drm_device *); extern void nv10_fb_takedown(struct drm_device *); @@ -3220,7 +3231,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* nv50_fb.c */ extern int nv50_fb_init(struct drm_device *); -@@ -939,7 +1047,6 @@ +@@ -939,7 +1050,6 @@ extern void nv04_fifo_disable(struct drm_device *); extern void nv04_fifo_enable(struct drm_device *); extern bool nv04_fifo_reassign(struct drm_device *, bool); @@ -3228,7 +3239,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern bool nv04_fifo_cache_pull(struct drm_device *, bool); extern int nv04_fifo_channel_id(struct drm_device *); extern int nv04_fifo_create_context(struct nouveau_channel *); -@@ -951,14 +1058,12 @@ +@@ -951,14 +1061,12 @@ extern int nv10_fifo_init(struct drm_device *); extern int nv10_fifo_channel_id(struct drm_device *); extern int nv10_fifo_create_context(struct nouveau_channel *); @@ -3243,7 +3254,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv40_fifo_load_context(struct nouveau_channel *); extern int nv40_fifo_unload_context(struct drm_device *); -@@ -970,6 +1075,7 @@ +@@ -970,6 +1078,7 @@ extern void nv50_fifo_destroy_context(struct nouveau_channel *); extern int nv50_fifo_load_context(struct nouveau_channel *); extern int nv50_fifo_unload_context(struct drm_device *); @@ -3251,7 +3262,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* nvc0_fifo.c */ extern int nvc0_fifo_init(struct drm_device *); -@@ -977,7 +1083,6 @@ +@@ -977,7 +1086,6 @@ extern void nvc0_fifo_disable(struct drm_device *); extern void nvc0_fifo_enable(struct drm_device *); extern bool nvc0_fifo_reassign(struct drm_device *, bool); @@ -3259,7 +3270,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern bool nvc0_fifo_cache_pull(struct drm_device *, bool); extern int nvc0_fifo_channel_id(struct drm_device *); extern int nvc0_fifo_create_context(struct nouveau_channel *); -@@ -986,7 +1091,6 @@ +@@ -986,7 +1094,6 @@ extern int nvc0_fifo_unload_context(struct drm_device *); /* nv04_graph.c */ @@ -3267,7 +3278,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv04_graph_init(struct drm_device *); extern void nv04_graph_takedown(struct drm_device *); extern void nv04_graph_fifo_access(struct drm_device *, bool); -@@ -996,9 +1100,10 @@ +@@ -996,9 +1103,10 @@ extern int nv04_graph_load_context(struct nouveau_channel *); extern int nv04_graph_unload_context(struct drm_device *); extern void nv04_graph_context_switch(struct drm_device *); @@ -3279,7 +3290,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv10_graph_init(struct drm_device *); extern void nv10_graph_takedown(struct drm_device *); extern struct nouveau_channel *nv10_graph_channel(struct drm_device *); -@@ -1007,12 +1112,9 @@ +@@ -1007,12 +1115,9 @@ extern int nv10_graph_load_context(struct nouveau_channel *); extern int nv10_graph_unload_context(struct drm_device *); extern void nv10_graph_context_switch(struct drm_device *); @@ -3293,7 +3304,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv20_graph_create_context(struct nouveau_channel *); extern void nv20_graph_destroy_context(struct nouveau_channel *); extern int nv20_graph_load_context(struct nouveau_channel *); -@@ -1020,11 +1122,9 @@ +@@ -1020,11 +1125,9 @@ extern int nv20_graph_init(struct drm_device *); extern void nv20_graph_takedown(struct drm_device *); extern int nv30_graph_init(struct drm_device *); @@ -3306,7 +3317,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv40_graph_init(struct drm_device *); extern void nv40_graph_takedown(struct drm_device *); extern struct nouveau_channel *nv40_graph_channel(struct drm_device *); -@@ -1033,11 +1133,9 @@ +@@ -1033,11 +1136,9 @@ extern int nv40_graph_load_context(struct nouveau_channel *); extern int nv40_graph_unload_context(struct drm_device *); extern void nv40_grctx_init(struct nouveau_grctx *); @@ -3319,7 +3330,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern int nv50_graph_init(struct drm_device *); extern void nv50_graph_takedown(struct drm_device *); extern void nv50_graph_fifo_access(struct drm_device *, bool); -@@ -1048,6 +1146,8 @@ +@@ -1048,6 +1149,8 @@ extern int nv50_graph_unload_context(struct drm_device *); extern void nv50_graph_context_switch(struct drm_device *); extern int nv50_grctx_init(struct nouveau_grctx *); @@ -3328,7 +3339,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* nvc0_graph.c */ extern int nvc0_graph_init(struct drm_device *); -@@ -1059,13 +1159,20 @@ +@@ -1059,13 +1162,20 @@ extern int nvc0_graph_load_context(struct nouveau_channel *); extern int nvc0_graph_unload_context(struct drm_device *); @@ -3350,7 +3361,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern void nv04_instmem_clear(struct drm_device *, struct nouveau_gpuobj *); extern int nv04_instmem_bind(struct drm_device *, struct nouveau_gpuobj *); extern int nv04_instmem_unbind(struct drm_device *, struct nouveau_gpuobj *); -@@ -1077,7 +1184,7 @@ +@@ -1077,7 +1187,7 @@ extern int nv50_instmem_suspend(struct drm_device *); extern void nv50_instmem_resume(struct drm_device *); extern int nv50_instmem_populate(struct drm_device *, struct nouveau_gpuobj *, @@ -3359,7 +3370,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern void nv50_instmem_clear(struct drm_device *, struct nouveau_gpuobj *); extern int nv50_instmem_bind(struct drm_device *, struct nouveau_gpuobj *); extern int nv50_instmem_unbind(struct drm_device *, struct nouveau_gpuobj *); -@@ -1091,7 +1198,7 @@ +@@ -1091,7 +1201,7 @@ extern int nvc0_instmem_suspend(struct drm_device *); extern void nvc0_instmem_resume(struct drm_device *); extern int nvc0_instmem_populate(struct drm_device *, struct nouveau_gpuobj *, @@ -3368,7 +3379,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve extern void nvc0_instmem_clear(struct drm_device *, struct nouveau_gpuobj *); extern int nvc0_instmem_bind(struct drm_device *, struct nouveau_gpuobj *); extern int nvc0_instmem_unbind(struct drm_device *, struct nouveau_gpuobj *); -@@ -1165,22 +1272,51 @@ +@@ -1165,22 +1275,51 @@ 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); @@ -3428,7 +3439,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* nouveau_gem.c */ extern int nouveau_gem_new(struct drm_device *, struct nouveau_channel *, -@@ -1200,6 +1336,14 @@ +@@ -1200,6 +1339,14 @@ extern int nouveau_gem_ioctl_info(struct drm_device *, void *, struct drm_file *); @@ -3443,7 +3454,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* nv10_gpio.c */ int nv10_gpio_get(struct drm_device *dev, enum dcb_gpio_tag tag); int nv10_gpio_set(struct drm_device *dev, enum dcb_gpio_tag tag, int state); -@@ -1255,12 +1399,11 @@ +@@ -1255,12 +1402,11 @@ iowrite32_native(val, dev_priv->mmio + reg); } @@ -3459,7 +3470,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve } static inline u8 nv_rd08(struct drm_device *dev, unsigned reg) -@@ -1275,7 +1418,7 @@ +@@ -1275,7 +1421,7 @@ iowrite8(val, dev_priv->mmio + reg); } @@ -3468,7 +3479,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve nouveau_wait_until(dev, 2000000000ULL, (reg), (mask), (val)) /* PRAMIN access */ -@@ -1292,17 +1435,8 @@ +@@ -1292,17 +1438,8 @@ } /* object access */ @@ -3488,7 +3499,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve /* * Logging -@@ -1403,9 +1537,11 @@ +@@ -1403,9 +1540,11 @@ #define NV_SW_SEMAPHORE_OFFSET 0x00000064 #define NV_SW_SEMAPHORE_ACQUIRE 0x00000068 #define NV_SW_SEMAPHORE_RELEASE 0x0000006c @@ -3502,7 +3513,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.36.nouve #endif /* __NOUVEAU_DRV_H__ */ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_encoder.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_encoder.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_encoder.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_encoder.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_encoder.h 2010-10-30 22:24:25.000000000 +0200 @@ -55,6 +55,7 @@ int dpcd_version; int link_nr; @@ -3513,7 +3524,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_encoder.h linux-2.6.36.n }; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2010-10-30 22:24:25.000000000 +0200 @@ -49,6 +49,96 @@ #include "nouveau_fbcon.h" #include "nouveau_dma.h" @@ -3733,7 +3744,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6.36.nou diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fbcon.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fbcon.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.h 2010-10-30 22:24:25.000000000 +0200 @@ -40,13 +40,13 @@ void nouveau_fbcon_restore(void); @@ -3756,7 +3767,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fbcon.h linux-2.6.36.nou void nouveau_fbcon_gpu_lockup(struct fb_info *info); diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fence.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c 2010-10-30 22:24:25.000000000 +0200 @@ -28,9 +28,11 @@ #include "drm.h" @@ -4254,7 +4265,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.36.nou +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c 2010-10-30 22:24:25.000000000 +0200 @@ -48,9 +48,6 @@ return; nvbo->gem = NULL; @@ -4605,7 +4616,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6.36.nouve int diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_grctx.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_grctx.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_grctx.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_grctx.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_grctx.h 2010-10-30 22:24:25.000000000 +0200 @@ -126,7 +126,7 @@ reg = (reg - 0x00400000) / 4; reg = (reg - ctx->ctxprog_reg) + ctx->ctxvals_base; @@ -4617,7 +4628,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_grctx.h linux-2.6.36.nou diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_hw.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_hw.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.c 2010-10-30 22:24:25.000000000 +0200 @@ -305,7 +305,7 @@ bool mpll = Preg == 0x4020; uint32_t oldPval = nvReadMC(dev, Preg); @@ -4769,7 +4780,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_hw.c linux-2.6.36.nouvea diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_hw.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_hw.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_hw.h 2010-10-30 22:24:25.000000000 +0200 @@ -416,6 +416,25 @@ } @@ -4798,7 +4809,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_hw.h linux-2.6.36.nouvea struct drm_nouveau_private *dev_priv = dev->dev_private; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_i2c.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_i2c.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_i2c.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_i2c.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_i2c.c 2010-10-30 22:24:25.000000000 +0200 @@ -299,7 +299,10 @@ int @@ -4823,7 +4834,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_i2c.c linux-2.6.36.nouve } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_i2c.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_i2c.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_i2c.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_i2c.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_i2c.h 2010-10-30 22:24:25.000000000 +0200 @@ -44,7 +44,10 @@ struct nouveau_i2c_chan *nouveau_i2c_find(struct drm_device *, int index); bool nouveau_probe_i2c_addr(struct nouveau_i2c_chan *i2c, int addr); @@ -4838,7 +4849,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_i2c.h linux-2.6.36.nouve diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_irq.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_irq.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_irq.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_irq.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_irq.c 2010-10-30 22:24:25.000000000 +0200 @@ -35,12 +35,20 @@ #include "nouveau_drm.h" #include "nouveau_drv.h" @@ -5380,7 +5391,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_irq.c linux-2.6.36.nouve +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_mem.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c 2010-10-30 22:24:25.000000000 +0200 @@ -33,92 +33,113 @@ #include "drmP.h" #include "drm.h" @@ -6022,7 +6033,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.36.nouve +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_notifier.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c 2010-10-30 22:24:25.000000000 +0200 @@ -28,6 +28,7 @@ #include "drmP.h" #include "drm.h" @@ -6074,7 +6085,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6.36. } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_object.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c 2010-10-30 22:24:25.000000000 +0200 @@ -34,6 +34,84 @@ #include "drm.h" #include "nouveau_drv.h" @@ -7418,7 +7429,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.36.no } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_perf.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_perf.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_perf.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_perf.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_perf.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,205 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -7627,8 +7638,8 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_perf.c linux-2.6.36.nouv +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.c 2010-10-26 02:30:09.000000000 +0200 -@@ -0,0 +1,548 @@ ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.c 2010-10-30 22:24:25.000000000 +0200 +@@ -0,0 +1,553 @@ +/* + * Copyright 2010 Red Hat Inc. + * @@ -7919,6 +7930,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.36.nouvea + } +} + ++#ifdef CONFIG_HWMON +static ssize_t +nouveau_hwmon_show_temp(struct device *d, struct device_attribute *a, char *buf) +{ @@ -8030,10 +8042,12 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.36.nouvea +static const struct attribute_group hwmon_attrgroup = { + .attrs = hwmon_attributes, +}; ++#endif + +static int +nouveau_hwmon_init(struct drm_device *dev) +{ ++#ifdef CONFIG_HWMON + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pm_engine *pm = &dev_priv->engine.pm; + struct device *hwmon_dev; @@ -8060,13 +8074,14 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.36.nouvea + } + + pm->hwmon = hwmon_dev; -+ ++#endif + return 0; +} + +static void +nouveau_hwmon_fini(struct drm_device *dev) +{ ++#ifdef CONFIG_HWMON + struct drm_nouveau_private *dev_priv = dev->dev_private; + struct nouveau_pm_engine *pm = &dev_priv->engine.pm; + @@ -8074,6 +8089,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.36.nouvea + sysfs_remove_group(&pm->hwmon->kobj, &hwmon_attrgroup); + hwmon_device_unregister(pm->hwmon); + } ++#endif +} + +#ifdef CONFIG_ACPI @@ -8179,7 +8195,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.c linux-2.6.36.nouvea +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_pm.h 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,74 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -8257,7 +8273,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_pm.h linux-2.6.36.nouvea +#endif diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_ramht.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,307 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -8568,7 +8584,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6.36.nou +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_ramht.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_ramht.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.h 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,55 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -8627,8 +8643,20 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_ramht.h linux-2.6.36.nou +#endif diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_reg.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_reg.h 2010-10-26 02:30:09.000000000 +0200 -@@ -332,6 +332,7 @@ ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_reg.h 2010-10-30 22:24:25.000000000 +0200 +@@ -45,6 +45,11 @@ + # define NV04_PFB_REF_CMD_REFRESH (1 << 0) + #define NV04_PFB_PRE 0x001002d4 + # define NV04_PFB_PRE_CMD_PRECHARGE (1 << 0) ++#define NV20_PFB_ZCOMP(i) (0x00100300 + 4*(i)) ++# define NV20_PFB_ZCOMP_MODE_32 (4 << 24) ++# define NV20_PFB_ZCOMP_EN (1 << 31) ++# define NV25_PFB_ZCOMP_MODE_16 (1 << 20) ++# define NV25_PFB_ZCOMP_MODE_32 (2 << 20) + #define NV10_PFB_CLOSE_PAGE2 0x0010033c + #define NV04_PFB_SCRAMBLE(i) (0x00100400 + 4 * (i)) + #define NV40_PFB_TILE(i) (0x00100600 + (i*16)) +@@ -332,6 +337,7 @@ #define NV04_PGRAPH_BSWIZZLE5 0x004006A0 #define NV03_PGRAPH_STATUS 0x004006B0 #define NV04_PGRAPH_STATUS 0x00400700 @@ -8636,7 +8664,15 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.36.nouve #define NV04_PGRAPH_TRAPPED_ADDR 0x00400704 #define NV04_PGRAPH_TRAPPED_DATA 0x00400708 #define NV04_PGRAPH_SURFACE 0x0040070C -@@ -551,6 +552,8 @@ +@@ -378,6 +384,7 @@ + #define NV20_PGRAPH_TLIMIT(i) (0x00400904 + (i*16)) + #define NV20_PGRAPH_TSIZE(i) (0x00400908 + (i*16)) + #define NV20_PGRAPH_TSTATUS(i) (0x0040090C + (i*16)) ++#define NV20_PGRAPH_ZCOMP(i) (0x00400980 + 4*(i)) + #define NV10_PGRAPH_TILE(i) (0x00400B00 + (i*16)) + #define NV10_PGRAPH_TLIMIT(i) (0x00400B04 + (i*16)) + #define NV10_PGRAPH_TSIZE(i) (0x00400B08 + (i*16)) +@@ -551,6 +558,8 @@ #define NV10_PFIFO_CACHE1_DMA_SUBROUTINE 0x0000324C #define NV03_PFIFO_CACHE1_PULL0 0x00003240 #define NV04_PFIFO_CACHE1_PULL0 0x00003250 @@ -8645,7 +8681,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.36.nouve #define NV03_PFIFO_CACHE1_PULL1 0x00003250 #define NV04_PFIFO_CACHE1_PULL1 0x00003254 #define NV04_PFIFO_CACHE1_HASH 0x00003258 -@@ -712,31 +715,32 @@ +@@ -712,31 +721,32 @@ #define NV50_PDISPLAY_INTR_1_CLK_UNK10 0x00000010 #define NV50_PDISPLAY_INTR_1_CLK_UNK20 0x00000020 #define NV50_PDISPLAY_INTR_1_CLK_UNK40 0x00000040 @@ -8699,7 +8735,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.36.nouve #define NV50_PDISPLAY_CURSOR 0x00610270 #define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2(i) ((i) * 0x10 + 0x00610270) -@@ -744,15 +748,11 @@ +@@ -744,15 +754,11 @@ #define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS 0x00030000 #define NV50_PDISPLAY_CURSOR_CURSOR_CTRL2_STATUS_ACTIVE 0x00010000 @@ -8720,7 +8756,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.36.nouve #define NV50_PDISPLAY_CRTC_P(i, r) ((i) * 0x540 + NV50_PDISPLAY_CRTC_##r) #define NV50_PDISPLAY_CRTC_C(i, r) (4 + (i) * 0x540 + NV50_PDISPLAY_CRTC_##r) -@@ -785,15 +785,12 @@ +@@ -785,15 +791,12 @@ #define NV50_PDISPLAY_DAC_MODE_CTRL_C(i) (0x00610b5c + (i) * 0x8) #define NV50_PDISPLAY_SOR_MODE_CTRL_P(i) (0x00610b70 + (i) * 0x8) #define NV50_PDISPLAY_SOR_MODE_CTRL_C(i) (0x00610b74 + (i) * 0x8) @@ -8740,7 +8776,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_reg.h linux-2.6.36.nouve #define NV50_PDISPLAY_CRTC_CLK_CTRL1(i) ((i) * 0x800 + 0x614100) diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2010-10-30 22:24:25.000000000 +0200 @@ -95,9 +95,9 @@ struct nouveau_gpuobj *gpuobj = dev_priv->gart_info.sg_ctxdma; unsigned i, j, pte; @@ -8916,7 +8952,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.36.nou diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_state.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c 2010-10-30 22:24:25.000000000 +0200 @@ -35,6 +35,8 @@ #include "nouveau_drv.h" #include "nouveau_drm.h" @@ -9530,7 +9566,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6.36.nou return false; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_temp.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_temp.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_temp.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_temp.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_temp.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,309 @@ +/* + * Copyright 2010 PathScale inc. @@ -9843,7 +9879,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_temp.c linux-2.6.36.nouv +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_volt.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_volt.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_volt.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_volt.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nouveau_volt.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,212 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -10059,7 +10095,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nouveau_volt.c linux-2.6.36.nouv +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_crtc.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c 2010-10-30 22:24:25.000000000 +0200 @@ -109,7 +109,7 @@ struct nouveau_pll_vals *pv = ®p->pllvals; struct pll_lims pll_lim; @@ -10152,7 +10188,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6.36.nouveau diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_dac.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_dac.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_dac.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_dac.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_dac.c 2010-10-30 22:24:25.000000000 +0200 @@ -291,6 +291,8 @@ msleep(5); @@ -10187,7 +10223,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_dac.c linux-2.6.36.nouveau/ struct drm_display_mode *adjusted_mode) diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_dfp.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_dfp.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_dfp.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_dfp.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_dfp.c 2010-10-30 22:24:25.000000000 +0200 @@ -104,6 +104,8 @@ } /* don't inadvertently turn it on when state written later */ @@ -10271,7 +10307,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_dfp.c linux-2.6.36.nouveau/ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_fbcon.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_fbcon.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_fbcon.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_fbcon.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_fbcon.c 2010-10-30 22:24:25.000000000 +0200 @@ -25,54 +25,42 @@ #include "drmP.h" #include "nouveau_drv.h" @@ -10421,7 +10457,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_fbcon.c linux-2.6.36.nouvea int diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_fifo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c 2010-10-30 22:24:25.000000000 +0200 @@ -27,8 +27,9 @@ #include "drmP.h" #include "drm.h" @@ -10589,7 +10625,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6.36.nouveau } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_graph.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_graph.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_graph.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_graph.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_graph.c 2010-10-30 22:24:25.000000000 +0200 @@ -26,6 +26,9 @@ #include "drm.h" #include "nouveau_drm.h" @@ -11353,7 +11389,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_graph.c linux-2.6.36.nouvea - diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_instmem.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_instmem.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_instmem.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_instmem.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_instmem.c 2010-10-30 22:24:25.000000000 +0200 @@ -1,6 +1,7 @@ #include "drmP.h" #include "drm.h" @@ -11552,7 +11588,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_instmem.c linux-2.6.36.nouv diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_pm.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_pm.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_pm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_pm.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_pm.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,90 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -11646,7 +11682,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_pm.c linux-2.6.36.nouveau/d + diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_tv.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_tv.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv04_tv.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_tv.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv04_tv.c 2010-10-30 22:24:25.000000000 +0200 @@ -49,8 +49,8 @@ int nv04_tv_identify(struct drm_device *dev, int i2c_index) @@ -11675,15 +11711,92 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv04_tv.c linux-2.6.36.nouveau/d state->CRTC[NV_CIO_CRE_LCD__INDEX]); diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fb.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_fb.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fb.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_fb.c 2010-10-26 02:30:09.000000000 +0200 -@@ -4,22 +4,40 @@ ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_fb.c 2010-10-30 22:24:25.000000000 +0200 +@@ -3,23 +3,109 @@ + #include "nouveau_drv.h" #include "nouveau_drm.h" ++static struct drm_mm_node * ++nv20_fb_alloc_tag(struct drm_device *dev, uint32_t size) ++{ ++ struct drm_nouveau_private *dev_priv = dev->dev_private; ++ struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; ++ struct drm_mm_node *mem; ++ int ret; ++ ++ ret = drm_mm_pre_get(&pfb->tag_heap); ++ if (ret) ++ return NULL; ++ ++ spin_lock(&dev_priv->tile.lock); ++ mem = drm_mm_search_free(&pfb->tag_heap, size, 0, 0); ++ if (mem) ++ mem = drm_mm_get_block_atomic(mem, size, 0); ++ spin_unlock(&dev_priv->tile.lock); ++ ++ return mem; ++} ++ ++static void ++nv20_fb_free_tag(struct drm_device *dev, struct drm_mm_node *mem) ++{ ++ struct drm_nouveau_private *dev_priv = dev->dev_private; ++ ++ spin_lock(&dev_priv->tile.lock); ++ drm_mm_put_block(mem); ++ spin_unlock(&dev_priv->tile.lock); ++} ++ ++void ++nv10_fb_init_tile_region(struct drm_device *dev, int i, uint32_t addr, ++ uint32_t size, uint32_t pitch, uint32_t flags) ++{ ++ struct drm_nouveau_private *dev_priv = dev->dev_private; ++ struct nouveau_tile_reg *tile = &dev_priv->tile.reg[i]; ++ int bpp = (flags & NOUVEAU_GEM_TILE_32BPP ? 32 : 16); ++ ++ tile->addr = addr; ++ tile->limit = max(1u, addr + size) - 1; ++ tile->pitch = pitch; ++ ++ if (dev_priv->card_type == NV_20) { ++ if (flags & NOUVEAU_GEM_TILE_ZETA) { ++ /* ++ * Allocate some of the on-die tag memory, ++ * used to store Z compression meta-data (most ++ * likely just a bitmap determining if a given ++ * tile is compressed or not). ++ */ ++ tile->tag_mem = nv20_fb_alloc_tag(dev, size / 256); ++ ++ if (tile->tag_mem) { ++ /* Enable Z compression */ ++ if (dev_priv->chipset >= 0x25) ++ tile->zcomp = tile->tag_mem->start | ++ (bpp == 16 ? ++ NV25_PFB_ZCOMP_MODE_16 : ++ NV25_PFB_ZCOMP_MODE_32); ++ else ++ tile->zcomp = tile->tag_mem->start | ++ NV20_PFB_ZCOMP_EN | ++ (bpp == 16 ? 0 : ++ NV20_PFB_ZCOMP_MODE_32); ++ } ++ ++ tile->addr |= 3; ++ } else { ++ tile->addr |= 1; ++ } ++ ++ } else { ++ tile->addr |= 1 << 31; ++ } ++} ++ void -nv10_fb_set_region_tiling(struct drm_device *dev, int i, uint32_t addr, - uint32_t size, uint32_t pitch) -+nv10_fb_init_tile_region(struct drm_device *dev, int i, uint32_t addr, -+ uint32_t size, uint32_t pitch, uint32_t flags) ++nv10_fb_free_tile_region(struct drm_device *dev, int i) { struct drm_nouveau_private *dev_priv = dev->dev_private; - uint32_t limit = max(1u, addr + size) - 1; @@ -11694,28 +11807,15 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fb.c linux-2.6.36.nouveau/d - addr |= 1; - else - addr |= 1 << 31; -- } -- ++ if (tile->tag_mem) { ++ nv20_fb_free_tag(dev, tile->tag_mem); ++ tile->tag_mem = NULL; + } + - nv_wr32(dev, NV10_PFB_TLIMIT(i), limit); - nv_wr32(dev, NV10_PFB_TSIZE(i), pitch); - nv_wr32(dev, NV10_PFB_TILE(i), addr); -+ tile->addr = addr; -+ tile->limit = max(1u, addr + size) - 1; -+ tile->pitch = pitch; -+ -+ if (dev_priv->card_type == NV_20) -+ tile->addr |= 1; -+ else -+ tile->addr |= 1 << 31; -+} -+ -+void -+nv10_fb_free_tile_region(struct drm_device *dev, int i) -+{ -+ struct drm_nouveau_private *dev_priv = dev->dev_private; -+ struct nouveau_tile_reg *tile = &dev_priv->tile.reg[i]; -+ -+ tile->addr = tile->limit = tile->pitch = 0; ++ tile->addr = tile->limit = tile->pitch = tile->zcomp = 0; +} + +void @@ -11727,11 +11827,21 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fb.c linux-2.6.36.nouveau/d + nv_wr32(dev, NV10_PFB_TLIMIT(i), tile->limit); + nv_wr32(dev, NV10_PFB_TSIZE(i), tile->pitch); + nv_wr32(dev, NV10_PFB_TILE(i), tile->addr); ++ ++ if (dev_priv->card_type == NV_20) ++ nv_wr32(dev, NV20_PFB_ZCOMP(i), tile->zcomp); } int -@@ -33,7 +51,7 @@ +@@ -31,9 +117,14 @@ + pfb->num_tiles = NV10_PFB_TILE__SIZE; + ++ if (dev_priv->card_type == NV_20) ++ drm_mm_init(&pfb->tag_heap, 0, ++ (dev_priv->chipset >= 0x25 ? ++ 64 * 1024 : 32 * 1024)); ++ /* Turn all the tiling regions off. */ for (i = 0; i < pfb->num_tiles; i++) - pfb->set_region_tiling(dev, i, 0, 0, 0); @@ -11739,9 +11849,23 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fb.c linux-2.6.36.nouveau/d return 0; } +@@ -41,4 +132,13 @@ + void + nv10_fb_takedown(struct drm_device *dev) + { ++ struct drm_nouveau_private *dev_priv = dev->dev_private; ++ struct nouveau_fb_engine *pfb = &dev_priv->engine.fb; ++ int i; ++ ++ for (i = 0; i < pfb->num_tiles; i++) ++ pfb->free_tile_region(dev, i); ++ ++ if (dev_priv->card_type == NV_20) ++ drm_mm_takedown(&pfb->tag_heap); + } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fifo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_fifo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fifo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_fifo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_fifo.c 2010-10-30 22:24:25.000000000 +0200 @@ -27,8 +27,9 @@ #include "drmP.h" #include "drm.h" @@ -11820,7 +11944,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_fifo.c linux-2.6.36.nouveau } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_graph.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_graph.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv10_graph.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_graph.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv10_graph.c 2010-10-30 22:24:25.000000000 +0200 @@ -27,6 +27,8 @@ #include "nouveau_drm.h" #include "nouveau_drv.h" @@ -12031,7 +12155,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv10_graph.c linux-2.6.36.nouvea +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv.c 2010-10-30 22:24:25.000000000 +0200 @@ -193,55 +193,56 @@ } } @@ -12194,7 +12318,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv.c linux-2.6.36.nouveau/d dacclk = (NVReadRAMDAC(dev, 0, dacclk_off) & ~0x30) | 0x1; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv.h 2010-10-30 22:24:25.000000000 +0200 @@ -127,7 +127,8 @@ /* TV hardware access functions */ @@ -12232,7 +12356,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv.h linux-2.6.36.nouveau/d #endif diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv_modes.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv_modes.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv_modes.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv_modes.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv17_tv_modes.c 2010-10-30 22:24:25.000000000 +0200 @@ -336,12 +336,17 @@ struct filter_params *p = &fparams[k][j]; @@ -12326,7 +12450,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv17_tv_modes.c linux-2.6.36.nou regs->fp_horiz_regs[FP_VALID_END] = output_mode->hdisplay - hmargin - 1; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv20_graph.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv20_graph.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv20_graph.c 2010-10-30 22:24:25.000000000 +0200 @@ -32,54 +32,57 @@ #define NV34_GRCTX_SIZE (18140) #define NV35_36_GRCTX_SIZE (22396) @@ -12982,7 +13106,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, inst); nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_XFER, -@@ -500,24 +511,21 @@ +@@ -500,24 +511,27 @@ } void @@ -13013,10 +13137,16 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0010 + 4 * i); - nv_wr32(dev, NV10_PGRAPH_RDI_DATA, addr); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, tile->addr); ++ ++ if (dev_priv->card_type == NV_20) { ++ nv_wr32(dev, NV20_PGRAPH_ZCOMP(i), tile->zcomp); ++ nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00ea0090 + 4 * i); ++ nv_wr32(dev, NV10_PGRAPH_RDI_DATA, tile->zcomp); ++ } } int -@@ -552,18 +560,24 @@ +@@ -552,18 +566,24 @@ if (!pgraph->ctx_table) { /* Create Context Pointer Table */ @@ -13045,16 +13175,45 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea nv_wr32(dev, NV03_PGRAPH_INTR , 0xFFFFFFFF); nv_wr32(dev, NV03_PGRAPH_INTR_EN, 0xFFFFFFFF); -@@ -595,7 +609,7 @@ +@@ -575,16 +595,17 @@ + nv_wr32(dev, 0x40009C , 0x00000040); + + if (dev_priv->chipset >= 0x25) { +- nv_wr32(dev, 0x400890, 0x00080000); ++ nv_wr32(dev, 0x400890, 0x00a8cfff); + nv_wr32(dev, 0x400610, 0x304B1FB6); +- nv_wr32(dev, 0x400B80, 0x18B82880); ++ nv_wr32(dev, 0x400B80, 0x1cbd3883); + nv_wr32(dev, 0x400B84, 0x44000000); + nv_wr32(dev, 0x400098, 0x40000080); + nv_wr32(dev, 0x400B88, 0x000000ff); ++ + } else { +- nv_wr32(dev, 0x400880, 0x00080000); /* 0x0008c7df */ ++ nv_wr32(dev, 0x400880, 0x0008c7df); + nv_wr32(dev, 0x400094, 0x00000005); +- nv_wr32(dev, 0x400B80, 0x45CAA208); /* 0x45eae20e */ ++ nv_wr32(dev, 0x400B80, 0x45eae20e); + nv_wr32(dev, 0x400B84, 0x24000000); + nv_wr32(dev, 0x400098, 0x00000040); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00E00038); +@@ -595,14 +616,8 @@ /* Turn all the tiling regions off. */ for (i = 0; i < NV10_PFB_TILE__SIZE; i++) - nv20_graph_set_region_tiling(dev, i, 0, 0, 0); + nv20_graph_set_tile_region(dev, i); - for (i = 0; i < 8; i++) { - nv_wr32(dev, 0x400980 + i * 4, nv_rd32(dev, 0x100300 + i * 4)); -@@ -646,7 +660,7 @@ +- for (i = 0; i < 8; i++) { +- nv_wr32(dev, 0x400980 + i * 4, nv_rd32(dev, 0x100300 + i * 4)); +- nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA0090 + i * 4); +- nv_wr32(dev, NV10_PGRAPH_RDI_DATA, +- nv_rd32(dev, 0x100300 + i * 4)); +- } + nv_wr32(dev, 0x4009a0, nv_rd32(dev, 0x100324)); + nv_wr32(dev, NV10_PGRAPH_RDI_INDEX, 0x00EA000C); + nv_wr32(dev, NV10_PGRAPH_RDI_DATA, nv_rd32(dev, 0x100324)); +@@ -646,7 +661,7 @@ struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_pgraph_engine *pgraph = &dev_priv->engine.graph; @@ -13063,7 +13222,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea } int -@@ -681,15 +695,21 @@ +@@ -681,15 +696,21 @@ if (!pgraph->ctx_table) { /* Create Context Pointer Table */ @@ -13089,7 +13248,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea nv_wr32(dev, NV03_PGRAPH_INTR , 0xFFFFFFFF); nv_wr32(dev, NV03_PGRAPH_INTR_EN, 0xFFFFFFFF); -@@ -728,7 +748,7 @@ +@@ -728,7 +749,7 @@ /* Turn all the tiling regions off. */ for (i = 0; i < NV10_PFB_TILE__SIZE; i++) @@ -13098,7 +13257,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea nv_wr32(dev, NV10_PGRAPH_CTX_CONTROL, 0x10000100); nv_wr32(dev, NV10_PGRAPH_STATE , 0xFFFFFFFF); -@@ -748,46 +768,84 @@ +@@ -748,46 +769,84 @@ return 0; } @@ -13148,7 +13307,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea +nv20_graph_register(struct drm_device *dev) +{ + struct drm_nouveau_private *dev_priv = dev->dev_private; - ++ + if (dev_priv->engine.graph.registered) + return 0; + @@ -13177,7 +13336,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea + /* nvsw */ + NVOBJ_CLASS(dev, 0x506e, SW); + NVOBJ_MTHD (dev, 0x506e, 0x0500, nv04_graph_mthd_page_flip); -+ + + dev_priv->engine.graph.registered = true; + return 0; +} @@ -13227,7 +13386,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv20_graph.c linux-2.6.36.nouvea +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv30_fb.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv30_fb.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv30_fb.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv30_fb.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv30_fb.c 2010-10-30 22:24:25.000000000 +0200 @@ -29,6 +29,27 @@ #include "nouveau_drv.h" #include "nouveau_drm.h" @@ -13267,7 +13426,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv30_fb.c linux-2.6.36.nouveau/d if (dev_priv->chipset == 0x30 || diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv40_fb.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c 2010-10-30 22:24:25.000000000 +0200 @@ -4,26 +4,22 @@ #include "nouveau_drm.h" @@ -13314,7 +13473,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6.36.nouveau/d } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_fifo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_fifo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv40_fifo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_fifo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_fifo.c 2010-10-30 22:24:25.000000000 +0200 @@ -27,8 +27,9 @@ #include "drmP.h" #include "nouveau_drv.h" @@ -13405,7 +13564,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_fifo.c linux-2.6.36.nouveau } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_graph.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_graph.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv40_graph.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_graph.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_graph.c 2010-10-30 22:24:25.000000000 +0200 @@ -29,6 +29,8 @@ #include "nouveau_drv.h" #include "nouveau_grctx.h" @@ -13641,7 +13800,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_graph.c linux-2.6.36.nouvea +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_grctx.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_grctx.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv40_grctx.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_grctx.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv40_grctx.c 2010-10-30 22:24:25.000000000 +0200 @@ -596,13 +596,13 @@ offset += 0x0280/4; @@ -13661,7 +13820,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv40_grctx.c linux-2.6.36.nouvea diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_calc.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_calc.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_calc.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_calc.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_calc.c 2010-10-30 22:24:25.000000000 +0200 @@ -51,24 +51,28 @@ int *N, int *fN, int *M, int *P) { @@ -13699,7 +13858,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_calc.c linux-2.6.36.nouveau /* *N = floor(fb_div); */ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_crtc.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c 2010-10-30 22:24:25.000000000 +0200 @@ -104,8 +104,7 @@ OUT_RING(evo, nv_crtc->lut.depth == 8 ? NV50_EVO_CRTC_CLUT_MODE_OFF : @@ -13827,7 +13986,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6.36.nouveau diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_cursor.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_cursor.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_cursor.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_cursor.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_cursor.c 2010-10-30 22:24:25.000000000 +0200 @@ -147,7 +147,7 @@ NV_DEBUG_KMS(dev, "\n"); @@ -13839,7 +13998,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_cursor.c linux-2.6.36.nouve NV_ERROR(dev, "CURSOR_CTRL2 = 0x%08x\n", diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_dac.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_dac.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_dac.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_dac.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_dac.c 2010-10-30 22:24:25.000000000 +0200 @@ -79,7 +79,7 @@ nv_wr32(dev, NV50_PDISPLAY_DAC_DPMS_CTRL(or), @@ -13860,7 +14019,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_dac.c linux-2.6.36.nouveau/ NV_ERROR(dev, "DAC_DPMS_CTRL(%d) = 0x%08x\n", or, diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_display.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_display.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_display.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_display.c 2010-10-30 22:24:25.000000000 +0200 @@ -30,154 +30,20 @@ #include "nouveau_connector.h" #include "nouveau_fb.h" @@ -14403,7 +14562,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6.36.nouv if (intr1 & NV50_PDISPLAY_INTR_1_VBLANK_CRTC) { diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_evo.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,318 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -14725,7 +14884,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6.36.nouveau/ +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_evo.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h 2010-10-30 22:24:25.000000000 +0200 @@ -24,6 +24,15 @@ * */ @@ -14749,7 +14908,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6.36.nouveau/ +#endif diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fb.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c 2010-10-30 22:24:25.000000000 +0200 @@ -20,6 +20,7 @@ case 0x50: nv_wr32(dev, 0x100c90, 0x0707ff); @@ -14807,7 +14966,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6.36.nouveau/d +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fbcon.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fbcon.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fbcon.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fbcon.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fbcon.c 2010-10-30 22:24:25.000000000 +0200 @@ -1,28 +1,21 @@ #include "drmP.h" #include "nouveau_drv.h" @@ -14954,7 +15113,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fbcon.c linux-2.6.36.nouvea diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fifo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c 2010-10-30 22:24:25.000000000 +0200 @@ -27,13 +27,14 @@ #include "drmP.h" #include "drm.h" @@ -15423,7 +15582,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6.36.nouveau +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_graph.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c 2010-10-30 22:24:25.000000000 +0200 @@ -27,8 +27,12 @@ #include "drmP.h" #include "drm.h" @@ -15780,7 +15939,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.36.nouvea +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_grctx.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_grctx.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_grctx.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_grctx.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_grctx.c 2010-10-30 22:24:25.000000000 +0200 @@ -103,6 +103,9 @@ #include "nouveau_drv.h" #include "nouveau_grctx.h" @@ -19592,7 +19751,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_grctx.c linux-2.6.36.nouvea } diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_instmem.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c 2010-10-30 22:24:25.000000000 +0200 @@ -32,39 +32,87 @@ struct nv50_instmem_priv { uint32_t save1700[5]; /* 0x1700->0x1710 */ @@ -20220,7 +20379,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6.36.nouv diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_pm.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_pm.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_pm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_pm.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_pm.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,131 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -20355,7 +20514,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_pm.c linux-2.6.36.nouveau/d + diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_sor.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_sor.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv50_sor.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_sor.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv50_sor.c 2010-10-30 22:24:25.000000000 +0200 @@ -92,7 +92,7 @@ } @@ -20376,7 +20535,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv50_sor.c linux-2.6.36.nouveau/ NV_ERROR(dev, "SOR_DPMS_STATE(%d) = 0x%08x\n", or, diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv84_crypt.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nv84_crypt.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,110 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -20490,7 +20649,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nv84_crypt.c linux-2.6.36.nouvea +} diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nva3_pm.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nva3_pm.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nva3_pm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nva3_pm.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nva3_pm.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,95 @@ +/* + * Copyright 2010 Red Hat Inc. @@ -20589,7 +20748,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nva3_pm.c linux-2.6.36.nouveau/d + diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nvc0_fifo.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvc0_fifo.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nvc0_fifo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvc0_fifo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvc0_fifo.c 2010-10-30 22:24:25.000000000 +0200 @@ -43,12 +43,6 @@ } @@ -20605,7 +20764,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nvc0_fifo.c linux-2.6.36.nouveau return false; diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nvc0_instmem.c linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvc0_instmem.c --- linux-2.6.36/drivers/gpu/drm/nouveau/nvc0_instmem.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvc0_instmem.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvc0_instmem.c 2010-10-30 22:24:25.000000000 +0200 @@ -28,7 +28,7 @@ int @@ -20672,7 +20831,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nvc0_instmem.c linux-2.6.36.nouv diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nvreg.h linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvreg.h --- linux-2.6.36/drivers/gpu/drm/nouveau/nvreg.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvreg.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/nouveau/nvreg.h 2010-10-30 22:24:25.000000000 +0200 @@ -153,7 +153,8 @@ #define NV_PCRTC_START 0x00600800 #define NV_PCRTC_CONFIG 0x00600804 @@ -20693,7 +20852,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/nouveau/nvreg.h linux-2.6.36.nouveau/dri # define NV_CIO_CRE_ILACE__INDEX 0x39 /* interlace */ diff -Naur linux-2.6.36/drivers/gpu/drm/radeon/radeon_object.c linux-2.6.36.nouveau/drivers/gpu/drm/radeon/radeon_object.c --- linux-2.6.36/drivers/gpu/drm/radeon/radeon_object.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/radeon/radeon_object.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/radeon/radeon_object.c 2010-10-30 22:24:25.000000000 +0200 @@ -435,7 +435,7 @@ out: @@ -20723,7 +20882,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/radeon/radeon_object.c linux-2.6.36.nouv return -EINVAL; diff -Naur linux-2.6.36/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6.36.nouveau/drivers/gpu/drm/radeon/radeon_ttm.c --- linux-2.6.36/drivers/gpu/drm/radeon/radeon_ttm.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/radeon/radeon_ttm.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/radeon/radeon_ttm.c 2010-10-30 22:24:25.000000000 +0200 @@ -152,6 +152,7 @@ man->default_caching = TTM_PL_FLAG_CACHED; break; @@ -20823,7 +20982,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6.36.nouveau /* Add ttm page pool to debugfs */ diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/Makefile linux-2.6.36.nouveau/drivers/gpu/drm/ttm/Makefile --- linux-2.6.36/drivers/gpu/drm/ttm/Makefile 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/Makefile 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/Makefile 2010-10-30 22:24:25.000000000 +0200 @@ -4,6 +4,7 @@ ccflags-y := -Iinclude/drm ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \ @@ -20835,7 +20994,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/Makefile linux-2.6.36.nouveau/driver obj-$(CONFIG_DRM_TTM) += ttm.o diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_agp_backend.c linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_agp_backend.c --- linux-2.6.36/drivers/gpu/drm/ttm/ttm_agp_backend.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_agp_backend.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_agp_backend.c 2010-10-30 22:24:25.000000000 +0200 @@ -74,6 +74,7 @@ { struct ttm_agp_backend *agp_be = @@ -20855,7 +21014,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_agp_backend.c linux-2.6.36.nouve diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo.c --- linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo.c 2010-10-30 22:24:25.000000000 +0200 @@ -84,11 +84,8 @@ man->available_caching); printk(KERN_ERR TTM_PFX " default_caching: 0x%08X\n", @@ -21112,7 +21271,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.36.nouveau/driver } diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo_manager.c linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo_manager.c --- linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo_manager.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo_manager.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo_manager.c 2010-10-30 22:24:25.000000000 +0200 @@ -0,0 +1,148 @@ +/************************************************************************** + * @@ -21264,7 +21423,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo_manager.c linux-2.6.36.nouvea +EXPORT_SYMBOL(ttm_bo_manager_func); diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo_util.c linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo_util.c --- linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo_util.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo_util.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/ttm/ttm_bo_util.c 2010-10-30 22:24:25.000000000 +0200 @@ -39,14 +39,7 @@ void ttm_bo_free_old_node(struct ttm_buffer_object *bo) @@ -21293,7 +21452,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/ttm/ttm_bo_util.c linux-2.6.36.nouveau/d } diff -Naur linux-2.6.36/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c linux-2.6.36.nouveau/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c --- linux-2.6.36/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c 2010-10-30 22:24:25.000000000 +0200 @@ -147,6 +147,7 @@ break; case TTM_PL_VRAM: @@ -21313,7 +21472,7 @@ diff -Naur linux-2.6.36/drivers/gpu/drm/vmwgfx/vmwgfx_buffer.c linux-2.6.36.nouv break; diff -Naur linux-2.6.36/include/drm/nouveau_drm.h linux-2.6.36.nouveau/include/drm/nouveau_drm.h --- linux-2.6.36/include/drm/nouveau_drm.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/include/drm/nouveau_drm.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/include/drm/nouveau_drm.h 2010-10-30 22:24:25.000000000 +0200 @@ -80,6 +80,8 @@ #define NOUVEAU_GETPARAM_VM_VRAM_BASE 12 #define NOUVEAU_GETPARAM_GRAPH_UNITS 13 @@ -21346,7 +21505,7 @@ diff -Naur linux-2.6.36/include/drm/nouveau_drm.h linux-2.6.36.nouveau/include/d uint32_t handle; diff -Naur linux-2.6.36/include/drm/ttm/ttm_bo_api.h linux-2.6.36.nouveau/include/drm/ttm/ttm_bo_api.h --- linux-2.6.36/include/drm/ttm/ttm_bo_api.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/include/drm/ttm/ttm_bo_api.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/include/drm/ttm/ttm_bo_api.h 2010-10-30 22:24:25.000000000 +0200 @@ -102,7 +102,8 @@ */ @@ -21359,7 +21518,7 @@ diff -Naur linux-2.6.36/include/drm/ttm/ttm_bo_api.h linux-2.6.36.nouveau/includ uint32_t page_alignment; diff -Naur linux-2.6.36/include/drm/ttm/ttm_bo_driver.h linux-2.6.36.nouveau/include/drm/ttm/ttm_bo_driver.h --- linux-2.6.36/include/drm/ttm/ttm_bo_driver.h 2010-10-20 22:30:22.000000000 +0200 -+++ linux-2.6.36.nouveau/include/drm/ttm/ttm_bo_driver.h 2010-10-26 02:30:09.000000000 +0200 ++++ linux-2.6.36.nouveau/include/drm/ttm/ttm_bo_driver.h 2010-10-30 22:24:25.000000000 +0200 @@ -203,7 +203,22 @@ * It's set up by the ttm_bo_driver::init_mem_type method. */