Comment 52 for bug 1158689

Revision history for this message
In , Awl1 (awl1) wrote :

Bad news once again...

I applied the following single-line patch to a stock 3.12.4 kernel in order to switch to the NV50 fence:

diff -Nrpu linux-3.12.4.orig/drivers/gpu/drm/nouveau/nouveau_drm.c linux-3.12.4/drivers/gpu/drm/nouveau/nouveau_drm.c
--- linux-3.12.4.orig/drivers/gpu/drm/nouveau/nouveau_drm.c 2013-12-08 17:18:58.000000000 +0100
+++ linux-3.12.4/drivers/gpu/drm/nouveau/nouveau_drm.c 2013-12-15 16:37:25.000000000 +0100
@@ -180,7 +180,7 @@ nouveau_accel_init(struct nouveau_drm *d
  else if (device->chipset < 0x17) ret = nv10_fence_create(drm);
  else if (device->card_type < NV_50) ret = nv17_fence_create(drm);
  else if (device->chipset < 0x84) ret = nv50_fence_create(drm);
- else if (device->card_type < NV_C0) ret = nv84_fence_create(drm);
+ else if (device->card_type < NV_C0) ret = nv50_fence_create(drm);
  else ret = nvc0_fence_create(drm);
  if (ret) {
   NV_ERROR(drm, "failed to initialise sync subsystem, %d\n", ret);

but the result is that after the GUI login screen (gdm) which works fine, I get a complete hang when GNOME starts up using compiz (cannot even switch to a text vt any more) and lots of the following output:

Dec 15 23:23:05 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 0 mthd 0x0018 data 0x00000002
Dec 15 23:23:05 aloew-lap kernel: nouveau E[ PFB][0000:01:00.0] trapped write at 0x0000000114 on channel 0x0000f949 [unknown] PFIFO/PFIFO_READ/SEMAPHORE reason: PT_NOT_PRESENT
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x6f000000
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFB][0000:01:00.0] trapped write at 0x0000000114 on channel 0x0000f949 [unknown] PFIFO/PFIFO_READ/SEMAPHORE reason: PT_NOT_PRESENT
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x72000000
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x76000000
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x74000000
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x6f000000
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x60000000
Dec 15 23:23:06 aloew-lap kernel: nouveau E[ PFIFO][0000:01:00.0] CACHE_ERROR - ch 4 [compiz[4637]] subc 2 mthd 0x0860 data 0x41000000
(...)

(see the attached bz2 for the full log).

So does this mean that your proposal of switching to the nv50_fence won't work for me?

In the meantime, I will continue and try kernel builds based on commits "5e120f6e4b3f35b741c5445dfc755f50128c3c44^" and "5e120f6e4b3f35b741c5445dfc755f50128c3c44" tomorrow...

Thanks & BR,
Andreas