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

Reply via email to