Just tried this tree. First to compile I had to use attached patch. I double checked that I use nouveau tree with nothing on top of it. tree pulled today from git://anongit.freedesktop.org/nouveau/linux-2.6, branch master.
re-clocking obliviously stopped working and gave me a kernel panic. 3D appears to work, but I didn't test deeply. First suspend worked, 2nd suspend caused almost same PFIFO context unload timeout: nouveau [ DRM][0000:01:00.0] suspending fbcon... nouveau [ DRM][0000:01:00.0] suspending display... sd 0:0:0:0: [sda] Stopping diskSUBSYSTEM=scsi DEVICE=+scsi:0:0:0:0 nouveau [ DRM][0000:01:00.0] unpinning framebuffer(s)... nouveau [ DRM][0000:01:00.0] evicting buffers... nouveau [ DRM][0000:01:00.0] suspending client object trees... fnouveau E[ PFIFO][0000:01:00.0] channel 4 unload timeout fnouveau E[ PFIFO][0000:01:00.0][0xc000826f][ffff880036e47000] failed to detach PGRAPH context, -16 fnouveau E[ PGRAPH][0000:01:00.0][0x03005014][ffff88007ade4000] failed suspend, -16 nouveau W[ PGRAPH][0000:01:00.0][0x02005039][ffff88003684e100] parent failed suspend, -16 fnouveau E[ 2955] 0xcccc0000:0xbeef5039 suspend failed with -16 fnouveau E[ 2955] 0xdddddddd:0xcccc0000 suspend failed with -16 fnouveau E[ 2955] 0xffffffff:0xdddddddd suspend failed with -16 fnouveau E[ 2955] 0xffffffff:0xffffffff suspend failed with -16 nouveau [ DRM][0000:01:00.0] resuming display... Thanks for the huge work on this! Best regards, Maxim Levitsky
commit ba9f878c75ba412a1f3e1db50569ae3e16b65ec9 Author: Maxim Levitsky <[email protected]> Date: Sun Aug 12 17:53:25 2012 +0300 diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index ef96bdb..ed16b6e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -41,6 +41,8 @@ #include "nouveau_ttm.h" #include "nouveau_gem.h" +#include <drm/ttm/ttm_bo_driver.h> + /* * NV10-NV40 tiling helpers */ @@ -459,10 +461,12 @@ nouveau_ttm_tt_create(struct ttm_bo_device *bdev, unsigned long size, struct nouveau_drm *drm = nouveau_bdev(bdev); struct drm_device *dev = drm->dev; +#if (defined(CONFIG_AGP) || (defined(CONFIG_AGP_MODULE) && defined(MODULE))) if (drm->agp.stat == ENABLED) { return ttm_agp_tt_create(bdev, dev->agp->bridge, size, page_flags, dummy_read); } +#endif return nouveau_sgdma_create_ttm(bdev, size, page_flags, dummy_read); } diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.h b/drivers/gpu/drm/nouveau/nouveau_drm.h index 5693518..2b5c962 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.h +++ b/drivers/gpu/drm/nouveau/nouveau_drm.h @@ -25,6 +25,8 @@ #include "ttm/ttm_module.h" #include "ttm/ttm_page_alloc.h" +#include <drm/nouveau_drm.h> + struct nouveau_channel; #define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT) diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c index 4bddb9e..9e1de65 100644 --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c @@ -31,7 +31,6 @@ #include "nouveau_drm.h" #include "nouveau_ttm.h" #include "nouveau_gem.h" - static int nouveau_vram_manager_init(struct ttm_mem_type_manager *man, unsigned long psize) {
_______________________________________________ Nouveau mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/nouveau
