From 6f857c789a2627dbb2910af15c0cce443c76bb4a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 22 Dec 2010 00:26:53 +0100 Subject: [PATCH 01/40] VERSION: change version to 0.90.0 Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d64531f130..ae02209bb6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -devel +0.90.0 From 5e79b4fffc83d412ea444c533b760cc7af4e6ab8 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 23 Dec 2010 17:55:16 +0100 Subject: [PATCH 02/40] VERSION: set version to 0.90.1 (beta-1) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ae02209bb6..fa3fb18d5a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.0 +0.90.1 From 82e7590566f7280eef30f7e68acc63103d928d8f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 31 Dec 2010 01:25:42 +0100 Subject: [PATCH 03/40] VERSION: set version to 0.90.2 (beta-2) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index fa3fb18d5a..654fae022d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.1 +0.90.2 From 50fc4a35204324cf4059afd2ba966eb687b8ac44 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 4 Jan 2011 13:45:14 +0100 Subject: [PATCH 04/40] VERSION: set version to 0.90.3 (beta-3) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 654fae022d..c7709f4364 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.2 +0.90.3 From 63deedf2f8d4368ac5561ed81e35ed6d2da1a83f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 13 Jan 2011 18:20:02 +0100 Subject: [PATCH 05/40] VERSION: set version to 0.90.4 (beta-4) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c7709f4364..9d91bd3d5a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.3 +0.90.4 From 1400516208e5566501b271f3246844390ba48551 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 13 Jan 2011 23:00:01 +0100 Subject: [PATCH 06/40] Python: symlink python binary to python2 for hostbuild (needed for Mesa) Signed-off-by: Stephan Raue --- packages/lang/Python/build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/lang/Python/build b/packages/lang/Python/build index f497c8d8e4..44999b1ea8 100755 --- a/packages/lang/Python/build +++ b/packages/lang/Python/build @@ -42,6 +42,9 @@ LDFLAGS="$LDFLAGS -lexpat" \ make make install +# symlink python binary to python2 (needed for Mesa) + ln -s python $ROOT/$TOOLCHAIN/bin/python2 + cp Parser/pgen ./hostpgen cp python ./hostpython From ec98c9a460d7a44c4462db0b4e5dd2de510721a6 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 13 Jan 2011 23:00:22 +0100 Subject: [PATCH 07/40] Mesa: depends on Python Signed-off-by: Stephan Raue --- packages/graphics/Mesa/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/graphics/Mesa/meta b/packages/graphics/Mesa/meta index 395c295921..8289284c3e 100644 --- a/packages/graphics/Mesa/meta +++ b/packages/graphics/Mesa/meta @@ -26,7 +26,7 @@ PKG_LICENSE="OSS" PKG_SITE="http://www.mesa3d.org/" PKG_URL="ftp://ftp.freedesktop.org/pub/mesa/$PKG_VERSION/MesaLib-$PKG_VERSION.tar.bz2" PKG_DEPENDS="libXdamage libdrm talloc expat libXext libXfixes libXxf86vm libxcb libX11" -PKG_BUILD_DEPENDS="toolchain libxml2-host talloc expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11" +PKG_BUILD_DEPENDS="toolchain Python libxml2-host talloc expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11" PKG_PRIORITY="optional" PKG_SECTION="graphics" PKG_SHORTDESC="mesa: 3-D graphics library with OpenGL API" From 5af4532d1000c5a6d79350c07140d63724610df3 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 23 Jan 2011 23:19:16 +0100 Subject: [PATCH 08/40] VERSION: set version to 0.90.5 (beta-5) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 9d91bd3d5a..5204d81e81 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.4 +0.90.5 From 0483a81defc005c8fe9a45a6b376299738cfa71a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 24 Jan 2011 14:02:06 +0100 Subject: [PATCH 09/40] create_installstick.bat: use temporary LABEL support again Signed-off-by: Stephan Raue --- config/release/create_installstick.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/release/create_installstick.bat b/config/release/create_installstick.bat index 4198fbe4f3..d5589d269b 100644 --- a/config/release/create_installstick.bat +++ b/config/release/create_installstick.bat @@ -91,7 +91,7 @@ echo PROMPT 0 >> %DRIVE%\syslinux.cfg echo. >> %DRIVE%\syslinux.cfg echo LABEL linux >> %DRIVE%\syslinux.cfg echo KERNEL /KERNEL >> %DRIVE%\syslinux.cfg -echo APPEND boot=UUID=%DRIVEUUID% installer quiet >> %DRIVE%\syslinux.cfg +echo APPEND boot=LABEL=OPENELEC installer quiet >> %DRIVE%\syslinux.cfg GOTO END :BADMD5 From f50dcb01e910434e8858c9fbd1d5bca47152b0ac Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 25 Jan 2011 16:02:55 +0100 Subject: [PATCH 10/40] VERSION: set version to 0.90.6 (beta-6) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5204d81e81..d6f22efcc6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.5 +0.90.6 From 64b3d2bbce57f46e909bdb99b20d5f301cb3cae1 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 1 Feb 2011 01:54:02 +0100 Subject: [PATCH 11/40] VERSION: set version to 0.99.1 (RC-1) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d6f22efcc6..626c498f35 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.90.6 +0.99.1 From 9cd6e7e25edb0a2efa936e9adcb9cd11d46e550c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 26 Feb 2011 21:58:50 +0100 Subject: [PATCH 12/40] VERSION: set version to 0.99.2 (RC-2) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 626c498f35..3b66e07e64 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.1 +0.99.2 From 33648e3ed989f04a3e777236f73f336901560cec Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 2 Mar 2011 03:59:15 +0100 Subject: [PATCH 13/40] VERSION: set version to 0.99.3 (RC-3) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 3b66e07e64..d17274b039 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.2 +0.99.3 From fa8242f7adc46c9f60223747be96687bfd4d66f0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 12 Mar 2011 03:42:25 +0100 Subject: [PATCH 14/40] VERSION: set version to 0.99.4 (RC-4) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d17274b039..de9bcdff29 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.3 +0.99.4 From 2315f30b812f0028a159723a12445268f39ffa6c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 13 Mar 2011 03:05:26 +0100 Subject: [PATCH 15/40] Revert "linux: update nouveau upstream patches" This reverts commit a0bad11b9f0f12c505e02cefeea4f785f2b67abd. --- ...8-110-drm_nouveau_upstream-20110222.patch} | 978 ++++-------------- 1 file changed, 201 insertions(+), 777 deletions(-) rename packages/linux/patches/{linux-2.6.38-rc8-110-drm_nouveau_upstream-20110312.3.patch => linux-2.6.38-rc8-110-drm_nouveau_upstream-20110222.patch} (77%) diff --git a/packages/linux/patches/linux-2.6.38-rc8-110-drm_nouveau_upstream-20110312.3.patch b/packages/linux/patches/linux-2.6.38-rc8-110-drm_nouveau_upstream-20110222.patch similarity index 77% rename from packages/linux/patches/linux-2.6.38-rc8-110-drm_nouveau_upstream-20110312.3.patch rename to packages/linux/patches/linux-2.6.38-rc8-110-drm_nouveau_upstream-20110222.patch index 4abd334599..ed88d624a0 100644 --- a/packages/linux/patches/linux-2.6.38-rc8-110-drm_nouveau_upstream-20110312.3.patch +++ b/packages/linux/patches/linux-2.6.38-rc8-110-drm_nouveau_upstream-20110222.patch @@ -1,6 +1,6 @@ -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_bios.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-02-22 14:25:08.609606768 +0100 @@ -282,7 +282,7 @@ { #if 0 @@ -108,9 +108,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bios.c linux-2.6.38- bios->dev = dev; if (!NVShadowVBIOS(dev, bios->data)) -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bios.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bios.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_bios.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_bios.h linux-2.6/drivers/gpu/drm/nouveau/nouveau_bios.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_bios.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_bios.h 2011-02-22 14:16:21.580230479 +0100 @@ -251,7 +251,7 @@ uint8_t digital_min_front_porch; bool fp_no_ddc; @@ -120,10 +120,10 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bios.h linux-2.6.38- uint8_t data[NV_PROM_SIZE]; unsigned int length; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_bo.c 2011-03-09 18:30:58.000000000 +0100 -@@ -57,8 +57,8 @@ +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_bo.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_bo.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_bo.c 2011-02-22 14:32:02.564311615 +0100 +@@ -54,8 +54,8 @@ } static void @@ -134,7 +134,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc { struct drm_nouveau_private *dev_priv = nouveau_bdev(nvbo->bo.bdev); -@@ -83,7 +83,7 @@ +@@ -80,7 +80,7 @@ } } else { if (likely(dev_priv->chan_vm)) { @@ -143,7 +143,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc *page_shift = dev_priv->chan_vm->lpg_shift; else *page_shift = dev_priv->chan_vm->spg_shift; -@@ -101,8 +101,7 @@ +@@ -98,8 +98,7 @@ int nouveau_bo_new(struct drm_device *dev, struct nouveau_channel *chan, int size, int align, uint32_t flags, uint32_t tile_mode, @@ -153,7 +153,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc { struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_bo *nvbo; -@@ -113,16 +112,14 @@ +@@ -110,16 +109,14 @@ return -ENOMEM; INIT_LIST_HEAD(&nvbo->head); INIT_LIST_HEAD(&nvbo->entry); @@ -172,7 +172,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc ret = nouveau_vm_get(dev_priv->chan_vm, size, page_shift, NV_MEM_ACCESS_RW, &nvbo->vma); if (ret) { -@@ -144,11 +141,8 @@ +@@ -140,11 +137,8 @@ } nvbo->channel = NULL; @@ -186,7 +186,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc *pnvbo = nvbo; return 0; } -@@ -318,11 +312,8 @@ +@@ -314,11 +308,8 @@ if (ret) return ret; @@ -200,7 +200,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc return 0; } -@@ -385,7 +376,8 @@ +@@ -381,7 +372,8 @@ case NOUVEAU_GART_AGP: return ttm_agp_backend_init(bdev, dev->agp->bridge); #endif @@ -210,7 +210,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc return nouveau_sgdma_init_ttm(dev); default: NV_ERROR(dev, "Unknown GART type %d\n", -@@ -431,7 +423,10 @@ +@@ -427,7 +419,10 @@ man->default_caching = TTM_PL_FLAG_WC; break; case TTM_PL_TT: @@ -222,7 +222,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc switch (dev_priv->gart_info.type) { case NOUVEAU_GART_AGP: man->flags = TTM_MEMTYPE_FLAG_MAPPABLE; -@@ -439,7 +434,8 @@ +@@ -435,7 +430,8 @@ TTM_PL_FLAG_WC; man->default_caching = TTM_PL_FLAG_WC; break; @@ -232,7 +232,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | TTM_MEMTYPE_FLAG_CMA; man->available_caching = TTM_PL_MASK_CACHING; -@@ -501,45 +497,22 @@ +@@ -497,45 +493,22 @@ return ret; } @@ -286,7 +286,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc page_count = new_mem->num_pages; while (page_count) { -@@ -574,33 +547,18 @@ +@@ -570,33 +543,18 @@ nv50_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, struct ttm_mem_reg *old_mem, struct ttm_mem_reg *new_mem) { @@ -327,7 +327,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc while (length) { u32 amount, stride, height; -@@ -681,6 +639,15 @@ +@@ -677,6 +635,15 @@ return 0; } @@ -343,7 +343,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc static int nv04_bo_move_m2mf(struct nouveau_channel *chan, struct ttm_buffer_object *bo, struct ttm_mem_reg *old_mem, struct ttm_mem_reg *new_mem) -@@ -734,15 +701,43 @@ +@@ -730,15 +697,43 @@ { struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); struct nouveau_bo *nvbo = nouveau_bo(bo); @@ -388,7 +388,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc if (dev_priv->card_type < NV_50) ret = nv04_bo_move_m2mf(chan, bo, &bo->mem, new_mem); else -@@ -756,6 +751,7 @@ +@@ -752,6 +747,7 @@ no_wait_gpu, new_mem); } @@ -396,7 +396,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc if (chan == dev_priv->channel) mutex_unlock(&chan->mutex); return ret; -@@ -766,6 +762,7 @@ +@@ -762,6 +758,7 @@ bool no_wait_reserve, bool no_wait_gpu, struct ttm_mem_reg *new_mem) { @@ -404,7 +404,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc u32 placement_memtype = TTM_PL_FLAG_TT | TTM_PL_MASK_CACHING; struct ttm_placement placement; struct ttm_mem_reg tmp_mem; -@@ -785,7 +782,23 @@ +@@ -781,7 +778,23 @@ if (ret) goto out; @@ -428,7 +428,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc if (ret) goto out; -@@ -828,6 +841,36 @@ +@@ -824,6 +837,36 @@ return ret; } @@ -465,7 +465,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc static int nouveau_bo_vm_bind(struct ttm_buffer_object *bo, struct ttm_mem_reg *new_mem, struct nouveau_tile_reg **new_tile) -@@ -835,19 +878,13 @@ +@@ -831,19 +874,13 @@ struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); struct drm_device *dev = dev_priv->dev; struct nouveau_bo *nvbo = nouveau_bo(bo); @@ -489,7 +489,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc *new_tile = nv10_mem_set_tiling(dev, offset, new_mem->size, nvbo->tile_mode, nvbo->tile_flags); -@@ -864,11 +901,8 @@ +@@ -860,11 +897,8 @@ struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev); struct drm_device *dev = dev_priv->dev; @@ -503,7 +503,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc } static int -@@ -882,9 +916,11 @@ +@@ -878,9 +912,11 @@ struct nouveau_tile_reg *new_tile = NULL; int ret = 0; @@ -518,7 +518,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc /* Fake bo copy. */ if (old_mem->mem_type == TTM_PL_SYSTEM && !bo->ttm) { -@@ -915,10 +951,12 @@ +@@ -911,10 +947,12 @@ ret = ttm_bo_move_memcpy(bo, evict, no_wait_reserve, no_wait_gpu, new_mem); out: @@ -535,7 +535,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc return ret; } -@@ -959,7 +997,7 @@ +@@ -955,7 +993,7 @@ break; case TTM_PL_VRAM: { @@ -544,7 +544,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc u8 page_shift; if (!dev_priv->bar1_vm) { -@@ -970,23 +1008,23 @@ +@@ -966,23 +1004,23 @@ } if (dev_priv->card_type == NV_C0) @@ -573,7 +573,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc if (dev_priv->card_type == NV_50) /*XXX*/ mem->bus.offset -= 0x0020000000ULL; mem->bus.base = pci_resource_start(dev->pdev, 1); -@@ -1003,16 +1041,16 @@ +@@ -999,16 +1037,16 @@ nouveau_ttm_io_mem_free(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) { struct drm_nouveau_private *dev_priv = nouveau_bdev(bdev); @@ -594,7 +594,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc } static int -@@ -1062,6 +1100,7 @@ +@@ -1058,6 +1096,7 @@ .invalidate_caches = nouveau_bo_invalidate_caches, .init_mem_type = nouveau_bo_init_mem_type, .evict_flags = nouveau_bo_evict_flags, @@ -602,9 +602,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_bo.c linux-2.6.38-rc .move = nouveau_bo_move, .verify_access = nouveau_bo_verify_access, .sync_obj_signaled = __nouveau_fence_signalled, -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_channel.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_channel.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_channel.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_channel.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_channel.c 2011-02-22 14:16:21.581230459 +0100 @@ -35,7 +35,7 @@ struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_bo *pb = chan->pushbuf_bo; @@ -624,9 +624,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_channel.c linux-2.6. if (ret) { NV_ERROR(dev, "error allocating DMA push buffer: %d\n", ret); return NULL; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_display.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_display.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_display.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_display.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_display.c 2011-02-22 14:16:21.582230439 +0100 @@ -32,6 +32,7 @@ #include "nouveau_hw.h" #include "nouveau_crtc.h" @@ -758,10 +758,10 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_display.c linux-2.6. kfree(s); spin_unlock_irqrestore(&dev->event_lock, flags); -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dma.c 2011-03-12 22:37:55.420744532 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.c 2011-03-09 18:30:58.000000000 +0100 -@@ -97,13 +97,15 @@ +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_dma.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_dma.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_dma.c 2011-02-22 14:16:21.582230439 +0100 +@@ -96,13 +96,15 @@ OUT_RING(chan, 0); /* Initialise NV_MEMORY_TO_MEMORY_FORMAT */ @@ -781,9 +781,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dma.c linux-2.6.38-r /* Sit back and pray the channel works.. */ FIRE_RING(chan); -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dma.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dma.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_dma.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_dma.h linux-2.6/drivers/gpu/drm/nouveau/nouveau_dma.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_dma.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_dma.h 2011-02-22 14:16:21.582230439 +0100 @@ -61,8 +61,6 @@ NvM2MF = 0x80000001, NvDmaFB = 0x80000002, @@ -810,9 +810,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dma.h linux-2.6.38-r }; #define NV_MEMORY_TO_MEMORY_FORMAT 0x00000039 -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dp.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_dp.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_dp.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_dp.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_dp.c 2011-02-22 14:16:21.582230439 +0100 @@ -175,7 +175,6 @@ { struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); @@ -829,9 +829,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_dp.c linux-2.6.38-rc ret = auxch_rd(encoder, DP_ADJUST_REQUEST_LANE0_1, request, 2); if (ret) -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-03-12 22:37:55.423744472 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6/drivers/gpu/drm/nouveau/nouveau_drv.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-02-22 14:16:21.583230419 +0100 @@ -57,7 +57,7 @@ #include "nouveau_util.h" @@ -953,16 +953,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.38-r /* nouveau_notifier.c */ extern int nouveau_notifier_init_channel(struct nouveau_channel *); -@@ -1076,7 +1077,7 @@ - /* nv50_fb.c */ - extern int nv50_fb_init(struct drm_device *); - extern void nv50_fb_takedown(struct drm_device *); --extern void nv50_fb_vm_trap(struct drm_device *, int display, const char *); -+extern void nv50_fb_vm_trap(struct drm_device *, int display); - - /* nvc0_fb.c */ - extern int nvc0_fb_init(struct drm_device *); -@@ -1295,7 +1296,7 @@ +@@ -1294,7 +1295,7 @@ extern int nouveau_bo_new(struct drm_device *, struct nouveau_channel *, int size, int align, uint32_t flags, uint32_t tile_mode, uint32_t tile_flags, @@ -971,7 +962,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.38-r extern int nouveau_bo_pin(struct nouveau_bo *, uint32_t flags); extern int nouveau_bo_unpin(struct nouveau_bo *); extern int nouveau_bo_map(struct nouveau_bo *); -@@ -1356,9 +1357,9 @@ +@@ -1355,9 +1356,9 @@ /* nouveau_gem.c */ extern int nouveau_gem_new(struct drm_device *, struct nouveau_channel *, @@ -983,9 +974,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-2.6.38-r extern int nouveau_gem_object_new(struct drm_gem_object *); extern void nouveau_gem_object_del(struct drm_gem_object *); extern int nouveau_gem_ioctl_new(struct drm_device *, void *, -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_fbcon.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_fbcon.c 2011-02-22 14:16:21.584230398 +0100 @@ -296,8 +296,8 @@ size = mode_cmd.pitch * mode_cmd.height; size = roundup(size, PAGE_SIZE); @@ -997,9 +988,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fbcon.c linux-2.6.38 if (ret) { NV_ERROR(dev, "failed to allocate framebuffer\n"); goto out; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fb.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_fb.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fb.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_fb.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_fb.h linux-2.6/drivers/gpu/drm/nouveau/nouveau_fb.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_fb.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_fb.h 2011-02-22 14:16:21.584230398 +0100 @@ -30,6 +30,9 @@ struct nouveau_framebuffer { struct drm_framebuffer base; @@ -1010,18 +1001,10 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fb.h linux-2.6.38-rc }; static inline struct nouveau_framebuffer * -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-03-09 18:30:58.000000000 +0100 -@@ -27,13 +27,15 @@ - #include "drmP.h" - #include "drm.h" - -+#include -+#include -+ - #include "nouveau_drv.h" - #include "nouveau_ramht.h" +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_fence.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-02-22 14:16:21.584230398 +0100 +@@ -32,8 +32,7 @@ #include "nouveau_dma.h" #define USE_REFCNT(dev) (nouveau_private(dev)->chipset >= 0x10) @@ -1031,33 +1014,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 struct nouveau_fence { struct nouveau_channel *channel; -@@ -230,7 +232,8 @@ - __nouveau_fence_wait(void *sync_obj, void *sync_arg, bool lazy, bool intr) - { - unsigned long timeout = jiffies + (3 * DRM_HZ); -- unsigned long sleep_time = jiffies + 1; -+ unsigned long sleep_time = NSEC_PER_MSEC / 1000; -+ ktime_t t; - int ret = 0; - - while (1) { -@@ -244,8 +247,13 @@ - - __set_current_state(intr ? TASK_INTERRUPTIBLE - : TASK_UNINTERRUPTIBLE); -- if (lazy && time_after_eq(jiffies, sleep_time)) -- schedule_timeout(1); -+ if (lazy) { -+ t = ktime_set(0, sleep_time); -+ schedule_hrtimeout(&t, HRTIMER_MODE_REL); -+ sleep_time *= 2; -+ if (sleep_time > NSEC_PER_MSEC) -+ sleep_time = NSEC_PER_MSEC; -+ } - - if (intr && signal_pending(current)) { - ret = -ERESTARTSYS; -@@ -259,11 +267,12 @@ +@@ -259,11 +258,12 @@ } static struct nouveau_semaphore * @@ -1072,7 +1029,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 if (!USE_SEMA(dev)) return NULL; -@@ -277,9 +286,9 @@ +@@ -277,9 +277,9 @@ goto fail; spin_lock(&dev_priv->fence.lock); @@ -1084,7 +1041,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 spin_unlock(&dev_priv->fence.lock); if (!sema->mem) -@@ -287,7 +296,8 @@ +@@ -287,7 +287,8 @@ kref_init(&sema->ref); sema->dev = dev; @@ -1094,7 +1051,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 return sema; fail: -@@ -296,7 +306,7 @@ +@@ -296,7 +297,7 @@ } static void @@ -1103,7 +1060,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 { struct nouveau_semaphore *sema = container_of(ref, struct nouveau_semaphore, ref); -@@ -318,61 +328,107 @@ +@@ -318,61 +319,107 @@ if (unlikely(!signalled)) nouveau_bo_wr32(dev_priv->fence.bo, sema->mem->start / 4, 1); @@ -1256,7 +1213,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 } /* Delay semaphore destruction until its work is done */ -@@ -383,7 +439,6 @@ +@@ -383,7 +430,6 @@ kref_get(&sema->ref); nouveau_fence_work(fence, semaphore_work, sema); nouveau_fence_unref(&fence); @@ -1264,7 +1221,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 return 0; } -@@ -400,7 +455,7 @@ +@@ -400,7 +446,7 @@ nouveau_fence_signalled(fence))) goto out; @@ -1273,7 +1230,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 if (!sema) { /* Early card or broken userspace, fall back to * software sync. */ -@@ -418,17 +473,17 @@ +@@ -418,17 +464,17 @@ } /* Make wchan wait until it gets signalled */ @@ -1294,7 +1251,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 out: if (chan) nouveau_channel_put_unlocked(&chan); -@@ -449,22 +504,23 @@ +@@ -449,22 +495,23 @@ struct nouveau_gpuobj *obj = NULL; int ret; @@ -1326,7 +1283,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 struct ttm_mem_reg *mem = &dev_priv->fence.bo->bo.mem; ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, -@@ -484,14 +540,20 @@ +@@ -484,14 +531,20 @@ return ret; BEGIN_RING(chan, NvSubSw, NV_SW_DMA_SEMAPHORE, 1); OUT_RING(chan, NvSema); @@ -1348,7 +1305,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 return 0; } -@@ -519,12 +581,13 @@ +@@ -519,12 +572,13 @@ nouveau_fence_init(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; @@ -1364,9 +1321,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-2.6.38 if (ret) return ret; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_gem.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-02-22 14:16:21.585230377 +0100 @@ -61,19 +61,36 @@ int @@ -1460,36 +1417,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_gem.c linux-2.6.38-r (write_domains ? write_domains : read_domains); uint32_t pref_flags = 0, valid_flags = 0; -@@ -592,7 +600,7 @@ - if (push[i].bo_index >= req->nr_buffers) { - NV_ERROR(dev, "push %d buffer not in list\n", i); - ret = -EINVAL; -- goto out; -+ goto out_prevalid; - } - - bo[push[i].bo_index].read_domains |= (1 << 31); -@@ -604,7 +612,7 @@ - if (ret) { - if (ret != -ERESTARTSYS) - NV_ERROR(dev, "validate: %d\n", ret); -- goto out; -+ goto out_prevalid; - } - - /* Apply any relocations that are required */ -@@ -697,6 +705,8 @@ - out: - validate_fini(&op, fence); - nouveau_fence_unref(&fence); -+ -+out_prevalid: - kfree(bo); - kfree(push); - -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c 2011-03-12 22:37:55.425744434 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_mem.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_mem.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_mem.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_mem.c 2011-02-22 14:16:21.587230337 +0100 @@ -152,7 +152,6 @@ { struct drm_nouveau_private *dev_priv = dev->dev_private; @@ -1521,48 +1451,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-r ret = pci_set_dma_mask(dev->pdev, DMA_BIT_MASK(dma_bits)); if (ret) -@@ -419,14 +424,32 @@ - } - - /* reserve space at end of VRAM for PRAMIN */ -- if (dev_priv->chipset == 0x40 || dev_priv->chipset == 0x47 || -- dev_priv->chipset == 0x49 || dev_priv->chipset == 0x4b) -- dev_priv->ramin_rsvd_vram = (2 * 1024 * 1024); -- else -- if (dev_priv->card_type >= NV_40) -- dev_priv->ramin_rsvd_vram = (1 * 1024 * 1024); -- else -- dev_priv->ramin_rsvd_vram = (512 * 1024); -+ if (dev_priv->card_type >= NV_50) { -+ dev_priv->ramin_rsvd_vram = 1 * 1024 * 1024; -+ } else -+ if (dev_priv->card_type >= NV_40) { -+ u32 vs = hweight8((nv_rd32(dev, 0x001540) & 0x0000ff00) >> 8); -+ u32 rsvd; -+ -+ /* estimate grctx size, the magics come from nv40_grctx.c */ -+ if (dev_priv->chipset == 0x40) rsvd = 0x6aa0 * vs; -+ else if (dev_priv->chipset < 0x43) rsvd = 0x4f00 * vs; -+ else if (nv44_graph_class(dev)) rsvd = 0x4980 * vs; -+ else rsvd = 0x4a40 * vs; -+ rsvd += 16 * 1024; -+ rsvd *= dev_priv->engine.fifo.channels; -+ -+ /* pciegart table */ -+ if (drm_device_is_pcie(dev)) -+ rsvd += 512 * 1024; -+ -+ /* object storage */ -+ rsvd += 512 * 1024; -+ -+ dev_priv->ramin_rsvd_vram = round_up(rsvd, 4096); -+ } else { -+ dev_priv->ramin_rsvd_vram = 512 * 1024; -+ } - - ret = dev_priv->engine.vram.init(dev); - if (ret) -@@ -455,13 +478,17 @@ +@@ -455,13 +460,17 @@ return ret; } @@ -1587,7 +1476,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-r } dev_priv->fb_mtrr = drm_mtrr_add(pci_resource_start(dev->pdev, 1), -@@ -666,13 +693,14 @@ +@@ -666,13 +675,14 @@ { struct drm_nouveau_private *dev_priv = nouveau_bdev(man->bdev); struct nouveau_mm *mm; @@ -1606,7 +1495,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-r if (ret) return ret; -@@ -700,9 +728,15 @@ +@@ -700,9 +710,15 @@ { struct drm_nouveau_private *dev_priv = nouveau_bdev(man->bdev); struct nouveau_vram_engine *vram = &dev_priv->engine.vram; @@ -1623,7 +1512,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-r } static int -@@ -715,7 +749,7 @@ +@@ -715,7 +731,7 @@ struct nouveau_vram_engine *vram = &dev_priv->engine.vram; struct drm_device *dev = dev_priv->dev; struct nouveau_bo *nvbo = nouveau_bo(bo); @@ -1632,16 +1521,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-r u32 size_nc = 0; int ret; -@@ -724,7 +758,7 @@ - - ret = vram->get(dev, mem->num_pages << PAGE_SHIFT, - mem->page_alignment << PAGE_SHIFT, size_nc, -- (nvbo->tile_flags >> 8) & 0xff, &node); -+ (nvbo->tile_flags >> 8) & 0x3ff, &node); - if (ret) { - mem->mm_node = NULL; - return (ret == -ENOSPC) ? 0 : ret; -@@ -771,3 +805,84 @@ +@@ -769,3 +785,84 @@ nouveau_vram_manager_del, nouveau_vram_manager_debug }; @@ -1726,9 +1606,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mem.c linux-2.6.38-r + nouveau_gart_manager_del, + nouveau_gart_manager_debug +}; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mm.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_mm.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mm.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_mm.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_mm.h linux-2.6/drivers/gpu/drm/nouveau/nouveau_mm.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_mm.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_mm.h 2011-02-22 14:16:21.587230337 +0100 @@ -53,13 +53,13 @@ int nv50_vram_init(struct drm_device *); @@ -1746,9 +1626,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_mm.h linux-2.6.38-rc bool nvc0_vram_flags_valid(struct drm_device *, u32 tile_flags); #endif -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_notifier.c 2011-03-12 22:37:55.427744395 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_notifier.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_notifier.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_notifier.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_notifier.c 2011-02-22 14:16:21.587230337 +0100 @@ -39,12 +39,11 @@ int ret; @@ -1765,15 +1645,15 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6 if (ret) return ret; -@@ -100,6 +99,7 @@ - uint32_t *b_offset) +@@ -99,6 +98,7 @@ + int size, uint32_t *b_offset) { struct drm_device *dev = chan->dev; + struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_gpuobj *nobj = NULL; struct drm_mm_node *mem; uint32_t offset; -@@ -114,11 +114,16 @@ +@@ -112,11 +112,16 @@ return -ENOMEM; } @@ -1795,9 +1675,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_notifier.c linux-2.6 offset += mem->start; ret = nouveau_gpuobj_dma_new(chan, NV_CLASS_DMA_IN_MEMORY, offset, -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_object.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_object.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_object.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_object.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_object.c 2011-02-22 14:16:21.588230317 +0100 @@ -36,6 +36,7 @@ #include "nouveau_drm.h" #include "nouveau_ramht.h" @@ -1872,9 +1752,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_object.c linux-2.6.3 } /* VRAM ctxdma */ -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_ramht.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_ramht.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_ramht.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_ramht.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_ramht.c 2011-02-22 14:16:21.589230297 +0100 @@ -114,7 +114,9 @@ (gpuobj->engine << NV40_RAMHT_CONTEXT_ENGINE_SHIFT); } else { @@ -1886,9 +1766,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_ramht.c linux-2.6.38 } else { ctx = (gpuobj->cinst >> 4) | ((gpuobj->engine << -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_sgdma.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_sgdma.c 2011-02-22 14:16:21.589230297 +0100 @@ -74,8 +74,24 @@ } } @@ -2200,7 +2080,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.38 return &nvbe->backend; } -@@ -210,21 +409,64 @@ +@@ -210,21 +409,65 @@ { struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_gpuobj *gpuobj = NULL; @@ -2221,7 +2101,8 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.38 - ret = nouveau_gpuobj_new(dev, NULL, obj_size, 16, - NVOBJ_FLAG_ZERO_ALLOC | - NVOBJ_FLAG_ZERO_FREE, &gpuobj); -+ if (dev_priv->card_type >= NV_50 || drm_device_is_pcie(dev)) ++ if (dev_priv->card_type >= NV_50 || ++ dev_priv->ramin_rsvd_vram >= 2 * 1024 * 1024) + aper_size = 512 * 1024 * 1024; + else + aper_size = 64 * 1024 * 1024; @@ -2279,7 +2160,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.38 if (ret) { NV_ERROR(dev, "Error creating sgdma object: %d\n", ret); return ret; -@@ -236,25 +478,14 @@ +@@ -236,25 +479,14 @@ (0 << 14) /* RW */ | (2 << 16) /* PCI */); nv_wo32(gpuobj, 4, aper_size - 1); @@ -2307,7 +2188,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.38 return 0; } -@@ -264,7 +495,13 @@ +@@ -264,7 +496,13 @@ struct drm_nouveau_private *dev_priv = dev->dev_private; nouveau_gpuobj_ref(NULL, &dev_priv->gart_info.sg_ctxdma); @@ -2322,9 +2203,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_sgdma.c linux-2.6.38 } uint32_t -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_state.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_state.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_state.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_state.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_state.c 2011-02-22 14:16:21.590230277 +0100 @@ -544,7 +544,6 @@ nouveau_card_init_channel(struct drm_device *dev) { @@ -2415,9 +2296,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_state.c linux-2.6.38 break; case NOUVEAU_GETPARAM_GRAPH_UNITS: /* NV40 and NV50 versions are quite different, but register -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_temp.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_temp.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_temp.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_temp.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_temp.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_temp.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_temp.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_temp.c 2011-02-22 14:16:21.590230277 +0100 @@ -239,11 +239,9 @@ probe_monitoring_device(struct nouveau_i2c_chan *i2c, struct i2c_board_info *info) @@ -2431,65 +2312,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_temp.c linux-2.6.38- client = i2c_new_device(&i2c->adapter, info); if (!client) -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_util.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_util.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_util.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_util.c 2011-03-09 18:30:58.000000000 +0100 -@@ -47,18 +47,27 @@ - printk(" (unknown bits 0x%08x)", value); - } - --void --nouveau_enum_print(const struct nouveau_enum *en, u32 value) -+const struct nouveau_enum * -+nouveau_enum_find(const struct nouveau_enum *en, u32 value) - { - while (en->name) { -- if (value == en->value) { -- printk("%s", en->name); -- return; -- } -- -+ if (en->value == value) -+ return en; - en++; - } - -+ return NULL; -+} -+ -+void -+nouveau_enum_print(const struct nouveau_enum *en, u32 value) -+{ -+ en = nouveau_enum_find(en, value); -+ if (en) { -+ printk("%s", en->name); -+ return; -+ } -+ - printk("(unknown enum 0x%08x)", value); - } - -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_util.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_util.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_util.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_util.h 2011-03-09 18:30:58.000000000 +0100 -@@ -36,10 +36,14 @@ - struct nouveau_enum { - u32 value; - const char *name; -+ void *data; - }; - - void nouveau_bitfield_print(const struct nouveau_bitfield *, u32 value); - void nouveau_enum_print(const struct nouveau_enum *, u32 value); -+const struct nouveau_enum * -+nouveau_enum_find(const struct nouveau_enum *, u32 value); -+ - int nouveau_ratelimit(void); - - #endif -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_vm.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_vm.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_vm.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_vm.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_vm.c linux-2.6/drivers/gpu/drm/nouveau/nouveau_vm.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_vm.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_vm.c 2011-02-22 14:16:21.591230257 +0100 @@ -28,7 +28,7 @@ #include "nouveau_vm.h" @@ -2554,29 +2379,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_vm.c linux-2.6.38-rc num -= len; pte += len; -@@ -311,18 +314,7 @@ - vm->spg_shift = 12; - vm->lpg_shift = 17; - pgt_bits = 27; -- -- /* Should be 4096 everywhere, this is a hack that's -- * currently necessary to avoid an elusive bug that -- * causes corruption when mixing small/large pages -- */ -- if (length < (1ULL << 40)) -- block = 4096; -- else { -- block = (1 << pgt_bits); -- if (length < block) -- block = length; -- } -+ block = 4096; - } else { - kfree(vm); - return -ENOSYS; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_vm.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_vm.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_vm.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nouveau_vm.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_vm.h linux-2.6/drivers/gpu/drm/nouveau/nouveau_vm.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nouveau_vm.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nouveau_vm.h 2011-02-22 14:16:21.591230257 +0100 @@ -67,9 +67,10 @@ void (*map_pgt)(struct nouveau_gpuobj *pgd, u32 pde, struct nouveau_gpuobj *pgt[2]); @@ -2628,9 +2433,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nouveau_vm.h linux-2.6.38-rc void nvc0_vm_unmap(struct nouveau_gpuobj *, u32 pte, u32 cnt); void nvc0_vm_flush(struct nouveau_vm *); -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv04_crtc.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv04_crtc.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6/drivers/gpu/drm/nouveau/nv04_crtc.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv04_crtc.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv04_crtc.c 2011-02-22 14:16:21.592230236 +0100 @@ -1031,7 +1031,7 @@ drm_mode_crtc_set_gamma_size(&nv_crtc->base, 256); @@ -2640,9 +2445,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv04_crtc.c linux-2.6.38-rc7 if (!ret) { ret = nouveau_bo_pin(nv_crtc->cursor.nvbo, TTM_PL_FLAG_VRAM); if (!ret) -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv04_fifo.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv04_fifo.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6/drivers/gpu/drm/nouveau/nv04_fifo.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv04_fifo.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv04_fifo.c 2011-02-22 14:16:21.593230215 +0100 @@ -379,6 +379,15 @@ return handled; } @@ -2683,18 +2488,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv04_fifo.c linux-2.6.38-rc7 if (dma_get != dma_put) nv_wr32(dev, 0x003244, dma_put); -@@ -505,7 +516,7 @@ - - if (dev_priv->card_type == NV_50) { - if (status & 0x00000010) { -- nv50_fb_vm_trap(dev, 1, "PFIFO_BAR_FAULT"); -+ nv50_fb_vm_trap(dev, nouveau_ratelimit()); - status &= ~0x00000010; - nv_wr32(dev, 0x002100, 0x00000010); - } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv40_fb.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv40_fb.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6/drivers/gpu/drm/nouveau/nv40_fb.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv40_fb.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv40_fb.c 2011-02-22 14:16:21.596230155 +0100 @@ -24,6 +24,53 @@ } } @@ -2768,9 +2564,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv40_fb.c linux-2.6.38-rc7.n switch (dev_priv->chipset) { case 0x40: -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_crtc.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_crtc.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6/drivers/gpu/drm/nouveau/nv50_crtc.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_crtc.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_crtc.c 2011-02-22 14:16:21.598230115 +0100 @@ -65,7 +65,7 @@ { struct drm_device *dev = nv_crtc->base.dev; @@ -3069,9 +2865,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_crtc.c linux-2.6.38-rc7 if (!ret) { ret = nouveau_bo_pin(nv_crtc->cursor.nvbo, TTM_PL_FLAG_VRAM); if (!ret) -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_cursor.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_cursor.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_cursor.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_cursor.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_cursor.c linux-2.6/drivers/gpu/drm/nouveau/nv50_cursor.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_cursor.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_cursor.c 2011-02-22 14:16:21.598230115 +0100 @@ -36,9 +36,9 @@ static void nv50_cursor_show(struct nouveau_crtc *nv_crtc, bool update) @@ -3096,9 +2892,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_cursor.c linux-2.6.38-r int ret; NV_DEBUG_KMS(dev, "\n"); -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_dac.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_dac.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_dac.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_dac.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_dac.c linux-2.6/drivers/gpu/drm/nouveau/nv50_dac.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_dac.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_dac.c 2011-02-22 14:16:21.599230095 +0100 @@ -41,8 +41,7 @@ { struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); @@ -3119,9 +2915,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_dac.c linux-2.6.38-rc7. struct nouveau_crtc *crtc = nouveau_crtc(encoder->crtc); uint32_t mode_ctl = 0, mode_ctl2 = 0; int ret; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_display.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_display.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_display.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6/drivers/gpu/drm/nouveau/nv50_display.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_display.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_display.c 2011-02-22 14:16:21.599230095 +0100 @@ -24,6 +24,7 @@ * */ @@ -3464,9 +3260,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_display.c linux-2.6.38- delayed |= clock; intr1 &= ~clock; } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_display.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_display.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_display.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_display.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_display.h linux-2.6/drivers/gpu/drm/nouveau/nv50_display.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_display.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_display.h 2011-02-22 14:16:21.599230095 +0100 @@ -35,7 +35,36 @@ #include "nouveau_crtc.h" #include "nv50_evo.h" @@ -3521,9 +3317,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_display.h linux-2.6.38- + u64 base, u64 size, struct nouveau_gpuobj **); + #endif /* __NV50_DISPLAY_H__ */ -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_evo.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_evo.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6/drivers/gpu/drm/nouveau/nv50_evo.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_evo.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_evo.c 2011-02-22 14:16:21.599230095 +0100 @@ -27,20 +27,17 @@ #include "nouveau_drv.h" #include "nouveau_dma.h" @@ -3940,9 +3736,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_evo.c linux-2.6.38-rc7. + + nv50_evo_destroy(dev); } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_evo.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_evo.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6/drivers/gpu/drm/nouveau/nv50_evo.h +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_evo.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_evo.h 2011-02-22 14:16:21.600230075 +0100 @@ -27,12 +27,6 @@ #ifndef __NV50_EVO_H__ #define __NV50_EVO_H__ @@ -3964,9 +3760,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_evo.h linux-2.6.38-rc7. +#define NV50_EVO_CRTC_UNK904 0x00000904 #endif -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_fb.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_fb.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6/drivers/gpu/drm/nouveau/nv50_fb.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_fb.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_fb.c 2011-02-22 14:16:21.600230075 +0100 @@ -8,31 +8,61 @@ dma_addr_t r100c08; }; @@ -4033,198 +3829,29 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_fb.c linux-2.6.38-rc7.n return 0; } -@@ -81,26 +111,112 @@ +@@ -81,18 +111,7 @@ void nv50_fb_takedown(struct drm_device *dev) { - struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nv50_fb_priv *priv; -+ nv50_fb_destroy(dev); -+} - +- - priv = dev_priv->engine.fb.priv; - if (!priv) - return; - dev_priv->engine.fb.priv = NULL; -+static struct nouveau_enum vm_dispatch_subclients[] = { -+ { 0x00000000, "GRCTX", NULL }, -+ { 0x00000001, "NOTIFY", NULL }, -+ { 0x00000002, "QUERY", NULL }, -+ { 0x00000003, "COND", NULL }, -+ { 0x00000004, "M2M_IN", NULL }, -+ { 0x00000005, "M2M_OUT", NULL }, -+ { 0x00000006, "M2M_NOTIFY", NULL }, -+ {} -+}; - +- - pci_unmap_page(dev->pdev, priv->r100c08, PAGE_SIZE, - PCI_DMA_BIDIRECTIONAL); - __free_page(priv->r100c08_page); - kfree(priv); --} -+static struct nouveau_enum vm_ccache_subclients[] = { -+ { 0x00000000, "CB", NULL }, -+ { 0x00000001, "TIC", NULL }, -+ { 0x00000002, "TSC", NULL }, -+ {} -+}; -+ -+static struct nouveau_enum vm_prop_subclients[] = { -+ { 0x00000000, "RT0", NULL }, -+ { 0x00000001, "RT1", NULL }, -+ { 0x00000002, "RT2", NULL }, -+ { 0x00000003, "RT3", NULL }, -+ { 0x00000004, "RT4", NULL }, -+ { 0x00000005, "RT5", NULL }, -+ { 0x00000006, "RT6", NULL }, -+ { 0x00000007, "RT7", NULL }, -+ { 0x00000008, "ZETA", NULL }, -+ { 0x00000009, "LOCAL", NULL }, -+ { 0x0000000a, "GLOBAL", NULL }, -+ { 0x0000000b, "STACK", NULL }, -+ { 0x0000000c, "DST2D", NULL }, -+ {} -+}; -+ -+static struct nouveau_enum vm_pfifo_subclients[] = { -+ { 0x00000000, "PUSHBUF", NULL }, -+ { 0x00000001, "SEMAPHORE", NULL }, -+ {} -+}; -+ -+static struct nouveau_enum vm_bar_subclients[] = { -+ { 0x00000000, "FB", NULL }, -+ { 0x00000001, "IN", NULL }, -+ {} -+}; -+ -+static struct nouveau_enum vm_client[] = { -+ { 0x00000000, "STRMOUT", NULL }, -+ { 0x00000003, "DISPATCH", vm_dispatch_subclients }, -+ { 0x00000004, "PFIFO_WRITE", NULL }, -+ { 0x00000005, "CCACHE", vm_ccache_subclients }, -+ { 0x00000006, "PPPP", NULL }, -+ { 0x00000007, "CLIPID", NULL }, -+ { 0x00000008, "PFIFO_READ", NULL }, -+ { 0x00000009, "VFETCH", NULL }, -+ { 0x0000000a, "TEXTURE", NULL }, -+ { 0x0000000b, "PROP", vm_prop_subclients }, -+ { 0x0000000c, "PVP", NULL }, -+ { 0x0000000d, "PBSP", NULL }, -+ { 0x0000000e, "PCRYPT", NULL }, -+ { 0x0000000f, "PCOUNTER", NULL }, -+ { 0x00000011, "PDAEMON", NULL }, -+ {} -+}; -+ -+static struct nouveau_enum vm_engine[] = { -+ { 0x00000000, "PGRAPH", NULL }, -+ { 0x00000001, "PVP", NULL }, -+ { 0x00000004, "PEEPHOLE", NULL }, -+ { 0x00000005, "PFIFO", vm_pfifo_subclients }, -+ { 0x00000006, "BAR", vm_bar_subclients }, -+ { 0x00000008, "PPPP", NULL }, -+ { 0x00000009, "PBSP", NULL }, -+ { 0x0000000a, "PCRYPT", NULL }, -+ { 0x0000000b, "PCOUNTER", NULL }, -+ { 0x0000000c, "SEMAPHORE_BG", NULL }, -+ { 0x0000000d, "PCOPY", NULL }, -+ { 0x0000000e, "PDAEMON", NULL }, -+ {} -+}; -+ -+static struct nouveau_enum vm_fault[] = { -+ { 0x00000000, "PT_NOT_PRESENT", NULL }, -+ { 0x00000001, "PT_TOO_SHORT", NULL }, -+ { 0x00000002, "PAGE_NOT_PRESENT", NULL }, -+ { 0x00000003, "PAGE_SYSTEM_ONLY", NULL }, -+ { 0x00000004, "PAGE_READ_ONLY", NULL }, -+ { 0x00000006, "NULL_DMAOBJ", NULL }, -+ { 0x00000007, "WRONG_MEMTYPE", NULL }, -+ { 0x0000000b, "VRAM_LIMIT", NULL }, -+ { 0x0000000f, "DMAOBJ_LIMIT", NULL }, -+ {} -+}; ++ nv50_fb_destroy(dev); + } void --nv50_fb_vm_trap(struct drm_device *dev, int display, const char *name) -+nv50_fb_vm_trap(struct drm_device *dev, int display) - { - struct drm_nouveau_private *dev_priv = dev->dev_private; -+ const struct nouveau_enum *en, *cl; - unsigned long flags; - u32 trap[6], idx, chinst; -+ u8 st0, st1, st2, st3; - int i, ch; - - idx = nv_rd32(dev, 0x100c90); -@@ -117,8 +233,8 @@ - if (!display) - return; - -+ /* lookup channel id */ - chinst = (trap[2] << 16) | trap[1]; -- - spin_lock_irqsave(&dev_priv->channels.lock, flags); - for (ch = 0; ch < dev_priv->engine.fifo.channels; ch++) { - struct nouveau_channel *chan = dev_priv->channels.ptr[ch]; -@@ -131,9 +247,48 @@ - } - spin_unlock_irqrestore(&dev_priv->channels.lock, flags); - -- NV_INFO(dev, "%s - VM: Trapped %s at %02x%04x%04x status %08x " -- "channel %d (0x%08x)\n", -- name, (trap[5] & 0x100 ? "read" : "write"), -- trap[5] & 0xff, trap[4] & 0xffff, trap[3] & 0xffff, -- trap[0], ch, chinst); -+ /* decode status bits into something more useful */ -+ if (dev_priv->chipset < 0xa3 || -+ dev_priv->chipset == 0xaa || dev_priv->chipset == 0xac) { -+ st0 = (trap[0] & 0x0000000f) >> 0; -+ st1 = (trap[0] & 0x000000f0) >> 4; -+ st2 = (trap[0] & 0x00000f00) >> 8; -+ st3 = (trap[0] & 0x0000f000) >> 12; -+ } else { -+ st0 = (trap[0] & 0x000000ff) >> 0; -+ st1 = (trap[0] & 0x0000ff00) >> 8; -+ st2 = (trap[0] & 0x00ff0000) >> 16; -+ st3 = (trap[0] & 0xff000000) >> 24; -+ } -+ -+ NV_INFO(dev, "VM: trapped %s at 0x%02x%04x%04x on ch %d [0x%08x] ", -+ (trap[5] & 0x00000100) ? "read" : "write", -+ trap[5] & 0xff, trap[4] & 0xffff, trap[3] & 0xffff, ch, chinst); -+ -+ en = nouveau_enum_find(vm_engine, st0); -+ if (en) -+ printk("%s/", en->name); -+ else -+ printk("%02x/", st0); -+ -+ cl = nouveau_enum_find(vm_client, st2); -+ if (cl) -+ printk("%s/", cl->name); -+ else -+ printk("%02x/", st2); -+ -+ if (cl && cl->data) cl = nouveau_enum_find(cl->data, st3); -+ else if (en && en->data) cl = nouveau_enum_find(en->data, st3); -+ else cl = NULL; -+ if (cl) -+ printk("%s", cl->name); -+ else -+ printk("%02x", st3); -+ -+ printk(" reason: "); -+ en = nouveau_enum_find(vm_fault, st1); -+ if (en) -+ printk("%s\n", en->name); -+ else -+ printk("0x%08x\n", st1); - } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_fifo.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_fifo.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6/drivers/gpu/drm/nouveau/nv50_fifo.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_fifo.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_fifo.c 2011-02-22 14:16:21.600230075 +0100 @@ -149,6 +149,7 @@ nv_wr32(dev, 0x3204, 0); nv_wr32(dev, 0x3210, 0); @@ -4242,9 +3869,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_fifo.c linux-2.6.38-rc7 nv_wo32(ramfc, 0x60, 0x7fffffff); nv_wo32(ramfc, 0x40, 0x00000000); nv_wo32(ramfc, 0x7c, 0x30000001); -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_gpio.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_gpio.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_gpio.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_gpio.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_gpio.c linux-2.6/drivers/gpu/drm/nouveau/nv50_gpio.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_gpio.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_gpio.c 2011-02-22 14:16:21.600230075 +0100 @@ -137,6 +137,7 @@ struct nv50_gpio_priv *priv = pgpio->priv; struct nv50_gpio_handler *gpioh, *tmp; @@ -4295,73 +3922,10 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_gpio.c linux-2.6.38-rc7 } spin_unlock(&priv->lock); } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_graph.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_graph.c 2011-03-09 18:30:58.000000000 +0100 -@@ -95,13 +95,41 @@ - } - - static void --nv50_graph_init_regs(struct drm_device *dev) -+nv50_graph_init_zcull(struct drm_device *dev) - { -+ struct drm_nouveau_private *dev_priv = dev->dev_private; -+ int i; -+ - NV_DEBUG(dev, "\n"); - -- nv_wr32(dev, NV04_PGRAPH_DEBUG_3, -- (1 << 2) /* HW_CONTEXT_SWITCH_ENABLED */); -- nv_wr32(dev, 0x402ca8, 0x800); -+ switch (dev_priv->chipset & 0xf0) { -+ case 0x50: -+ case 0x80: -+ case 0x90: -+ nv_wr32(dev, 0x402ca8, 0x00000800); -+ break; -+ case 0xa0: -+ default: -+ nv_wr32(dev, 0x402cc0, 0x00000000); -+ if (dev_priv->chipset == 0xa0 || -+ dev_priv->chipset == 0xaa || -+ dev_priv->chipset == 0xac) { -+ nv_wr32(dev, 0x402ca8, 0x00000802); -+ } else { -+ nv_wr32(dev, 0x402cc0, 0x00000000); -+ nv_wr32(dev, 0x402ca8, 0x00000002); -+ } -+ -+ break; -+ } -+ -+ /* zero out zcull regions */ -+ for (i = 0; i < 8; i++) { -+ nv_wr32(dev, 0x402c20 + (i * 8), 0x00000000); -+ nv_wr32(dev, 0x402c24 + (i * 8), 0x00000000); -+ nv_wr32(dev, 0x402c28 + (i * 8), 0x00000000); -+ nv_wr32(dev, 0x402c2c + (i * 8), 0x00000000); -+ } - } - - static int -@@ -136,6 +164,7 @@ - } - kfree(cp); - -+ nv_wr32(dev, 0x40008c, 0x00000004); /* HW_CTX_SWITCH_ENABLED */ - nv_wr32(dev, 0x400320, 4); - nv_wr32(dev, NV40_PGRAPH_CTXCTL_CUR, 0); - nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, 0); -@@ -151,7 +180,7 @@ - - nv50_graph_init_reset(dev); - nv50_graph_init_regs__nv(dev); -- nv50_graph_init_regs(dev); -+ nv50_graph_init_zcull(dev); - - ret = nv50_graph_init_ctxctl(dev); - if (ret) -@@ -409,12 +438,7 @@ +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6/drivers/gpu/drm/nouveau/nv50_graph.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_graph.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_graph.c 2011-02-22 14:16:21.601230054 +0100 +@@ -409,12 +409,7 @@ nv50_graph_nvsw_mthd_page_flip(struct nouveau_channel *chan, u32 class, u32 mthd, u32 data) { @@ -4375,129 +3939,7 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.38-rc return 0; } -@@ -526,11 +550,11 @@ - - static struct nouveau_enum nv50_mp_exec_error_names[] = - { -- { 3, "STACK_UNDERFLOW" }, -- { 4, "QUADON_ACTIVE" }, -- { 8, "TIMEOUT" }, -- { 0x10, "INVALID_OPCODE" }, -- { 0x40, "BREAKPOINT" }, -+ { 3, "STACK_UNDERFLOW", NULL }, -+ { 4, "QUADON_ACTIVE", NULL }, -+ { 8, "TIMEOUT", NULL }, -+ { 0x10, "INVALID_OPCODE", NULL }, -+ { 0x40, "BREAKPOINT", NULL }, - {} - }; - -@@ -558,47 +582,47 @@ - - /* There must be a *lot* of these. Will take some time to gather them up. */ - struct nouveau_enum nv50_data_error_names[] = { -- { 0x00000003, "INVALID_QUERY_OR_TEXTURE" }, -- { 0x00000004, "INVALID_VALUE" }, -- { 0x00000005, "INVALID_ENUM" }, -- { 0x00000008, "INVALID_OBJECT" }, -- { 0x00000009, "READ_ONLY_OBJECT" }, -- { 0x0000000a, "SUPERVISOR_OBJECT" }, -- { 0x0000000b, "INVALID_ADDRESS_ALIGNMENT" }, -- { 0x0000000c, "INVALID_BITFIELD" }, -- { 0x0000000d, "BEGIN_END_ACTIVE" }, -- { 0x0000000e, "SEMANTIC_COLOR_BACK_OVER_LIMIT" }, -- { 0x0000000f, "VIEWPORT_ID_NEEDS_GP" }, -- { 0x00000010, "RT_DOUBLE_BIND" }, -- { 0x00000011, "RT_TYPES_MISMATCH" }, -- { 0x00000012, "RT_LINEAR_WITH_ZETA" }, -- { 0x00000015, "FP_TOO_FEW_REGS" }, -- { 0x00000016, "ZETA_FORMAT_CSAA_MISMATCH" }, -- { 0x00000017, "RT_LINEAR_WITH_MSAA" }, -- { 0x00000018, "FP_INTERPOLANT_START_OVER_LIMIT" }, -- { 0x00000019, "SEMANTIC_LAYER_OVER_LIMIT" }, -- { 0x0000001a, "RT_INVALID_ALIGNMENT" }, -- { 0x0000001b, "SAMPLER_OVER_LIMIT" }, -- { 0x0000001c, "TEXTURE_OVER_LIMIT" }, -- { 0x0000001e, "GP_TOO_MANY_OUTPUTS" }, -- { 0x0000001f, "RT_BPP128_WITH_MS8" }, -- { 0x00000021, "Z_OUT_OF_BOUNDS" }, -- { 0x00000023, "XY_OUT_OF_BOUNDS" }, -- { 0x00000027, "CP_MORE_PARAMS_THAN_SHARED" }, -- { 0x00000028, "CP_NO_REG_SPACE_STRIPED" }, -- { 0x00000029, "CP_NO_REG_SPACE_PACKED" }, -- { 0x0000002a, "CP_NOT_ENOUGH_WARPS" }, -- { 0x0000002b, "CP_BLOCK_SIZE_MISMATCH" }, -- { 0x0000002c, "CP_NOT_ENOUGH_LOCAL_WARPS" }, -- { 0x0000002d, "CP_NOT_ENOUGH_STACK_WARPS" }, -- { 0x0000002e, "CP_NO_BLOCKDIM_LATCH" }, -- { 0x00000031, "ENG2D_FORMAT_MISMATCH" }, -- { 0x0000003f, "PRIMITIVE_ID_NEEDS_GP" }, -- { 0x00000044, "SEMANTIC_VIEWPORT_OVER_LIMIT" }, -- { 0x00000045, "SEMANTIC_COLOR_FRONT_OVER_LIMIT" }, -- { 0x00000046, "LAYER_ID_NEEDS_GP" }, -- { 0x00000047, "SEMANTIC_CLIP_OVER_LIMIT" }, -- { 0x00000048, "SEMANTIC_PTSZ_OVER_LIMIT" }, -+ { 0x00000003, "INVALID_QUERY_OR_TEXTURE", NULL }, -+ { 0x00000004, "INVALID_VALUE", NULL }, -+ { 0x00000005, "INVALID_ENUM", NULL }, -+ { 0x00000008, "INVALID_OBJECT", NULL }, -+ { 0x00000009, "READ_ONLY_OBJECT", NULL }, -+ { 0x0000000a, "SUPERVISOR_OBJECT", NULL }, -+ { 0x0000000b, "INVALID_ADDRESS_ALIGNMENT", NULL }, -+ { 0x0000000c, "INVALID_BITFIELD", NULL }, -+ { 0x0000000d, "BEGIN_END_ACTIVE", NULL }, -+ { 0x0000000e, "SEMANTIC_COLOR_BACK_OVER_LIMIT", NULL }, -+ { 0x0000000f, "VIEWPORT_ID_NEEDS_GP", NULL }, -+ { 0x00000010, "RT_DOUBLE_BIND", NULL }, -+ { 0x00000011, "RT_TYPES_MISMATCH", NULL }, -+ { 0x00000012, "RT_LINEAR_WITH_ZETA", NULL }, -+ { 0x00000015, "FP_TOO_FEW_REGS", NULL }, -+ { 0x00000016, "ZETA_FORMAT_CSAA_MISMATCH", NULL }, -+ { 0x00000017, "RT_LINEAR_WITH_MSAA", NULL }, -+ { 0x00000018, "FP_INTERPOLANT_START_OVER_LIMIT", NULL }, -+ { 0x00000019, "SEMANTIC_LAYER_OVER_LIMIT", NULL }, -+ { 0x0000001a, "RT_INVALID_ALIGNMENT", NULL }, -+ { 0x0000001b, "SAMPLER_OVER_LIMIT", NULL }, -+ { 0x0000001c, "TEXTURE_OVER_LIMIT", NULL }, -+ { 0x0000001e, "GP_TOO_MANY_OUTPUTS", NULL }, -+ { 0x0000001f, "RT_BPP128_WITH_MS8", NULL }, -+ { 0x00000021, "Z_OUT_OF_BOUNDS", NULL }, -+ { 0x00000023, "XY_OUT_OF_BOUNDS", NULL }, -+ { 0x00000027, "CP_MORE_PARAMS_THAN_SHARED", NULL }, -+ { 0x00000028, "CP_NO_REG_SPACE_STRIPED", NULL }, -+ { 0x00000029, "CP_NO_REG_SPACE_PACKED", NULL }, -+ { 0x0000002a, "CP_NOT_ENOUGH_WARPS", NULL }, -+ { 0x0000002b, "CP_BLOCK_SIZE_MISMATCH", NULL }, -+ { 0x0000002c, "CP_NOT_ENOUGH_LOCAL_WARPS", NULL }, -+ { 0x0000002d, "CP_NOT_ENOUGH_STACK_WARPS", NULL }, -+ { 0x0000002e, "CP_NO_BLOCKDIM_LATCH", NULL }, -+ { 0x00000031, "ENG2D_FORMAT_MISMATCH", NULL }, -+ { 0x0000003f, "PRIMITIVE_ID_NEEDS_GP", NULL }, -+ { 0x00000044, "SEMANTIC_VIEWPORT_OVER_LIMIT", NULL }, -+ { 0x00000045, "SEMANTIC_COLOR_FRONT_OVER_LIMIT", NULL }, -+ { 0x00000046, "LAYER_ID_NEEDS_GP", NULL }, -+ { 0x00000047, "SEMANTIC_CLIP_OVER_LIMIT", NULL }, -+ { 0x00000048, "SEMANTIC_PTSZ_OVER_LIMIT", NULL }, - {} - }; - -@@ -678,7 +702,6 @@ - tps++; - switch (type) { - case 6: /* texture error... unknown for now */ -- nv50_fb_vm_trap(dev, display, name); - if (display) { - NV_ERROR(dev, "magic set %d:\n", i); - for (r = ustatus_addr + 4; r <= ustatus_addr + 0x10; r += 4) -@@ -701,7 +724,6 @@ - uint32_t e1c = nv_rd32(dev, ustatus_addr + 0x14); - uint32_t e20 = nv_rd32(dev, ustatus_addr + 0x18); - uint32_t e24 = nv_rd32(dev, ustatus_addr + 0x1c); -- nv50_fb_vm_trap(dev, display, name); - /* 2d engine destination */ - if (ustatus & 0x00000010) { - if (display) { -@@ -912,10 +934,10 @@ +@@ -912,10 +907,10 @@ printk("\n"); NV_INFO(dev, "PGRAPH - TRAP_CCACHE %08x %08x %08x %08x" " %08x %08x %08x\n", @@ -4512,17 +3954,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_graph.c linux-2.6.38-rc } -@@ -1044,6 +1066,7 @@ - NV_INFO(dev, "PGRAPH - ch %d (0x%010llx) subc %d " - "class 0x%04x mthd 0x%04x data 0x%08x\n", - chid, inst, subc, class, mthd, data); -+ nv50_fb_vm_trap(dev, 1); - } - } - -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_instmem.c 2011-03-12 22:37:55.428744375 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_instmem.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6/drivers/gpu/drm/nouveau/nv50_instmem.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_instmem.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_instmem.c 2011-02-22 14:16:21.602230033 +0100 @@ -300,7 +300,7 @@ } @@ -4532,9 +3966,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_instmem.c linux-2.6.38- struct nouveau_vma chan_vma; u32 align; }; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_sor.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_sor.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_sor.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_sor.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_sor.c linux-2.6/drivers/gpu/drm/nouveau/nv50_sor.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_sor.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_sor.c 2011-02-22 14:16:21.603230013 +0100 @@ -41,8 +41,7 @@ { struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); @@ -4555,9 +3989,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_sor.c linux-2.6.38-rc7. struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); struct drm_device *dev = encoder->dev; struct nouveau_crtc *crtc = nouveau_crtc(encoder->crtc); -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_vm.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_vm.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_vm.c 2011-03-12 22:37:55.430744335 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_vm.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_vm.c linux-2.6/drivers/gpu/drm/nouveau/nv50_vm.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_vm.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_vm.c 2011-02-22 14:16:21.603230013 +0100 @@ -31,7 +31,6 @@ nv50_vm_map_pgt(struct nouveau_gpuobj *pgd, u32 pde, struct nouveau_gpuobj *pgt[2]) @@ -4621,9 +4055,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_vm.c linux-2.6.38-rc7.n nv_wo32(pgt, pte + 0, lower_32_bits(phys)); nv_wo32(pgt, pte + 4, upper_32_bits(phys)); pte += 8; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_vram.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_vram.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_vram.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv50_vram.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_vram.c linux-2.6/drivers/gpu/drm/nouveau/nv50_vram.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nv50_vram.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nv50_vram.c 2011-02-22 14:16:21.603230013 +0100 @@ -48,42 +48,49 @@ } @@ -4743,19 +4177,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv50_vram.c linux-2.6.38-rc7 return 0; } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv84_crypt.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nv84_crypt.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nv84_crypt.c 2011-03-09 18:30:58.000000000 +0100 -@@ -136,5 +136,5 @@ - nv_wr32(dev, 0x102130, stat); - nv_wr32(dev, 0x10200c, 0x10); - -- nv50_fb_vm_trap(dev, show, "PCRYPT"); -+ nv50_fb_vm_trap(dev, show); - } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_fifo.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_fifo.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_fifo.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_fifo.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_fifo.c linux-2.6/drivers/gpu/drm/nouveau/nvc0_fifo.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_fifo.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nvc0_fifo.c 2011-02-22 14:16:21.604229993 +0100 @@ -116,7 +116,7 @@ /* allocate vram for control regs, map into polling area */ @@ -4796,9 +4220,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_fifo.c linux-2.6.38-rc7 - - nv_wr32(dev, 0x2140, 0); } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_graph.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_graph.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_graph.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_graph.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_graph.c linux-2.6/drivers/gpu/drm/nouveau/nvc0_graph.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_graph.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nvc0_graph.c 2011-02-22 14:16:21.604229993 +0100 @@ -299,6 +299,14 @@ } @@ -4854,9 +4278,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_graph.c linux-2.6.38-rc nv_wr32(dev, 0x400100, 0x00000010); stat &= ~0x00000010; } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_vm.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_vm.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_vm.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_vm.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_vm.c linux-2.6/drivers/gpu/drm/nouveau/nvc0_vm.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_vm.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nvc0_vm.c 2011-02-22 14:16:21.606229953 +0100 @@ -59,7 +59,7 @@ void @@ -4880,9 +4304,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_vm.c linux-2.6.38-rc7.n nv_wo32(pgt, pte + 0, lower_32_bits(phys)); nv_wo32(pgt, pte + 4, upper_32_bits(phys)); pte += 8; -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_vram.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_vram.c ---- linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_vram.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/nouveau/nvc0_vram.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_vram.c linux-2.6/drivers/gpu/drm/nouveau/nvc0_vram.c +--- linux-2.6.38-rc5/drivers/gpu/drm/nouveau/nvc0_vram.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/nouveau/nvc0_vram.c 2011-02-22 14:16:21.606229953 +0100 @@ -26,64 +26,78 @@ #include "nouveau_drv.h" #include "nouveau_mm.h" @@ -4986,9 +4410,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/nouveau/nvc0_vram.c linux-2.6.38-rc7 return 0; } -diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.38-rc7.nouveau/drivers/gpu/drm/ttm/ttm_bo.c ---- linux-2.6.38-rc7/drivers/gpu/drm/ttm/ttm_bo.c 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/drivers/gpu/drm/ttm/ttm_bo.c 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6/drivers/gpu/drm/ttm/ttm_bo.c +--- linux-2.6.38-rc5/drivers/gpu/drm/ttm/ttm_bo.c 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/drivers/gpu/drm/ttm/ttm_bo.c 2011-02-22 14:16:21.822225582 +0100 @@ -406,11 +406,12 @@ } @@ -5003,9 +4427,9 @@ diff -Naur linux-2.6.38-rc7/drivers/gpu/drm/ttm/ttm_bo.c linux-2.6.38-rc7.nouvea } if (bdev->driver->move_notify) -diff -Naur linux-2.6.38-rc7/include/drm/nouveau_drm.h linux-2.6.38-rc7.nouveau/include/drm/nouveau_drm.h ---- linux-2.6.38-rc7/include/drm/nouveau_drm.h 2011-03-01 22:55:12.000000000 +0100 -+++ linux-2.6.38-rc7.nouveau/include/drm/nouveau_drm.h 2011-03-09 18:30:58.000000000 +0100 +diff -Naur linux-2.6.38-rc5/include/drm/nouveau_drm.h linux-2.6/include/drm/nouveau_drm.h +--- linux-2.6.38-rc5/include/drm/nouveau_drm.h 2011-02-16 04:23:45.000000000 +0100 ++++ linux-2.6/include/drm/nouveau_drm.h 2011-02-22 14:16:28.891082551 +0100 @@ -94,6 +94,7 @@ #define NOUVEAU_GEM_DOMAIN_GART (1 << 2) #define NOUVEAU_GEM_DOMAIN_MAPPABLE (1 << 3) From ef74282f2e94fac598c449a432819b73a5f139d0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 3 Apr 2011 16:48:40 +0200 Subject: [PATCH 16/40] VERSION: set version to 0.99.5 (RC-5) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index de9bcdff29..2d666706df 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.4 +0.99.5 From 7d6899acb25d35e0cc11086ec202f2009115674d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 26 Jul 2011 20:32:57 +0200 Subject: [PATCH 17/40] VERSION: set version to 0.99.6 (RC-6) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2d666706df..3f632586f0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.5 +0.99.6 From 98fa3019bb41b2a1a297c6e10f48dfd89bbd1e3d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 4 Oct 2011 19:02:23 +0200 Subject: [PATCH 18/40] VERSION: set version to 0.99.7 (RC-7) Signed-off-by: Stephan Raue --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 3f632586f0..03552ce4ff 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.6 +0.99.7 From 9fbd5a5a5bc7f51cbd826009b8254d404b8a35b7 Mon Sep 17 00:00:00 2001 From: Alexander Pipelka Date: Wed, 7 Sep 2011 20:56:03 +0200 Subject: [PATCH 19/40] xbmc: added xbmc-addon-xvdr package --- packages/mediacenter/xbmc-addon-xvdr/build | 37 ++++++++++++++++++++ packages/mediacenter/xbmc-addon-xvdr/install | 29 +++++++++++++++ packages/mediacenter/xbmc-addon-xvdr/meta | 36 +++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100755 packages/mediacenter/xbmc-addon-xvdr/build create mode 100755 packages/mediacenter/xbmc-addon-xvdr/install create mode 100644 packages/mediacenter/xbmc-addon-xvdr/meta diff --git a/packages/mediacenter/xbmc-addon-xvdr/build b/packages/mediacenter/xbmc-addon-xvdr/build new file mode 100755 index 0000000000..b415ce0996 --- /dev/null +++ b/packages/mediacenter/xbmc-addon-xvdr/build @@ -0,0 +1,37 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD + +# some fixes for autoreconf + touch NEWS AUTHORS ChangeLog + do_autoreconf + +CXXFLAGS="-DZLIB_INTERNAL=1" ./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr/share/xbmc \ + --disable-static \ + --enable-shared + +make diff --git a/packages/mediacenter/xbmc-addon-xvdr/install b/packages/mediacenter/xbmc-addon-xvdr/install new file mode 100755 index 0000000000..59ec12b0e6 --- /dev/null +++ b/packages/mediacenter/xbmc-addon-xvdr/install @@ -0,0 +1,29 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/share/xbmc/addons/pvr.vdr.xvdr + cp -PRf $PKG_BUILD/addons/pvr.vdr.xvdr/resources $INSTALL/usr/share/xbmc/addons/pvr.vdr.xvdr + cp -Pf $PKG_BUILD/addons/pvr.vdr.xvdr/addon.xml $INSTALL/usr/share/xbmc/addons/pvr.vdr.xvdr + cp -Pf $PKG_BUILD/addons/pvr.vdr.xvdr/icon.png $INSTALL/usr/share/xbmc/addons/pvr.vdr.xvdr + cp -Pf $PKG_BUILD/addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr $INSTALL/usr/share/xbmc/addons/pvr.vdr.xvdr diff --git a/packages/mediacenter/xbmc-addon-xvdr/meta b/packages/mediacenter/xbmc-addon-xvdr/meta new file mode 100644 index 0000000000..1f91892318 --- /dev/null +++ b/packages/mediacenter/xbmc-addon-xvdr/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="xbmc-addon-xvdr" +PKG_VERSION="9822a8a" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="" +PKG_URL="http://dl.dropbox.com/u/240579/xbmc-addon-xvdr/xbmc-addon-xvdr-$PKG_VERSION.tar.gz" +PKG_DEPENDS="zlib" +PKG_BUILD_DEPENDS="toolchain zlib" +PKG_PRIORITY="optional" +PKG_SECTION="mediacenter" +PKG_SHORTDESC="XVDR addon for XBMC" +PKG_LONGDESC="This addon allows XBMC PVR to connect to the VDR server." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 11c6a97d23e8e887466eb2cc316ee57bd41cb74b Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 03:18:56 +0200 Subject: [PATCH 20/40] xbmc-addon-xvdr: convert to addon Signed-off-by: Stephan Raue --- .../addons/multimedia/xbmc-addon-xvdr/addon | 29 ++++++++++++++++++ .../multimedia}/xbmc-addon-xvdr/build | 5 +-- .../multimedia/xbmc-addon-xvdr/changelog.txt | 2 ++ .../multimedia/xbmc-addon-xvdr/icon/icon.png | Bin 0 -> 26487 bytes .../multimedia}/xbmc-addon-xvdr/install | 2 +- .../multimedia}/xbmc-addon-xvdr/meta | 9 +++--- .../xbmc-addon-xvdr/source/default.py | 23 ++++++++++++++ 7 files changed, 63 insertions(+), 7 deletions(-) create mode 100755 packages/addons/multimedia/xbmc-addon-xvdr/addon rename packages/{mediacenter => addons/multimedia}/xbmc-addon-xvdr/build (92%) create mode 100644 packages/addons/multimedia/xbmc-addon-xvdr/changelog.txt create mode 100644 packages/addons/multimedia/xbmc-addon-xvdr/icon/icon.png rename packages/{mediacenter => addons/multimedia}/xbmc-addon-xvdr/install (93%) rename packages/{mediacenter => addons/multimedia}/xbmc-addon-xvdr/meta (90%) create mode 100644 packages/addons/multimedia/xbmc-addon-xvdr/source/default.py diff --git a/packages/addons/multimedia/xbmc-addon-xvdr/addon b/packages/addons/multimedia/xbmc-addon-xvdr/addon new file mode 100755 index 0000000000..740fcc9230 --- /dev/null +++ b/packages/addons/multimedia/xbmc-addon-xvdr/addon @@ -0,0 +1,29 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID + cp -PR $PKG_BUILD/addons/pvr.vdr.xvdr/resources $ADDON_BUILD/$PKG_ADDON_ID + cp -P $PKG_BUILD/addons/pvr.vdr.xvdr/addon.xml $ADDON_BUILD/$PKG_ADDON_ID + cp -P $PKG_BUILD/addons/pvr.vdr.xvdr/icon.png $ADDON_BUILD/$PKG_ADDON_ID + cp -P $PKG_BUILD/addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr $ADDON_BUILD/$PKG_ADDON_ID diff --git a/packages/mediacenter/xbmc-addon-xvdr/build b/packages/addons/multimedia/xbmc-addon-xvdr/build similarity index 92% rename from packages/mediacenter/xbmc-addon-xvdr/build rename to packages/addons/multimedia/xbmc-addon-xvdr/build index b415ce0996..794b360977 100755 --- a/packages/mediacenter/xbmc-addon-xvdr/build +++ b/packages/addons/multimedia/xbmc-addon-xvdr/build @@ -28,9 +28,10 @@ cd $PKG_BUILD touch NEWS AUTHORS ChangeLog do_autoreconf -CXXFLAGS="-DZLIB_INTERNAL=1" ./configure --host=$TARGET_NAME \ +CXXFLAGS="-DZLIB_INTERNAL=1" \ +./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ - --prefix=/usr/share/xbmc \ + --prefix=/usr \ --disable-static \ --enable-shared diff --git a/packages/addons/multimedia/xbmc-addon-xvdr/changelog.txt b/packages/addons/multimedia/xbmc-addon-xvdr/changelog.txt new file mode 100644 index 0000000000..c9271f76dd --- /dev/null +++ b/packages/addons/multimedia/xbmc-addon-xvdr/changelog.txt @@ -0,0 +1,2 @@ +1.0.0 +- initial import of xbmc-addon-xvdr-9822a8a diff --git a/packages/addons/multimedia/xbmc-addon-xvdr/icon/icon.png b/packages/addons/multimedia/xbmc-addon-xvdr/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f83ae27dff8b82f477f9efb482b8a016d467dc GIT binary patch literal 26487 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 Date: Tue, 18 Oct 2011 03:20:14 +0200 Subject: [PATCH 21/40] scripts/create_addon: dont create an addon.xml if its shipped with addon Signed-off-by: Stephan Raue --- scripts/create_addon | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/create_addon b/scripts/create_addon index 9d64210415..c183c017da 100755 --- a/scripts/create_addon +++ b/scripts/create_addon @@ -53,7 +53,8 @@ if [ -f $PKG_DIR/addon ]; then $PKG_DIR/addon $@ >&$VERBOSE_OUT mkdir -p $ADDON_BUILD/$PKG_ADDON_ID - cp config/addon/addon.xml $ADDON_BUILD/$PKG_ADDON_ID + if [ ! -f $ADDON_BUILD/$PKG_ADDON_ID/addon.xml ]; then + cp config/addon/addon.xml $ADDON_BUILD/$PKG_ADDON_ID $SED -e "s|@PKG_ADDON_ID@|$PKG_ADDON_ID|g" \ -e "s|@PKG_NAME@|$PKG_NAME|g" \ -e "s|@ADDON_VERSION@|$OS_VERSION.$PKG_REV|g" \ @@ -63,12 +64,12 @@ if [ -f $PKG_DIR/addon ]; then -e "s|@OS_VERSION@|$OS_VERSION|g" \ -e "s|@PKG_LONGDESC@|$PKG_LONGDESC|g" \ -i $ADDON_BUILD/$PKG_ADDON_ID/addon.xml + fi if [ -f $PKG_DIR/source/default.py ]; then cp -R $PKG_DIR/source/* $ADDON_BUILD/$PKG_ADDON_ID else - echo "*** ERROR: you need at least $PKG_DIR/source/default.py so your addon can work ***" - exit 1 + echo "*** WARNING: you *maybe* need at least $PKG_DIR/source/default.py so your addon can work ***" fi if [ -f $PKG_DIR/icon/icon.png ]; then From 3e85aeebeca23200de9ad74ea2025c932e94a7fc Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 03:51:07 +0200 Subject: [PATCH 22/40] hts-tvheadend: set to version 1.0.1 Signed-off-by: Stephan Raue --- packages/addons/service/multimedia/hts-tvheadend/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/service/multimedia/hts-tvheadend/meta b/packages/addons/service/multimedia/hts-tvheadend/meta index 869e5f621f..e82fbf6a6f 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/meta +++ b/packages/addons/service/multimedia/hts-tvheadend/meta @@ -20,7 +20,7 @@ PKG_NAME="hts-tvheadend" PKG_VERSION="c88a646" -PKG_REV="0" +PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html" From 9bf5973d97b1f1ba53700abea7a5bf10d38b694f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 06:09:12 +0200 Subject: [PATCH 23/40] pm-utils: unload rtl8192se driver before suspend Signed-off-by: Stephan Raue --- packages/sysutils/pm-utils/config.d/module | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sysutils/pm-utils/config.d/module b/packages/sysutils/pm-utils/config.d/module index cccef5656a..60c2cb2a09 100644 --- a/packages/sysutils/pm-utils/config.d/module +++ b/packages/sysutils/pm-utils/config.d/module @@ -1 +1 @@ -SUSPEND_MODULES="xhci-hcd jme anysee" +SUSPEND_MODULES="xhci-hcd jme anysee rtl8192se" From 7656091d072387dcccec99c786775408c2c0f8e9 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 17:32:50 +0200 Subject: [PATCH 24/40] hts-tvheadend: add patch to add another provider Signed-off-by: Stephan Raue --- packages/addons/service/multimedia/hts-tvheadend/changelog.txt | 3 +++ packages/addons/service/multimedia/hts-tvheadend/meta | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt index 59409030eb..644d301c42 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt +++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt @@ -1,3 +1,6 @@ +1.0.2 +- add (CH) GA Weissenstein default muxes + 1.0.1 - add XMLTV tv_file_grab support - add XMLTV configuration support diff --git a/packages/addons/service/multimedia/hts-tvheadend/meta b/packages/addons/service/multimedia/hts-tvheadend/meta index e82fbf6a6f..1499c51199 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/meta +++ b/packages/addons/service/multimedia/hts-tvheadend/meta @@ -20,7 +20,7 @@ PKG_NAME="hts-tvheadend" PKG_VERSION="c88a646" -PKG_REV="1" +PKG_REV="2" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html" From 28ead8cca82f2ef6f6d18a5391d73cad61a35c28 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 18:08:49 +0200 Subject: [PATCH 25/40] linux: update to linux-3.1-rc10 Signed-off-by: Stephan Raue --- packages/linux/meta | 2 +- ...crosscompile.patch => linux-3.1-rc10-000_crosscompile.patch} | 0 ...ev_console.patch => linux-3.1-rc10-003-no_dev_console.patch} | 0 ...ch => linux-3.1-rc10-004_lower_undefined_mode_timeout.patch} | 0 ...6_enable_utf8.patch => linux-3.1-rc10-006_enable_utf8.patch} | 0 ...floppy_die.patch => linux-3.1-rc10-007_die_floppy_die.patch} | 0 ...> linux-3.1-rc10-009_disable_i8042_check_on_apple_mac.patch} | 0 ...er.patch => linux-3.1-rc10-050_add_appleir_usb_driver.patch} | 0 ...1.patch => linux-3.1-rc10-052-aureal_remote_quirk-0.1.patch} | 0 ...remote-0.1.patch => linux-3.1-rc10-053-ati_remote-0.1.patch} | 0 ...ux-3.1-rc10-053_ati-remote_all_keys_and_keychange-0.1.patch} | 0 ...voton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch} | 0 ...=> linux-3.1-rc10-058-add_rtl2832u_dvb-usb_driver-0.1.patch} | 0 ...10-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch} | 0 ...h => linux-3.1-rc10-060-fix_dib0700_buffer_access-0.1.patch} | 0 ... linux-3.1-rc10-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch} | 0 ...tch => linux-3.1-rc10-071-silence_i915_agp-module-0.1.patch} | 0 ...piness.patch => linux-3.1-rc10-716_mm-zero_swappiness.patch} | 0 18 files changed, 1 insertion(+), 1 deletion(-) rename packages/linux/patches/{linux-3.1-rc9-000_crosscompile.patch => linux-3.1-rc10-000_crosscompile.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-003-no_dev_console.patch => linux-3.1-rc10-003-no_dev_console.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-004_lower_undefined_mode_timeout.patch => linux-3.1-rc10-004_lower_undefined_mode_timeout.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-006_enable_utf8.patch => linux-3.1-rc10-006_enable_utf8.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-007_die_floppy_die.patch => linux-3.1-rc10-007_die_floppy_die.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-009_disable_i8042_check_on_apple_mac.patch => linux-3.1-rc10-009_disable_i8042_check_on_apple_mac.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-050_add_appleir_usb_driver.patch => linux-3.1-rc10-050_add_appleir_usb_driver.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-052-aureal_remote_quirk-0.1.patch => linux-3.1-rc10-052-aureal_remote_quirk-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-053-ati_remote-0.1.patch => linux-3.1-rc10-053-ati_remote-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-053_ati-remote_all_keys_and_keychange-0.1.patch => linux-3.1-rc10-053_ati-remote_all_keys_and_keychange-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch => linux-3.1-rc10-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-058-add_rtl2832u_dvb-usb_driver-0.1.patch => linux-3.1-rc10-058-add_rtl2832u_dvb-usb_driver-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch => linux-3.1-rc10-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-060-fix_dib0700_buffer_access-0.1.patch => linux-3.1-rc10-060-fix_dib0700_buffer_access-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch => linux-3.1-rc10-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-071-silence_i915_agp-module-0.1.patch => linux-3.1-rc10-071-silence_i915_agp-module-0.1.patch} (100%) rename packages/linux/patches/{linux-3.1-rc9-716_mm-zero_swappiness.patch => linux-3.1-rc10-716_mm-zero_swappiness.patch} (100%) diff --git a/packages/linux/meta b/packages/linux/meta index 73dbdaac36..59238d414b 100644 --- a/packages/linux/meta +++ b/packages/linux/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="linux" -PKG_VERSION="3.1-rc9" +PKG_VERSION="3.1-rc10" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/linux/patches/linux-3.1-rc9-000_crosscompile.patch b/packages/linux/patches/linux-3.1-rc10-000_crosscompile.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-000_crosscompile.patch rename to packages/linux/patches/linux-3.1-rc10-000_crosscompile.patch diff --git a/packages/linux/patches/linux-3.1-rc9-003-no_dev_console.patch b/packages/linux/patches/linux-3.1-rc10-003-no_dev_console.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-003-no_dev_console.patch rename to packages/linux/patches/linux-3.1-rc10-003-no_dev_console.patch diff --git a/packages/linux/patches/linux-3.1-rc9-004_lower_undefined_mode_timeout.patch b/packages/linux/patches/linux-3.1-rc10-004_lower_undefined_mode_timeout.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-004_lower_undefined_mode_timeout.patch rename to packages/linux/patches/linux-3.1-rc10-004_lower_undefined_mode_timeout.patch diff --git a/packages/linux/patches/linux-3.1-rc9-006_enable_utf8.patch b/packages/linux/patches/linux-3.1-rc10-006_enable_utf8.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-006_enable_utf8.patch rename to packages/linux/patches/linux-3.1-rc10-006_enable_utf8.patch diff --git a/packages/linux/patches/linux-3.1-rc9-007_die_floppy_die.patch b/packages/linux/patches/linux-3.1-rc10-007_die_floppy_die.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-007_die_floppy_die.patch rename to packages/linux/patches/linux-3.1-rc10-007_die_floppy_die.patch diff --git a/packages/linux/patches/linux-3.1-rc9-009_disable_i8042_check_on_apple_mac.patch b/packages/linux/patches/linux-3.1-rc10-009_disable_i8042_check_on_apple_mac.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-009_disable_i8042_check_on_apple_mac.patch rename to packages/linux/patches/linux-3.1-rc10-009_disable_i8042_check_on_apple_mac.patch diff --git a/packages/linux/patches/linux-3.1-rc9-050_add_appleir_usb_driver.patch b/packages/linux/patches/linux-3.1-rc10-050_add_appleir_usb_driver.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-050_add_appleir_usb_driver.patch rename to packages/linux/patches/linux-3.1-rc10-050_add_appleir_usb_driver.patch diff --git a/packages/linux/patches/linux-3.1-rc9-052-aureal_remote_quirk-0.1.patch b/packages/linux/patches/linux-3.1-rc10-052-aureal_remote_quirk-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-052-aureal_remote_quirk-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-052-aureal_remote_quirk-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-053-ati_remote-0.1.patch b/packages/linux/patches/linux-3.1-rc10-053-ati_remote-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-053-ati_remote-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-053-ati_remote-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-053_ati-remote_all_keys_and_keychange-0.1.patch b/packages/linux/patches/linux-3.1-rc10-053_ati-remote_all_keys_and_keychange-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-053_ati-remote_all_keys_and_keychange-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-053_ati-remote_all_keys_and_keychange-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch b/packages/linux/patches/linux-3.1-rc10-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch rename to packages/linux/patches/linux-3.1-rc10-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3f54c13.patch diff --git a/packages/linux/patches/linux-3.1-rc9-058-add_rtl2832u_dvb-usb_driver-0.1.patch b/packages/linux/patches/linux-3.1-rc10-058-add_rtl2832u_dvb-usb_driver-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-058-add_rtl2832u_dvb-usb_driver-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-058-add_rtl2832u_dvb-usb_driver-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch b/packages/linux/patches/linux-3.1-rc10-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-059-rtl2832u_change_value_of_USB_PID_GTEK_WARM-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-060-fix_dib0700_buffer_access-0.1.patch b/packages/linux/patches/linux-3.1-rc10-060-fix_dib0700_buffer_access-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-060-fix_dib0700_buffer_access-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-060-fix_dib0700_buffer_access-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch b/packages/linux/patches/linux-3.1-rc10-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-061-add_ITE-IT9135_dvb-usb_driver-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-071-silence_i915_agp-module-0.1.patch b/packages/linux/patches/linux-3.1-rc10-071-silence_i915_agp-module-0.1.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-071-silence_i915_agp-module-0.1.patch rename to packages/linux/patches/linux-3.1-rc10-071-silence_i915_agp-module-0.1.patch diff --git a/packages/linux/patches/linux-3.1-rc9-716_mm-zero_swappiness.patch b/packages/linux/patches/linux-3.1-rc10-716_mm-zero_swappiness.patch similarity index 100% rename from packages/linux/patches/linux-3.1-rc9-716_mm-zero_swappiness.patch rename to packages/linux/patches/linux-3.1-rc10-716_mm-zero_swappiness.patch From 4ecac724b3066265062afbdddfd444d6114b4363 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 18:21:13 +0200 Subject: [PATCH 26/40] hts-tvheadend: add patch to add another provider Signed-off-by: Stephan Raue --- ...090-add_CH-GA-Weissenstein_muxes-0.1.patch | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 packages/addons/service/multimedia/hts-tvheadend/patches/hts-tvheadend-c88a646-090-add_CH-GA-Weissenstein_muxes-0.1.patch diff --git a/packages/addons/service/multimedia/hts-tvheadend/patches/hts-tvheadend-c88a646-090-add_CH-GA-Weissenstein_muxes-0.1.patch b/packages/addons/service/multimedia/hts-tvheadend/patches/hts-tvheadend-c88a646-090-add_CH-GA-Weissenstein_muxes-0.1.patch new file mode 100644 index 0000000000..e8c6050515 --- /dev/null +++ b/packages/addons/service/multimedia/hts-tvheadend/patches/hts-tvheadend-c88a646-090-add_CH-GA-Weissenstein_muxes-0.1.patch @@ -0,0 +1,55 @@ +diff -Naur hts-tvheadend-c88a646/src/linuxtv_muxes.h hts-tvheadend-c88a646.patch/src/linuxtv_muxes.h +--- hts-tvheadend-c88a646/src/linuxtv_muxes.h 2011-09-26 20:18:12.000000000 +0200 ++++ hts-tvheadend-c88a646.patch/src/linuxtv_muxes.h 2011-10-18 13:40:37.768853992 +0200 +@@ -12001,6 +12001,39 @@ + { .freq = 573000000, .symrate = 5217000, .fec = 0, .constellation = 5}, + }; + ++static const struct mux muxes_DVBC_ch_GA_Weissenstein[] = { ++ { .freq = 450000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 506000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 514000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 522000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 530000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 538000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 554000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 562000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 570000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 578000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 586000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 594000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 602000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 610000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 618000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 626000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 634000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 642000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 650000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 658000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 666000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 674000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 682000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 690000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 698000000, .symrate = 6900000, .fec = 0, .constellation = 3}, ++ { .freq = 698000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 706000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 714000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 722000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++ { .freq = 730000000, .symrate = 6900000, .fec = 0, .constellation = 5}, ++}; ++ + static const struct mux muxes_DVBC_ch_Rega_Sense[] = { + { .freq = 434000000, .symrate = 6900000, .fec = 0, .constellation = 3}, + { .freq = 714000000, .symrate = 6900000, .fec = 0, .constellation = 3}, +@@ -12881,6 +12914,11 @@ + + static const struct network networks_DVBC_ch[] = { + { ++ .name = "GA-Weissenstein", ++ .muxes = muxes_DVBC_ch_GA_Weissenstein, ++ .nmuxes = sizeof(muxes_DVBC_ch_GA_Weissenstein) / sizeof(struct mux), ++ }, ++ { + .name = "Rega-Sense", + .muxes = muxes_DVBC_ch_Rega_Sense, + .nmuxes = sizeof(muxes_DVBC_ch_Rega_Sense) / sizeof(struct mux), From b5bf326e34e5d911903bb595babdd73b7a489bfa Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 20:48:52 +0200 Subject: [PATCH 27/40] xbmc: add support for fonts installed by user Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc/init.d/93_xbmc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/mediacenter/xbmc/init.d/93_xbmc b/packages/mediacenter/xbmc/init.d/93_xbmc index 66dcf2910d..c50c56068e 100644 --- a/packages/mediacenter/xbmc/init.d/93_xbmc +++ b/packages/mediacenter/xbmc/init.d/93_xbmc @@ -36,6 +36,16 @@ fi # hack: make addon-bins executable chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1 +# hack to support user installed fonts + SUBFONTS="/storage/.xbmc/userdata/fonts" + if [ -d "$SUBFONTS" ]; then + files=$(ls $SUBFONTS/*.[tT][tT][fF] 2>/dev/null | wc -l) + if [ "$files" = "0" ]; then + cp /usr/share/xbmc/media/Fonts/*.[tT][tT][fF] $SUBFONTS/ + fi + mount --bind $SUBFONTS /usr/share/xbmc/media/Fonts/ + fi + # starting autostart script (will be removed later again, dont use it!!!) AUTOSTART="/storage/.config/autostart.sh" if [ -f $AUTOSTART ]; then From e997d08fa2254489afd5cb44c5578c41eea6ac8b Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 18 Oct 2011 23:18:20 +0200 Subject: [PATCH 28/40] xbmc: reload skin earlyer and in background on wakeup Signed-off-by: Stephan Raue --- .../mediacenter/xbmc/sleep.d/{63_reload_skin => 99_reload_skin} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename packages/mediacenter/xbmc/sleep.d/{63_reload_skin => 99_reload_skin} (95%) diff --git a/packages/mediacenter/xbmc/sleep.d/63_reload_skin b/packages/mediacenter/xbmc/sleep.d/99_reload_skin similarity index 95% rename from packages/mediacenter/xbmc/sleep.d/63_reload_skin rename to packages/mediacenter/xbmc/sleep.d/99_reload_skin index c0c2068b28..fd0a13ed3c 100755 --- a/packages/mediacenter/xbmc/sleep.d/63_reload_skin +++ b/packages/mediacenter/xbmc/sleep.d/99_reload_skin @@ -24,7 +24,7 @@ case "$1" in thaw|resume) - xbmc-send --host=127.0.0.1 -a "ReloadSkin()" + xbmc-send --host=127.0.0.1 -a "ReloadSkin()" & ;; *) exit $NA ;; From 87509b77fba82669f9af4c00d936b6891f5a09aa Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 19 Oct 2011 08:24:34 +0200 Subject: [PATCH 29/40] busybox: provide unique and anonymous system id Signed-off-by: Stephan Raue --- .../sysutils/busybox/profile.d/systemid.conf | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 packages/sysutils/busybox/profile.d/systemid.conf diff --git a/packages/sysutils/busybox/profile.d/systemid.conf b/packages/sysutils/busybox/profile.d/systemid.conf new file mode 100644 index 0000000000..d358798797 --- /dev/null +++ b/packages/sysutils/busybox/profile.d/systemid.conf @@ -0,0 +1,38 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ +# Attempts to generate a unique system ID based on one local MAC address +# SystemID SHOULD be the same between upgrades/reinstalls +# MAC is hashed so that it cant be reversed making it anonymous +# Used to help with global usage statistics +################################################################################ + +SYSTEMID="00000000000000000000000000000000" + +if [ -e "/sys/class/net/eth0/address" ]; then + MAC_ADRESS=`cat /sys/class/net/eth0/address` +elif [ -e "/sys/class/net/wlan0/address" ]; then + MAC_ADRESS=`cat /sys/class/net/wlan0/address` +fi + +if [ -n "$MAC_ADRESS" ]; then + SYSTEMID=`/bin/echo $MAC_ADRESS | /usr/bin/md5sum | /usr/bin/cut -f1 -d" "` +fi + +export SYSTEMID From 29b3eadb3a10bb8332ee1ae8a38c1dac7a7e3c5e Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 19 Oct 2011 08:28:57 +0200 Subject: [PATCH 30/40] autoupdate: use our own useragent and system id for downloading updates Signed-off-by: Stephan Raue --- packages/tools/autoupdate/scripts/autoupdate.devel | 10 ++++++---- packages/tools/autoupdate/scripts/autoupdate.release | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/tools/autoupdate/scripts/autoupdate.devel b/packages/tools/autoupdate/scripts/autoupdate.devel index 4642419fa2..e6a67dd39c 100755 --- a/packages/tools/autoupdate/scripts/autoupdate.devel +++ b/packages/tools/autoupdate/scripts/autoupdate.devel @@ -43,7 +43,9 @@ fi download () { case "$DL_METHOD" in wget) - wget -c $1 -P $TMP_DIR > /dev/null 2>&1 + wget -U "$THIS_DISTRIBUTION ($THIS_ARCH): $THIS_VERSION" \ + -c ${1}?sysid=$SYSTEMID \ + -O $2 > /dev/null 2>&1 ;; scp) scp $SCP_ARG "$1" $TMP_DIR @@ -69,7 +71,7 @@ if [ ! -f /var/lock/update.lock ]; then # get infofile with the latest released version rm -rf $TMP_DIR/latest - download "$UPDATEURL/latest" + download "$UPDATEURL/latest" "$TMP_DIR/latest" NEW_IMAGE="`cat $TMP_DIR/latest |grep "$THIS_DISTRIBUTION-$THIS_ARCH"`" NEW_VERSION="`echo "$NEW_IMAGE" | cut -d "-" -f5 | tr -d "r"`" @@ -79,7 +81,7 @@ if [ ! -f /var/lock/update.lock ]; then # compare installed version with latest released version THIS_VERSION="`echo "$THIS_VERSION" | cut -d "-" -f3 | tr -d "r"`" - if [ -Z $NEW_VERSION ]; then + if [ -z $NEW_VERSION ]; then NEW_VERSION="$THIS_VERSION" fi @@ -100,7 +102,7 @@ if [ ! -f /var/lock/update.lock ]; then # downloading the new version rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2 - download "$UPDATEURL/$NEW_IMAGE.tar.bz2" + download "$UPDATEURL/$NEW_IMAGE.tar.bz2" "$TMP_DIR/$NEW_IMAGE.tar.bz2" # extract the image rm -rf $TMP_DIR/$NEW_IMAGE diff --git a/packages/tools/autoupdate/scripts/autoupdate.release b/packages/tools/autoupdate/scripts/autoupdate.release index 40744df76e..1011c63f9a 100755 --- a/packages/tools/autoupdate/scripts/autoupdate.release +++ b/packages/tools/autoupdate/scripts/autoupdate.release @@ -43,7 +43,9 @@ fi download () { case "$DL_METHOD" in wget) - wget -c $1 -P $TMP_DIR > /dev/null 2>&1 + wget -U "$THIS_DISTRIBUTION ($THIS_ARCH): $THIS_VERSION" \ + -c ${1}?sysid=$SYSTEMID \ + -O $2 > /dev/null 2>&1 ;; scp) scp $SCP_ARG "$1" $TMP_DIR @@ -72,7 +74,7 @@ if [ ! -f /var/lock/update.lock ]; then # get infofile with the latest released version rm -rf $TMP_DIR/latest - download "$UPDATEURL/latest" + download "$UPDATEURL/latest" "$TMP_DIR/latest" NEW_IMAGE="`cat $TMP_DIR/latest |grep "$THIS_DISTRIBUTION-$THIS_ARCH"`" NEW_VERSION="`echo "$NEW_IMAGE" | cut -d "-" -f3`" @@ -116,7 +118,7 @@ if [ ! -f /var/lock/update.lock ]; then # downloading the new version rm -rf $TMP_DIR/$NEW_IMAGE.tar.bz2 - download "$UPDATEURL/$NEW_IMAGE.tar.bz2" + download "$UPDATEURL/$NEW_IMAGE.tar.bz2" "$TMP_DIR/$NEW_IMAGE.tar.bz2" # extract the image rm -rf $TMP_DIR/$NEW_IMAGE From e093f2afeb5ab8ed59e469dbb6710906214da9c7 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 19 Oct 2011 08:40:44 +0200 Subject: [PATCH 31/40] dvb-firmware: update to dvb-firmware-0.0.14 Signed-off-by: Stephan Raue --- packages/linux-firmware/dvb-firmware/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/linux-firmware/dvb-firmware/meta b/packages/linux-firmware/dvb-firmware/meta index 462bac423b..bf5a1bfd18 100644 --- a/packages/linux-firmware/dvb-firmware/meta +++ b/packages/linux-firmware/dvb-firmware/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="dvb-firmware" -PKG_VERSION="0.0.13" +PKG_VERSION="0.0.14" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="Free-to-use" From 8e574ea1782fada33274535a477c3df20a347f0f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 20 Oct 2011 00:35:00 +0200 Subject: [PATCH 32/40] bluez: dont install actually not needed udev rules and helper scripts Signed-off-by: Stephan Raue --- packages/network/bluez/install | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/network/bluez/install b/packages/network/bluez/install index 121eb88ac7..40161de316 100755 --- a/packages/network/bluez/install +++ b/packages/network/bluez/install @@ -34,14 +34,14 @@ mkdir -p $INSTALL/etc/dbus-1/system.d cp $PKG_BUILD/src/bluetooth.conf $INSTALL/etc/dbus-1/system.d mkdir -p $INSTALL/lib/udev - cp $PKG_BUILD/scripts/bluetooth_serial $INSTALL/lib/udev - chmod +x $INSTALL/lib/udev/bluetooth_serial +# not needed: cp $PKG_BUILD/scripts/bluetooth_serial $INSTALL/lib/udev +# not needed: chmod +x $INSTALL/lib/udev/bluetooth_serial cp $PKG_BUILD/tools/hid2hci $INSTALL/lib/udev mkdir -p $INSTALL/lib/udev/rules.d cp $PKG_BUILD/scripts/97-bluetooth.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/scripts/97-bluetooth-hid2hci.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/scripts/97-bluetooth-serial.rules $INSTALL/lib/udev/rules.d +# todo: cp $PKG_BUILD/scripts/97-bluetooth-hid2hci.rules $INSTALL/lib/udev/rules.d +# not needed: cp $PKG_BUILD/scripts/97-bluetooth-serial.rules $INSTALL/lib/udev/rules.d mkdir -p $INSTALL/usr/lib cp $PKG_BUILD/lib/.libs/libbluetooth.so* $INSTALL/usr/lib From 813386c4cfd3cf9a8ffe08382f41ae38323b3935 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 20 Oct 2011 01:40:22 +0200 Subject: [PATCH 33/40] afpfs-ng: install symlinks instead full libs Signed-off-by: Stephan Raue --- packages/network/afpfs-ng/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/network/afpfs-ng/install b/packages/network/afpfs-ng/install index 55d15a74d9..04cc3e8b2d 100755 --- a/packages/network/afpfs-ng/install +++ b/packages/network/afpfs-ng/install @@ -23,7 +23,7 @@ . config/options $1 mkdir -p $INSTALL/usr/lib - cp $PKG_BUILD/lib/.libs/*.so* $INSTALL/usr/lib + cp -P $PKG_BUILD/lib/.libs/*.so* $INSTALL/usr/lib mkdir -p $INSTALL/usr/bin cp $PKG_BUILD/fuse/afpfs $INSTALL/usr/bin From cc2ff46ee08800732a5f0f81405bc456d7dacfe0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 20 Oct 2011 01:40:34 +0200 Subject: [PATCH 34/40] bluez: install symlinks instead full libs Signed-off-by: Stephan Raue --- packages/network/bluez/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/network/bluez/install b/packages/network/bluez/install index 40161de316..a63afb0b5c 100755 --- a/packages/network/bluez/install +++ b/packages/network/bluez/install @@ -44,7 +44,7 @@ mkdir -p $INSTALL/lib/udev/rules.d # not needed: cp $PKG_BUILD/scripts/97-bluetooth-serial.rules $INSTALL/lib/udev/rules.d mkdir -p $INSTALL/usr/lib - cp $PKG_BUILD/lib/.libs/libbluetooth.so* $INSTALL/usr/lib + cp -P $PKG_BUILD/lib/.libs/libbluetooth.so* $INSTALL/usr/lib mkdir -p $INSTALL/usr/lib/alsa cp $PKG_BUILD/audio/.libs/*.so $INSTALL/usr/lib/alsa From 04e0a7c292a4ad78259e923144183055b82d5c69 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 20 Oct 2011 01:40:59 +0200 Subject: [PATCH 35/40] dbus-python: dont create and install bytecode Signed-off-by: Stephan Raue --- packages/python/system/dbus-python/build | 2 -- packages/python/system/dbus-python/install | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/python/system/dbus-python/build b/packages/python/system/dbus-python/build index ba4cc262d5..d12d63cf09 100755 --- a/packages/python/system/dbus-python/build +++ b/packages/python/system/dbus-python/build @@ -35,5 +35,3 @@ cd $PKG_BUILD make $MAKEINSTALL - -python -Wi -t $PYTHON_LIBDIR/compileall.py . diff --git a/packages/python/system/dbus-python/install b/packages/python/system/dbus-python/install index c1b34eff67..ea1bbf248a 100755 --- a/packages/python/system/dbus-python/install +++ b/packages/python/system/dbus-python/install @@ -27,10 +27,10 @@ PYTHON_LIB_DIR=`ls -d $INSTALL/usr/lib/python*` mkdir -p $PYTHON_LIB_DIR/site-packages cp -P $PKG_BUILD/_dbus_bindings/.libs/*.so $PYTHON_LIB_DIR/site-packages cp -P $PKG_BUILD/_dbus_glib_bindings/.libs/*.so $PYTHON_LIB_DIR/site-packages - cp $PKG_BUILD/*.pyc $PYTHON_LIB_DIR/site-packages + cp $PKG_BUILD/*.py $PYTHON_LIB_DIR/site-packages mkdir -p $PYTHON_LIB_DIR/site-packages/dbus - cp $PKG_BUILD/dbus/*.pyc $PYTHON_LIB_DIR/site-packages/dbus + cp $PKG_BUILD/dbus/*.py $PYTHON_LIB_DIR/site-packages/dbus mkdir -p $PYTHON_LIB_DIR/site-packages/dbus/mainloop - cp $PKG_BUILD/dbus/mainloop/*.pyc $PYTHON_LIB_DIR/site-packages/dbus/mainloop + cp $PKG_BUILD/dbus/mainloop/*.py $PYTHON_LIB_DIR/site-packages/dbus/mainloop From 553f77fcd077792605656129dda6b09c1b0fb925 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 20 Oct 2011 01:46:58 +0200 Subject: [PATCH 36/40] pygobject: dont create and install bytecode Signed-off-by: Stephan Raue --- packages/python/devel/pygobject/build | 2 -- packages/python/devel/pygobject/install | 5 ----- 2 files changed, 7 deletions(-) diff --git a/packages/python/devel/pygobject/build b/packages/python/devel/pygobject/build index 821982ea90..29a4e3e852 100755 --- a/packages/python/devel/pygobject/build +++ b/packages/python/devel/pygobject/build @@ -37,5 +37,3 @@ cd $PKG_BUILD make $MAKEINSTALL - -python -Wi -t $PYTHON_LIBDIR/compileall.py . diff --git a/packages/python/devel/pygobject/install b/packages/python/devel/pygobject/install index 767be3121a..fd8f73325f 100755 --- a/packages/python/devel/pygobject/install +++ b/packages/python/devel/pygobject/install @@ -29,25 +29,20 @@ mkdir -p $INSTALL/usr/lib mkdir -p $PYTHON_LIB_DIR/site-packages cp $PKG_BUILD/pygtk.py $PYTHON_LIB_DIR/site-packages - cp $PKG_BUILD/pygtk.pyc $PYTHON_LIB_DIR/site-packages echo "gtk-2.0" > $PYTHON_LIB_DIR/site-packages/pygtk.pth mkdir -p $PYTHON_LIB_DIR/site-packages/gtk-2.0 cp $PKG_BUILD/dsextras.py $PYTHON_LIB_DIR/site-packages/gtk-2.0 - cp $PKG_BUILD/dsextras.pyc $PYTHON_LIB_DIR/site-packages/gtk-2.0 mkdir -p $PYTHON_LIB_DIR/site-packages/gtk-2.0/gobject cp $PKG_BUILD/gobject/.libs/*.so $PYTHON_LIB_DIR/site-packages/gtk-2.0/gobject cp $PKG_BUILD/gobject/*.py $PYTHON_LIB_DIR/site-packages/gtk-2.0/gobject - cp $PKG_BUILD/gobject/*.pyc $PYTHON_LIB_DIR/site-packages/gtk-2.0/gobject mkdir -p $PYTHON_LIB_DIR/site-packages/gtk-2.0/glib cp $PKG_BUILD/glib/.libs/_glib.so $PYTHON_LIB_DIR/site-packages/gtk-2.0/glib cp $PKG_BUILD/glib/*.py $PYTHON_LIB_DIR/site-packages/gtk-2.0/glib - cp $PKG_BUILD/glib/*.pyc $PYTHON_LIB_DIR/site-packages/gtk-2.0/glib mkdir -p $PYTHON_LIB_DIR/site-packages/gtk-2.0/gio cp $PKG_BUILD/gio/.libs/_gio.so $PYTHON_LIB_DIR/site-packages/gtk-2.0/gio cp $PKG_BUILD/gio/.libs/unix.so $PYTHON_LIB_DIR/site-packages/gtk-2.0/gio cp $PKG_BUILD/gio/*.py $PYTHON_LIB_DIR/site-packages/gtk-2.0/gio - cp $PKG_BUILD/gio/*.pyc $PYTHON_LIB_DIR/site-packages/gtk-2.0/gio From cbbca9e685b4a949b4801ec5740b5351c88aef09 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 20 Oct 2011 04:43:58 +0200 Subject: [PATCH 37/40] VERSION: set version to 1.0.0 (Final 1.0), update changelog Signed-off-by: Stephan Raue --- CHANGELOG | 3 +++ VERSION | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index e69de29bb2..a3b615ac4d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -0,0 +1,3 @@ +OpenELEC - 1.0.0 (20.10.2011) +- initial version + diff --git a/VERSION b/VERSION index 03552ce4ff..3eefcb9dd5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.99.7 +1.0.0 From d94f1963d5c540c9cb36dec73578826831a14283 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 21 Oct 2011 08:33:56 +0200 Subject: [PATCH 38/40] wpa_supplicant: remove patch to run in debugmode Signed-off-by: Stephan Raue --- ...upplicant-0.7.3-01-enable_logging-0.1.patch | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 packages/network/wpa_supplicant/patches/wpa_supplicant-0.7.3-01-enable_logging-0.1.patch diff --git a/packages/network/wpa_supplicant/patches/wpa_supplicant-0.7.3-01-enable_logging-0.1.patch b/packages/network/wpa_supplicant/patches/wpa_supplicant-0.7.3-01-enable_logging-0.1.patch deleted file mode 100644 index 9ec07248b0..0000000000 --- a/packages/network/wpa_supplicant/patches/wpa_supplicant-0.7.3-01-enable_logging-0.1.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -Naur wpa_supplicant-0.7.3/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service wpa_supplicant-0.7.3.patch/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service ---- wpa_supplicant-0.7.3/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service 2010-09-07 17:43:39.000000000 +0200 -+++ wpa_supplicant-0.7.3.patch/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service 2011-04-08 19:04:10.740611827 +0200 -@@ -1,4 +1,4 @@ - [D-BUS Service] - Name=fi.epitest.hostap.WPASupplicant --Exec=/sbin/wpa_supplicant -u -+Exec=/sbin/wpa_supplicant -u -dd -t -f /var/log/wpa_supplicant.log - User=root -diff -Naur wpa_supplicant-0.7.3/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service wpa_supplicant-0.7.3.patch/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service ---- wpa_supplicant-0.7.3/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service 2010-09-07 17:43:39.000000000 +0200 -+++ wpa_supplicant-0.7.3.patch/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service 2011-04-08 19:04:18.365451110 +0200 -@@ -1,4 +1,4 @@ - [D-BUS Service] - Name=fi.w1.wpa_supplicant1 --Exec=/sbin/wpa_supplicant -u -+Exec=/sbin/wpa_supplicant -u -dd -t -f /var/log/wpa_supplicant.log - User=root From 030da6d655ab3d6d3ba96bc9cb28595e4f69965f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 21 Oct 2011 08:47:11 +0200 Subject: [PATCH 39/40] dvb-firmware: update to dvb-firmware-0.0.15 Signed-off-by: Stephan Raue --- packages/linux-firmware/dvb-firmware/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/linux-firmware/dvb-firmware/meta b/packages/linux-firmware/dvb-firmware/meta index bf5a1bfd18..36cbafba0b 100644 --- a/packages/linux-firmware/dvb-firmware/meta +++ b/packages/linux-firmware/dvb-firmware/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="dvb-firmware" -PKG_VERSION="0.0.14" +PKG_VERSION="0.0.15" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="Free-to-use" From a0f7d03281f0a9ef1a8608c1638fe2f4352295c8 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 21 Oct 2011 23:15:45 +0200 Subject: [PATCH 40/40] VERSION: set version to 1.0.1 (Final 1.0), update changelog Signed-off-by: Stephan Raue --- CHANGELOG | 4 ++++ VERSION | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index a3b615ac4d..af11166dcb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +OpenELEC - 1.0.1 (21.10.2011) +- dont start wpa_supplicant in debugmode, this fixes non working wlan connections +- update DVB firmwares + OpenELEC - 1.0.0 (20.10.2011) - initial version diff --git a/VERSION b/VERSION index 3eefcb9dd5..7dea76edb3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0 +1.0.1