All of lore.kernel.org
 help / color / mirror / Atom feed
* Fix for vblank on nvc0
@ 2012-11-06 14:48 Kelly Doran
  2012-11-06 18:30 ` Maarten Lankhorst
  0 siblings, 1 reply; 12+ messages in thread
From: Kelly Doran @ 2012-11-06 14:48 UTC (permalink / raw)
  To: nouveau, dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 206 bytes --]

The vblank on nvc0 was not working correctly and would freeze X, I managed
to track it down and fix it with some help from m.b.lankhorst, see
https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.

[-- Attachment #1.2: Type: text/html, Size: 272 bytes --]

[-- Attachment #2: nvc0_vblank_fix.patch --]
[-- Type: application/octet-stream, Size: 1648 bytes --]

diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
index 16a9afb..4c971b8 100644
--- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
@@ -22,6 +22,8 @@
  * Authors: Ben Skeggs
  */
 
+#include <subdev/bar.h>
+
 #include <engine/software.h>
 #include <engine/disp.h>
 
@@ -37,6 +39,7 @@ nv50_disp_sclass[] = {
 static void
 nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 {
+	struct nouveau_bar *bar = nouveau_bar(priv);
 	struct nouveau_disp *disp = &priv->base;
 	struct nouveau_software_chan *chan, *temp;
 	unsigned long flags;
@@ -46,18 +49,19 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 		if (chan->vblank.crtc != crtc)
 			continue;
 
-		nv_wr32(priv, 0x001704, chan->vblank.channel);
-		nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
-
 		if (nv_device(priv)->chipset == 0x50) {
+			nv_wr32(priv, 0x001704, chan->vblank.channel);
+			nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
+			bar->flush(bar);
 			nv_wr32(priv, 0x001570, chan->vblank.offset);
 			nv_wr32(priv, 0x001574, chan->vblank.value);
 		} else {
-			if (nv_device(priv)->chipset >= 0xc0) {
-				nv_wr32(priv, 0x06000c,
-					upper_32_bits(chan->vblank.offset));
-			}
-			nv_wr32(priv, 0x060010, chan->vblank.offset);
+			nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel);
+			bar->flush(bar);
+			nv_wr32(priv, 0x06000c,
+				upper_32_bits(chan->vblank.offset));
+			nv_wr32(priv, 0x060010, 
+				lower_32_bits(chan->vblank.offset));
 			nv_wr32(priv, 0x060014, chan->vblank.value);
 		}
 

[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
  2012-11-06 14:48 Fix for vblank on nvc0 Kelly Doran
@ 2012-11-06 18:30 ` Maarten Lankhorst
  2012-11-11 18:26   ` Marcin Slusarz
  0 siblings, 1 reply; 12+ messages in thread
From: Maarten Lankhorst @ 2012-11-06 18:30 UTC (permalink / raw)
  To: Kelly Doran; +Cc: nouveau, dri-devel



Op 06-11-12 15:48, Kelly Doran schreef:
> The vblank on nvc0 was not working correctly and would freeze X, I managed
> to track it down and fix it with some help from m.b.lankhorst, see
> https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>

I recommended the bar flush since nvd0 does as well, and there might be a small race
otherwise.

Can this still get in before final 3.7 release?

~Maarten

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
  2012-11-06 18:30 ` Maarten Lankhorst
@ 2012-11-11 18:26   ` Marcin Slusarz
  2012-11-11 18:35     ` Marcin Slusarz
  0 siblings, 1 reply; 12+ messages in thread
From: Marcin Slusarz @ 2012-11-11 18:26 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: Kelly Doran, nouveau, Ben Skeggs, dri-devel

On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
> 
> 
> Op 06-11-12 15:48, Kelly Doran schreef:
> > The vblank on nvc0 was not working correctly and would freeze X, I managed
> > to track it down and fix it with some help from m.b.lankhorst, see
> > https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
> >
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> 
> I recommended the bar flush since nvd0 does as well, and there might be a small race
> otherwise.
> 
> Can this still get in before final 3.7 release?

This patch breaks vblank here (nv92) completely.

[ 6879.200427] Console: switching to colour VGA+ 80x25
[ 6879.202884] drm: unregistered panic notifier
[ 6879.334278] [TTM] Finalizing pool allocator
[ 6879.334518] [TTM] Finalizing DMA pool allocator
[ 6879.334765] [TTM] Zone  kernel: Used memory at exit: 0 kiB
[ 6879.335004] [TTM] Zone   dma32: Used memory at exit: 0 kiB
[ 6879.340472] [drm] Module unloaded
[ 6879.397744] [drm] Initialized drm 1.1.0 20060810
[ 6879.408149] nouveau  [  DEVICE][0000:02:00.0] BOOT0  : 0x092a00a2
[ 6879.408401] nouveau  [  DEVICE][0000:02:00.0] Chipset: G92 (NV92)
[ 6879.408641] nouveau  [  DEVICE][0000:02:00.0] Family : NV50
[ 6879.409752] nouveau  [   VBIOS][0000:02:00.0] checking PRAMIN for image...
[ 6879.409997] nouveau  [   VBIOS][0000:02:00.0] ... signature not found
[ 6879.410236] nouveau  [   VBIOS][0000:02:00.0] checking PROM for image...
[ 6879.549018] nouveau  [   VBIOS][0000:02:00.0] ... appears to be valid
[ 6879.549259] nouveau  [   VBIOS][0000:02:00.0] using image from PROM
[ 6879.549640] nouveau  [   VBIOS][0000:02:00.0] BIT signature found
[ 6879.549879] nouveau  [   VBIOS][0000:02:00.0] version 62.92.63.00
[ 6879.570275] nouveau  [     MXM][0000:02:00.0] no VBIOS data, nothing to do
[ 6879.572488] nouveau  [     PFB][0000:02:00.0] RAM type: GDDR3
[ 6879.572726] nouveau  [     PFB][0000:02:00.0] RAM size: 512 MiB
[ 6879.572964] nouveau  [     PFB][0000:02:00.0]    ZCOMP: 4032 tags
[ 6879.597652] [TTM] Zone  kernel: Available graphics memory: 3047140 kiB
[ 6879.597892] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[ 6879.598130] [TTM] Initializing pool allocator
[ 6879.598367] [TTM] Initializing DMA pool allocator
[ 6879.602860] nouveau  [     DRM] VRAM: 512 MiB
[ 6879.603102] nouveau  [     DRM] GART: 512 MiB
[ 6879.603339] nouveau  [     DRM] BIT BIOS found
[ 6879.603575] nouveau  [     DRM] Bios version 62.92.63.00
[ 6879.603813] nouveau  [     DRM] TMDS table version 2.0
[ 6879.604050] nouveau  [     DRM] DCB version 4.0
[ 6879.604287] nouveau  [     DRM] DCB outp 00: 02000300 00000028
[ 6879.604524] nouveau  [     DRM] DCB outp 01: 01000302 00020030
[ 6879.604763] nouveau  [     DRM] DCB outp 02: 04011310 00000028
[ 6879.605000] nouveau  [     DRM] DCB outp 03: 02011312 00020030
[ 6879.605238] nouveau  [     DRM] DCB conn 00: 00001030
[ 6879.605516] nouveau  [     DRM] DCB conn 01: 00002130
[ 6879.648012] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 6879.648257] [drm] No driver support for vblank timestamp query.
[ 6879.648708] nouveau  [     DRM] 1 available performance level(s)
[ 6879.648953] nouveau  [     DRM] 3: core 650MHz shader 1625MHz memory 1000MHz voltage 1050mV fanspeed 100%
[ 6879.649391] nouveau  [     DRM] c: core 399MHz shader 810MHz memory 399MHz voltage 1050mV fanspeed 34%
[ 6879.693947] nouveau  [     DRM] MM: using CRYPT for buffer copies
[ 6879.791680] nouveau  [     DRM] allocated 1920x1080 fb: 0x70000, bo ffff880018f20800
[ 6879.792175] fbcon: nouveaufb (fb0) is primary device
[ 6879.850216] Console: switching to colour frame buffer device 240x67
[ 6879.897075] fb0: nouveaufb frame buffer device
[ 6879.897075] drm: registered panic notifier
[ 6879.897078] [drm] Initialized nouveau 1.1.0 20120801 for 0000:02:00.0 on minor 0
I'm starting glxgears here
xorg hangs, with occasional mouse movement
[ 6907.054696] nouveau  [   PFIFO][0000:02:00.0] unknown intr 0x00000040, ch 2
pkill glxgears from fbcon
[ 6963.987969] nouveau E[   15318] failed to idle channel 0xcccc0000
xorg still hangs
[ 7034.713069] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020060000
[ 7034.713167] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
[ 7034.713286] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.713353] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x060c data 0x0000000b
[ 7034.713454] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason: NULL_DMAOBJ
[ 7034.713624] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - Unknown fault at address 0020060000
[ 7034.713713] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
[ 7034.713834] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - Unknown fault at address 0020060000
[ 7034.713921] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
[ 7034.714043] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - Unknown fault at address 0020060000
[ 7034.714141] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
[ 7034.714259] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.714325] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
[ 7034.714425] nouveau E[     PFB][0000:02:00.0] trapped read at 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT
[ 7034.714594] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
[ 7034.714650] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x74087b05
[ 7034.714711] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200601
[ 7034.714772] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x40000432
[ 7034.714832] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x06000000
[ 7034.714893] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
[ 7034.714971] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
[ 7034.715026] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409904: 0x74087b05
[ 7034.715086] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409908: 0x00200601
[ 7034.715146] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040990c: 0x40000432
[ 7034.715207] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409910: 0x06000000
[ 7034.715266] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1: Unhandled ustatus 0x00000003
[ 7034.715345] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
[ 7034.715399] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a904: 0x74087b0a
[ 7034.715460] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a908: 0x00200601
[ 7034.715520] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a90c: 0x40000432
[ 7034.715581] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a910: 0x06000000
[ 7034.715641] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2: Unhandled ustatus 0x00000003
[ 7034.715720] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
[ 7034.715774] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b904: 0x74087e05
[ 7034.715836] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b908: 0x00200602
[ 7034.715896] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b90c: 0x40000432
[ 7034.715956] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b910: 0x06000000
[ 7034.716017] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3: Unhandled ustatus 0x00000003
[ 7034.716098] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.716163] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
[ 7034.716262] nouveau E[     PFB][0000:02:00.0] trapped read at 0x0020158000 on channel 0x0001faf9 PGRAPH/DISPATCH/M2M_IN reason: PAGE_NOT_PRESENT
[ 7034.716422] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
[ 7034.716497] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151 20156f00 00000000 04000432
[ 7034.716572] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.716638] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
[ 7034.716736] nouveau E[     PFB][0000:02:00.0] trapped read at 0x00200fc000 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT
[ 7034.716901] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
[ 7034.716956] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x20087a01
[ 7034.717017] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200fc0
[ 7034.717077] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x80000432
[ 7034.717138] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x0fc00000
[ 7034.717198] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
[ 7034.717291] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020104000
[ 7034.717377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 000000c0, e20: 00000011, e24: 0c030000
[ 7034.717495] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.717560] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x08dc data 0x00000000
[ 7034.717659] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason: PAGE_NOT_PRESENT
[ 7034.717828] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020060000
[ 7034.717916] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
[ 7034.718034] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.718099] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x060c data 0x0000000b
[ 7034.718197] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/RT0 reason: PAGE_NOT_PRESENT
[ 7034.718366] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - Unknown fault at address 0020060000
[ 7034.718454] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
[ 7034.718574] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - Unknown fault at address 0020060000
[ 7034.718660] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
[ 7034.718780] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - Unknown fault at address 0020060000
[ 7034.722082] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
[ 7034.725066] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.725069] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
[ 7034.725104] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
[ 7034.725106] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x74084105
[ 7034.725108] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200601
[ 7034.725109] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x40000432
[ 7034.725111] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x06000000
[ 7034.725113] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
[ 7034.725115] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
[ 7034.725116] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409904: 0x74087605
[ 7034.725118] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409908: 0x00200601
[ 7034.725120] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040990c: 0x40000432
[ 7034.725122] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409910: 0x06000000
[ 7034.725124] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1: Unhandled ustatus 0x00000003
[ 7034.725125] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
[ 7034.725127] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a904: 0x7408740a
[ 7034.725129] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a908: 0x00200601
[ 7034.725131] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a90c: 0x40000432
[ 7034.725132] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a910: 0x06000000
[ 7034.725134] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2: Unhandled ustatus 0x00000003
[ 7034.725136] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
[ 7034.725138] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b904: 0x74087b05
[ 7034.725140] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b908: 0x00200600
[ 7034.725142] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b90c: 0x40000432
[ 7034.725144] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b910: 0x06000000
[ 7034.725145] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3: Unhandled ustatus 0x00000003
[ 7034.725151] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.725153] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
[ 7034.725167] nouveau E[     PFB][0000:02:00.0] trapped read at 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT
[ 7034.725177] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
[ 7034.725182] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151 20103240 00000000 04000432
[ 7034.725184] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.725186] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
[ 7034.726101] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
[ 7034.726103] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x20087f01
[ 7034.726105] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200fc0
[ 7034.726107] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x80000432
[ 7034.726110] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x0fc00000
[ 7034.726111] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
[ 7034.726130] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020159000
[ 7034.726132] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000011, e24: 0c030000
[ 7034.726140] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7034.726142] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x08dc data 0x00000000
[ 7034.726153] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0020159000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason: PAGE_NOT_PRESENT
[ 7037.703052] nouveau E[   15220] failed to idle channel 0xcccc0000
xorg crashes

another try:
glxgears
xorg hangs
[ 7220.463528] nouveau  [   PFIFO][0000:02:00.0] unknown intr 0x00000040, ch 2
pkill glxgears from fbcon
[ 7286.269036] nouveau E[   15542] failed to idle channel 0xcccc0000
xorg still hangs
[ 7358.490445] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
[ 7358.492458] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151 200e5f00 00000000 04000432
[ 7358.494351] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7358.496265] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
[ 7358.498229] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason: NULL_DMAOBJ
[ 7358.500320] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
[ 7358.502377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241 203b0900 00000000 05000432
[ 7358.504449] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[ 7358.505976] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
[ 7361.483615] nouveau E[   15431] failed to idle channel 0xcccc0000
xorg crashes

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
  2012-11-11 18:26   ` Marcin Slusarz
@ 2012-11-11 18:35     ` Marcin Slusarz
       [not found]       ` <20121111183519.GA2959-OI9uyE9O0yo@public.gmane.org>
  2012-11-11 20:25       ` Maarten Lankhorst
  0 siblings, 2 replies; 12+ messages in thread
From: Marcin Slusarz @ 2012-11-11 18:35 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: Kelly Doran, nouveau, Ben Skeggs, dri-devel

On Sun, Nov 11, 2012 at 07:26:17PM +0100, Marcin Slusarz wrote:
> On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
> > 
> > 
> > Op 06-11-12 15:48, Kelly Doran schreef:
> > > The vblank on nvc0 was not working correctly and would freeze X, I managed
> > > to track it down and fix it with some help from m.b.lankhorst, see
> > > https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
> > >
> > Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
> > 
> > I recommended the bar flush since nvd0 does as well, and there might be a small race
> > otherwise.
> > 
> > Can this still get in before final 3.7 release?
> 
> This patch breaks vblank here (nv92) completely.
> 
> [ 6879.200427] Console: switching to colour VGA+ 80x25
> [ 6879.202884] drm: unregistered panic notifier
> [ 6879.334278] [TTM] Finalizing pool allocator
> [ 6879.334518] [TTM] Finalizing DMA pool allocator
> [ 6879.334765] [TTM] Zone  kernel: Used memory at exit: 0 kiB
> [ 6879.335004] [TTM] Zone   dma32: Used memory at exit: 0 kiB
> [ 6879.340472] [drm] Module unloaded
> [ 6879.397744] [drm] Initialized drm 1.1.0 20060810
> [ 6879.408149] nouveau  [  DEVICE][0000:02:00.0] BOOT0  : 0x092a00a2
> [ 6879.408401] nouveau  [  DEVICE][0000:02:00.0] Chipset: G92 (NV92)
> [ 6879.408641] nouveau  [  DEVICE][0000:02:00.0] Family : NV50
> [ 6879.409752] nouveau  [   VBIOS][0000:02:00.0] checking PRAMIN for image...
> [ 6879.409997] nouveau  [   VBIOS][0000:02:00.0] ... signature not found
> [ 6879.410236] nouveau  [   VBIOS][0000:02:00.0] checking PROM for image...
> [ 6879.549018] nouveau  [   VBIOS][0000:02:00.0] ... appears to be valid
> [ 6879.549259] nouveau  [   VBIOS][0000:02:00.0] using image from PROM
> [ 6879.549640] nouveau  [   VBIOS][0000:02:00.0] BIT signature found
> [ 6879.549879] nouveau  [   VBIOS][0000:02:00.0] version 62.92.63.00
> [ 6879.570275] nouveau  [     MXM][0000:02:00.0] no VBIOS data, nothing to do
> [ 6879.572488] nouveau  [     PFB][0000:02:00.0] RAM type: GDDR3
> [ 6879.572726] nouveau  [     PFB][0000:02:00.0] RAM size: 512 MiB
> [ 6879.572964] nouveau  [     PFB][0000:02:00.0]    ZCOMP: 4032 tags
> [ 6879.597652] [TTM] Zone  kernel: Available graphics memory: 3047140 kiB
> [ 6879.597892] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
> [ 6879.598130] [TTM] Initializing pool allocator
> [ 6879.598367] [TTM] Initializing DMA pool allocator
> [ 6879.602860] nouveau  [     DRM] VRAM: 512 MiB
> [ 6879.603102] nouveau  [     DRM] GART: 512 MiB
> [ 6879.603339] nouveau  [     DRM] BIT BIOS found
> [ 6879.603575] nouveau  [     DRM] Bios version 62.92.63.00
> [ 6879.603813] nouveau  [     DRM] TMDS table version 2.0
> [ 6879.604050] nouveau  [     DRM] DCB version 4.0
> [ 6879.604287] nouveau  [     DRM] DCB outp 00: 02000300 00000028
> [ 6879.604524] nouveau  [     DRM] DCB outp 01: 01000302 00020030
> [ 6879.604763] nouveau  [     DRM] DCB outp 02: 04011310 00000028
> [ 6879.605000] nouveau  [     DRM] DCB outp 03: 02011312 00020030
> [ 6879.605238] nouveau  [     DRM] DCB conn 00: 00001030
> [ 6879.605516] nouveau  [     DRM] DCB conn 01: 00002130
> [ 6879.648012] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> [ 6879.648257] [drm] No driver support for vblank timestamp query.
> [ 6879.648708] nouveau  [     DRM] 1 available performance level(s)
> [ 6879.648953] nouveau  [     DRM] 3: core 650MHz shader 1625MHz memory 1000MHz voltage 1050mV fanspeed 100%
> [ 6879.649391] nouveau  [     DRM] c: core 399MHz shader 810MHz memory 399MHz voltage 1050mV fanspeed 34%
> [ 6879.693947] nouveau  [     DRM] MM: using CRYPT for buffer copies
> [ 6879.791680] nouveau  [     DRM] allocated 1920x1080 fb: 0x70000, bo ffff880018f20800
> [ 6879.792175] fbcon: nouveaufb (fb0) is primary device
> [ 6879.850216] Console: switching to colour frame buffer device 240x67
> [ 6879.897075] fb0: nouveaufb frame buffer device
> [ 6879.897075] drm: registered panic notifier
> [ 6879.897078] [drm] Initialized nouveau 1.1.0 20120801 for 0000:02:00.0 on minor 0
> I'm starting glxgears here
> xorg hangs, with occasional mouse movement
> [ 6907.054696] nouveau  [   PFIFO][0000:02:00.0] unknown intr 0x00000040, ch 2
> pkill glxgears from fbcon
> [ 6963.987969] nouveau E[   15318] failed to idle channel 0xcccc0000
> xorg still hangs
> [ 7034.713069] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020060000
> [ 7034.713167] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
> [ 7034.713286] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.713353] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x060c data 0x0000000b
> [ 7034.713454] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason: NULL_DMAOBJ
> [ 7034.713624] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - Unknown fault at address 0020060000
> [ 7034.713713] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
> [ 7034.713834] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - Unknown fault at address 0020060000
> [ 7034.713921] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
> [ 7034.714043] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - Unknown fault at address 0020060000
> [ 7034.714141] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
> [ 7034.714259] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.714325] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> [ 7034.714425] nouveau E[     PFB][0000:02:00.0] trapped read at 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT
> [ 7034.714594] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> [ 7034.714650] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x74087b05
> [ 7034.714711] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200601
> [ 7034.714772] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x40000432
> [ 7034.714832] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x06000000
> [ 7034.714893] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
> [ 7034.714971] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
> [ 7034.715026] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409904: 0x74087b05
> [ 7034.715086] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409908: 0x00200601
> [ 7034.715146] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040990c: 0x40000432
> [ 7034.715207] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409910: 0x06000000
> [ 7034.715266] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1: Unhandled ustatus 0x00000003
> [ 7034.715345] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
> [ 7034.715399] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a904: 0x74087b0a
> [ 7034.715460] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a908: 0x00200601
> [ 7034.715520] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a90c: 0x40000432
> [ 7034.715581] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a910: 0x06000000
> [ 7034.715641] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2: Unhandled ustatus 0x00000003
> [ 7034.715720] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
> [ 7034.715774] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b904: 0x74087e05
> [ 7034.715836] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b908: 0x00200602
> [ 7034.715896] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b90c: 0x40000432
> [ 7034.715956] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b910: 0x06000000
> [ 7034.716017] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3: Unhandled ustatus 0x00000003
> [ 7034.716098] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.716163] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> [ 7034.716262] nouveau E[     PFB][0000:02:00.0] trapped read at 0x0020158000 on channel 0x0001faf9 PGRAPH/DISPATCH/M2M_IN reason: PAGE_NOT_PRESENT
> [ 7034.716422] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> [ 7034.716497] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151 20156f00 00000000 04000432
> [ 7034.716572] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.716638] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> [ 7034.716736] nouveau E[     PFB][0000:02:00.0] trapped read at 0x00200fc000 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT
> [ 7034.716901] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> [ 7034.716956] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x20087a01
> [ 7034.717017] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200fc0
> [ 7034.717077] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x80000432
> [ 7034.717138] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x0fc00000
> [ 7034.717198] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
> [ 7034.717291] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020104000
> [ 7034.717377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 000000c0, e20: 00000011, e24: 0c030000
> [ 7034.717495] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.717560] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x08dc data 0x00000000
> [ 7034.717659] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason: PAGE_NOT_PRESENT
> [ 7034.717828] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020060000
> [ 7034.717916] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
> [ 7034.718034] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.718099] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x060c data 0x0000000b
> [ 7034.718197] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/RT0 reason: PAGE_NOT_PRESENT
> [ 7034.718366] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - Unknown fault at address 0020060000
> [ 7034.718454] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
> [ 7034.718574] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - Unknown fault at address 0020060000
> [ 7034.718660] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 - e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
> [ 7034.718780] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - Unknown fault at address 0020060000
> [ 7034.722082] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 - e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
> [ 7034.725066] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.725069] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> [ 7034.725104] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> [ 7034.725106] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x74084105
> [ 7034.725108] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200601
> [ 7034.725109] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x40000432
> [ 7034.725111] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x06000000
> [ 7034.725113] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
> [ 7034.725115] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
> [ 7034.725116] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409904: 0x74087605
> [ 7034.725118] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409908: 0x00200601
> [ 7034.725120] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040990c: 0x40000432
> [ 7034.725122] nouveau E[  PGRAPH][0000:02:00.0] 	0x00409910: 0x06000000
> [ 7034.725124] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1: Unhandled ustatus 0x00000003
> [ 7034.725125] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
> [ 7034.725127] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a904: 0x7408740a
> [ 7034.725129] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a908: 0x00200601
> [ 7034.725131] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a90c: 0x40000432
> [ 7034.725132] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040a910: 0x06000000
> [ 7034.725134] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2: Unhandled ustatus 0x00000003
> [ 7034.725136] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
> [ 7034.725138] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b904: 0x74087b05
> [ 7034.725140] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b908: 0x00200600
> [ 7034.725142] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b90c: 0x40000432
> [ 7034.725144] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040b910: 0x06000000
> [ 7034.725145] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3: Unhandled ustatus 0x00000003
> [ 7034.725151] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.725153] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> [ 7034.725167] nouveau E[     PFB][0000:02:00.0] trapped read at 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason: PAGE_NOT_PRESENT
> [ 7034.725177] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> [ 7034.725182] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151 20103240 00000000 04000432
> [ 7034.725184] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.725186] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> [ 7034.726101] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> [ 7034.726103] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408904: 0x20087f01
> [ 7034.726105] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408908: 0x00200fc0
> [ 7034.726107] nouveau E[  PGRAPH][0000:02:00.0] 	0x0040890c: 0x80000432
> [ 7034.726110] nouveau E[  PGRAPH][0000:02:00.0] 	0x00408910: 0x0fc00000
> [ 7034.726111] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0: Unhandled ustatus 0x00000003
> [ 7034.726130] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - Unknown fault at address 0020159000
> [ 7034.726132] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 - e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000011, e24: 0c030000
> [ 7034.726140] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7034.726142] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 2 class 0x502d mthd 0x08dc data 0x00000000
> [ 7034.726153] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0020159000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason: PAGE_NOT_PRESENT
> [ 7037.703052] nouveau E[   15220] failed to idle channel 0xcccc0000
> xorg crashes
> 
> another try:
> glxgears
> xorg hangs
> [ 7220.463528] nouveau  [   PFIFO][0000:02:00.0] unknown intr 0x00000040, ch 2
> pkill glxgears from fbcon
> [ 7286.269036] nouveau E[   15542] failed to idle channel 0xcccc0000
> xorg still hangs
> [ 7358.490445] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> [ 7358.492458] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151 200e5f00 00000000 04000432
> [ 7358.494351] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7358.496265] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> [ 7358.498229] nouveau E[     PFB][0000:02:00.0] trapped write at 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason: NULL_DMAOBJ
> [ 7358.500320] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
> [ 7358.502377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241 203b0900 00000000 05000432
> [ 7358.504449] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [ 7358.505976] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> [ 7361.483615] nouveau E[   15431] failed to idle channel 0xcccc0000
> xorg crashes

On another boot:
[  132.447094] nouveau E[    2776] failed to idle channel 0xcccc0000
[  160.136850] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
[  160.136940] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241 202fdb00 00000000 05000432
[  160.137024] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[  160.137100] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
[  160.137208] nouveau E[     PFB][0000:02:00.0] trapped read at 0x002001a020 on channel 0x0001faf9 SEMAPHORE_BG/PFIFO_READ/00 reason: PAGE_NOT_PRESENT
[  160.137388] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
[  160.137468] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320251 20308d00 00000000 04000000
[  160.137551] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
[  160.137624] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc 0 class 0x5039 mthd 0x0328 data 0x00000000
[  163.126736] nouveau E[    2650] failed to idle channel 0xcccc0000

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
       [not found]       ` <20121111183519.GA2959-OI9uyE9O0yo@public.gmane.org>
@ 2012-11-11 18:51         ` Kelly Doran
       [not found]           ` <CAES2CiZMtsZB6wcAerURtLnTY-F6U8CSrL6YGg0p0A+Zt+SbCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 12+ messages in thread
From: Kelly Doran @ 2012-11-11 18:51 UTC (permalink / raw)
  To: Marcin Slusarz
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW


[-- Attachment #1.1: Type: text/plain, Size: 18361 bytes --]

I was under the impression that the "else" block was only executed for nvc0
code, but maybe the nv92 code was executing it too, so that may need an
extra code block to work again.  Otherwise the bar flush in the nv50
section is causing the problems...  I can write up some patches later if
you want but I don't have any cards from these chipsets to test with, and I
gotta go for the afternoon.

On Sun, Nov 11, 2012 at 12:35 PM, Marcin Slusarz
<marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>wrote:

> On Sun, Nov 11, 2012 at 07:26:17PM +0100, Marcin Slusarz wrote:
> > On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
> > >
> > >
> > > Op 06-11-12 15:48, Kelly Doran schreef:
> > > > The vblank on nvc0 was not working correctly and would freeze X, I
> managed
> > > > to track it down and fix it with some help from m.b.lankhorst, see
> > > > https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
> > > >
> > > Reviewed-by: Maarten Lankhorst <maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> > >
> > > I recommended the bar flush since nvd0 does as well, and there might
> be a small race
> > > otherwise.
> > >
> > > Can this still get in before final 3.7 release?
> >
> > This patch breaks vblank here (nv92) completely.
> >
> > [ 6879.200427] Console: switching to colour VGA+ 80x25
> > [ 6879.202884] drm: unregistered panic notifier
> > [ 6879.334278] [TTM] Finalizing pool allocator
> > [ 6879.334518] [TTM] Finalizing DMA pool allocator
> > [ 6879.334765] [TTM] Zone  kernel: Used memory at exit: 0 kiB
> > [ 6879.335004] [TTM] Zone   dma32: Used memory at exit: 0 kiB
> > [ 6879.340472] [drm] Module unloaded
> > [ 6879.397744] [drm] Initialized drm 1.1.0 20060810
> > [ 6879.408149] nouveau  [  DEVICE][0000:02:00.0] BOOT0  : 0x092a00a2
> > [ 6879.408401] nouveau  [  DEVICE][0000:02:00.0] Chipset: G92 (NV92)
> > [ 6879.408641] nouveau  [  DEVICE][0000:02:00.0] Family : NV50
> > [ 6879.409752] nouveau  [   VBIOS][0000:02:00.0] checking PRAMIN for
> image...
> > [ 6879.409997] nouveau  [   VBIOS][0000:02:00.0] ... signature not found
> > [ 6879.410236] nouveau  [   VBIOS][0000:02:00.0] checking PROM for
> image...
> > [ 6879.549018] nouveau  [   VBIOS][0000:02:00.0] ... appears to be valid
> > [ 6879.549259] nouveau  [   VBIOS][0000:02:00.0] using image from PROM
> > [ 6879.549640] nouveau  [   VBIOS][0000:02:00.0] BIT signature found
> > [ 6879.549879] nouveau  [   VBIOS][0000:02:00.0] version 62.92.63.00
> > [ 6879.570275] nouveau  [     MXM][0000:02:00.0] no VBIOS data, nothing
> to do
> > [ 6879.572488] nouveau  [     PFB][0000:02:00.0] RAM type: GDDR3
> > [ 6879.572726] nouveau  [     PFB][0000:02:00.0] RAM size: 512 MiB
> > [ 6879.572964] nouveau  [     PFB][0000:02:00.0]    ZCOMP: 4032 tags
> > [ 6879.597652] [TTM] Zone  kernel: Available graphics memory: 3047140 kiB
> > [ 6879.597892] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
> > [ 6879.598130] [TTM] Initializing pool allocator
> > [ 6879.598367] [TTM] Initializing DMA pool allocator
> > [ 6879.602860] nouveau  [     DRM] VRAM: 512 MiB
> > [ 6879.603102] nouveau  [     DRM] GART: 512 MiB
> > [ 6879.603339] nouveau  [     DRM] BIT BIOS found
> > [ 6879.603575] nouveau  [     DRM] Bios version 62.92.63.00
> > [ 6879.603813] nouveau  [     DRM] TMDS table version 2.0
> > [ 6879.604050] nouveau  [     DRM] DCB version 4.0
> > [ 6879.604287] nouveau  [     DRM] DCB outp 00: 02000300 00000028
> > [ 6879.604524] nouveau  [     DRM] DCB outp 01: 01000302 00020030
> > [ 6879.604763] nouveau  [     DRM] DCB outp 02: 04011310 00000028
> > [ 6879.605000] nouveau  [     DRM] DCB outp 03: 02011312 00020030
> > [ 6879.605238] nouveau  [     DRM] DCB conn 00: 00001030
> > [ 6879.605516] nouveau  [     DRM] DCB conn 01: 00002130
> > [ 6879.648012] [drm] Supports vblank timestamp caching Rev 1
> (10.10.2010).
> > [ 6879.648257] [drm] No driver support for vblank timestamp query.
> > [ 6879.648708] nouveau  [     DRM] 1 available performance level(s)
> > [ 6879.648953] nouveau  [     DRM] 3: core 650MHz shader 1625MHz memory
> 1000MHz voltage 1050mV fanspeed 100%
> > [ 6879.649391] nouveau  [     DRM] c: core 399MHz shader 810MHz memory
> 399MHz voltage 1050mV fanspeed 34%
> > [ 6879.693947] nouveau  [     DRM] MM: using CRYPT for buffer copies
> > [ 6879.791680] nouveau  [     DRM] allocated 1920x1080 fb: 0x70000, bo
> ffff880018f20800
> > [ 6879.792175] fbcon: nouveaufb (fb0) is primary device
> > [ 6879.850216] Console: switching to colour frame buffer device 240x67
> > [ 6879.897075] fb0: nouveaufb frame buffer device
> > [ 6879.897075] drm: registered panic notifier
> > [ 6879.897078] [drm] Initialized nouveau 1.1.0 20120801 for 0000:02:00.0
> on minor 0
> > I'm starting glxgears here
> > xorg hangs, with occasional mouse movement
> > [ 6907.054696] nouveau  [   PFIFO][0000:02:00.0] unknown intr
> 0x00000040, ch 2
> > pkill glxgears from fbcon
> > [ 6963.987969] nouveau E[   15318] failed to idle channel 0xcccc0000
> > xorg still hangs
> > [ 7034.713069] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> Unknown fault at address 0020060000
> > [ 7034.713167] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
> > [ 7034.713286] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.713353] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 2 class 0x502d mthd 0x060c data 0x0000000b
> > [ 7034.713454] nouveau E[     PFB][0000:02:00.0] trapped write at
> 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason:
> NULL_DMAOBJ
> > [ 7034.713624] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
> Unknown fault at address 0020060000
> > [ 7034.713713] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
> e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
> > [ 7034.713834] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
> Unknown fault at address 0020060000
> > [ 7034.713921] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
> e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
> > [ 7034.714043] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
> Unknown fault at address 0020060000
> > [ 7034.714141] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
> e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
> > [ 7034.714259] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.714325] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> > [ 7034.714425] nouveau E[     PFB][0000:02:00.0] trapped read at
> 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason:
> PAGE_NOT_PRESENT
> > [ 7034.714594] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> > [ 7034.714650] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
> 0x74087b05
> > [ 7034.714711] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
> 0x00200601
> > [ 7034.714772] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
> 0x40000432
> > [ 7034.714832] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
> 0x06000000
> > [ 7034.714893] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
> Unhandled ustatus 0x00000003
> > [ 7034.714971] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
> > [ 7034.715026] nouveau E[  PGRAPH][0000:02:00.0]      0x00409904:
> 0x74087b05
> > [ 7034.715086] nouveau E[  PGRAPH][0000:02:00.0]      0x00409908:
> 0x00200601
> > [ 7034.715146] nouveau E[  PGRAPH][0000:02:00.0]      0x0040990c:
> 0x40000432
> > [ 7034.715207] nouveau E[  PGRAPH][0000:02:00.0]      0x00409910:
> 0x06000000
> > [ 7034.715266] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1:
> Unhandled ustatus 0x00000003
> > [ 7034.715345] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
> > [ 7034.715399] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a904:
> 0x74087b0a
> > [ 7034.715460] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a908:
> 0x00200601
> > [ 7034.715520] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a90c:
> 0x40000432
> > [ 7034.715581] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a910:
> 0x06000000
> > [ 7034.715641] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2:
> Unhandled ustatus 0x00000003
> > [ 7034.715720] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
> > [ 7034.715774] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b904:
> 0x74087e05
> > [ 7034.715836] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b908:
> 0x00200602
> > [ 7034.715896] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b90c:
> 0x40000432
> > [ 7034.715956] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b910:
> 0x06000000
> > [ 7034.716017] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3:
> Unhandled ustatus 0x00000003
> > [ 7034.716098] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.716163] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> > [ 7034.716262] nouveau E[     PFB][0000:02:00.0] trapped read at
> 0x0020158000 on channel 0x0001faf9 PGRAPH/DISPATCH/M2M_IN reason:
> PAGE_NOT_PRESENT
> > [ 7034.716422] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> > [ 7034.716497] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151
> 20156f00 00000000 04000432
> > [ 7034.716572] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.716638] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> > [ 7034.716736] nouveau E[     PFB][0000:02:00.0] trapped read at
> 0x00200fc000 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason:
> PAGE_NOT_PRESENT
> > [ 7034.716901] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> > [ 7034.716956] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
> 0x20087a01
> > [ 7034.717017] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
> 0x00200fc0
> > [ 7034.717077] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
> 0x80000432
> > [ 7034.717138] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
> 0x0fc00000
> > [ 7034.717198] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
> Unhandled ustatus 0x00000003
> > [ 7034.717291] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> Unknown fault at address 0020104000
> > [ 7034.717377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> e0c: 00000000, e18: 00000000, e1c: 000000c0, e20: 00000011, e24: 0c030000
> > [ 7034.717495] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.717560] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 2 class 0x502d mthd 0x08dc data 0x00000000
> > [ 7034.717659] nouveau E[     PFB][0000:02:00.0] trapped write at
> 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason:
> PAGE_NOT_PRESENT
> > [ 7034.717828] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> Unknown fault at address 0020060000
> > [ 7034.717916] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
> > [ 7034.718034] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.718099] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 2 class 0x502d mthd 0x060c data 0x0000000b
> > [ 7034.718197] nouveau E[     PFB][0000:02:00.0] trapped write at
> 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/RT0 reason: PAGE_NOT_PRESENT
> > [ 7034.718366] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
> Unknown fault at address 0020060000
> > [ 7034.718454] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
> e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
> > [ 7034.718574] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
> Unknown fault at address 0020060000
> > [ 7034.718660] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
> e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
> > [ 7034.718780] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
> Unknown fault at address 0020060000
> > [ 7034.722082] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
> e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
> > [ 7034.725066] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.725069] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> > [ 7034.725104] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> > [ 7034.725106] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
> 0x74084105
> > [ 7034.725108] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
> 0x00200601
> > [ 7034.725109] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
> 0x40000432
> > [ 7034.725111] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
> 0x06000000
> > [ 7034.725113] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
> Unhandled ustatus 0x00000003
> > [ 7034.725115] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
> > [ 7034.725116] nouveau E[  PGRAPH][0000:02:00.0]      0x00409904:
> 0x74087605
> > [ 7034.725118] nouveau E[  PGRAPH][0000:02:00.0]      0x00409908:
> 0x00200601
> > [ 7034.725120] nouveau E[  PGRAPH][0000:02:00.0]      0x0040990c:
> 0x40000432
> > [ 7034.725122] nouveau E[  PGRAPH][0000:02:00.0]      0x00409910:
> 0x06000000
> > [ 7034.725124] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1:
> Unhandled ustatus 0x00000003
> > [ 7034.725125] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
> > [ 7034.725127] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a904:
> 0x7408740a
> > [ 7034.725129] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a908:
> 0x00200601
> > [ 7034.725131] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a90c:
> 0x40000432
> > [ 7034.725132] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a910:
> 0x06000000
> > [ 7034.725134] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2:
> Unhandled ustatus 0x00000003
> > [ 7034.725136] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
> > [ 7034.725138] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b904:
> 0x74087b05
> > [ 7034.725140] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b908:
> 0x00200600
> > [ 7034.725142] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b90c:
> 0x40000432
> > [ 7034.725144] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b910:
> 0x06000000
> > [ 7034.725145] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3:
> Unhandled ustatus 0x00000003
> > [ 7034.725151] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.725153] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
> > [ 7034.725167] nouveau E[     PFB][0000:02:00.0] trapped read at
> 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason:
> PAGE_NOT_PRESENT
> > [ 7034.725177] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> > [ 7034.725182] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151
> 20103240 00000000 04000432
> > [ 7034.725184] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.725186] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> > [ 7034.726101] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
> > [ 7034.726103] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
> 0x20087f01
> > [ 7034.726105] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
> 0x00200fc0
> > [ 7034.726107] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
> 0x80000432
> > [ 7034.726110] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
> 0x0fc00000
> > [ 7034.726111] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
> Unhandled ustatus 0x00000003
> > [ 7034.726130] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> Unknown fault at address 0020159000
> > [ 7034.726132] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
> e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000011, e24: 0c030000
> > [ 7034.726140] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7034.726142] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 2 class 0x502d mthd 0x08dc data 0x00000000
> > [ 7034.726153] nouveau E[     PFB][0000:02:00.0] trapped write at
> 0x0020159000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason:
> PAGE_NOT_PRESENT
> > [ 7037.703052] nouveau E[   15220] failed to idle channel 0xcccc0000
> > xorg crashes
> >
> > another try:
> > glxgears
> > xorg hangs
> > [ 7220.463528] nouveau  [   PFIFO][0000:02:00.0] unknown intr
> 0x00000040, ch 2
> > pkill glxgears from fbcon
> > [ 7286.269036] nouveau E[   15542] failed to idle channel 0xcccc0000
> > xorg still hangs
> > [ 7358.490445] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> > [ 7358.492458] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151
> 200e5f00 00000000 04000432
> > [ 7358.494351] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7358.496265] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> > [ 7358.498229] nouveau E[     PFB][0000:02:00.0] trapped write at
> 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason:
> NULL_DMAOBJ
> > [ 7358.500320] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
> > [ 7358.502377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241
> 203b0900 00000000 05000432
> > [ 7358.504449] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> > [ 7358.505976] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
> subc 0 class 0x5039 mthd 0x0328 data 0x00000000
> > [ 7361.483615] nouveau E[   15431] failed to idle channel 0xcccc0000
> > xorg crashes
>
> On another boot:
> [  132.447094] nouveau E[    2776] failed to idle channel 0xcccc0000
> [  160.136850] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
> [  160.136940] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241
> 202fdb00 00000000 05000432
> [  160.137024] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [  160.137100] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc
> 0 class 0x5039 mthd 0x0328 data 0x00000000
> [  160.137208] nouveau E[     PFB][0000:02:00.0] trapped read at
> 0x002001a020 on channel 0x0001faf9 SEMAPHORE_BG/PFIFO_READ/00 reason:
> PAGE_NOT_PRESENT
> [  160.137388] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
> [  160.137468] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320251
> 20308d00 00000000 04000000
> [  160.137551] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
> [  160.137624] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc
> 0 class 0x5039 mthd 0x0328 data 0x00000000
> [  163.126736] nouveau E[    2650] failed to idle channel 0xcccc0000
>

[-- Attachment #1.2: Type: text/html, Size: 19965 bytes --]

[-- Attachment #2: Type: text/plain, Size: 181 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
  2012-11-11 18:35     ` Marcin Slusarz
       [not found]       ` <20121111183519.GA2959-OI9uyE9O0yo@public.gmane.org>
@ 2012-11-11 20:25       ` Maarten Lankhorst
  2012-11-12 16:43         ` Sven Joachim
       [not found]         ` <50A009B8.2080107-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
  1 sibling, 2 replies; 12+ messages in thread
From: Maarten Lankhorst @ 2012-11-11 20:25 UTC (permalink / raw)
  To: Marcin Slusarz; +Cc: Kelly Doran, nouveau, Ben Skeggs, dri-devel

Op 11-11-12 19:35, Marcin Slusarz schreef:
> On Sun, Nov 11, 2012 at 07:26:17PM +0100, Marcin Slusarz wrote:
>> On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
>>>
>>> Op 06-11-12 15:48, Kelly Doran schreef:
>>>> The vblank on nvc0 was not working correctly and would freeze X, I managed
>>>> to track it down and fix it with some help from m.b.lankhorst, see
>>>> https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
>>>>
>>> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
>>>
>>> I recommended the bar flush since nvd0 does as well, and there might be a small race
>>> otherwise.
>>>
>>> Can this still get in before final 3.7 release?
>> This patch breaks vblank here (nv92) completely.
Does removing the bar flush help?

~Maarte

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
       [not found]           ` <CAES2CiZMtsZB6wcAerURtLnTY-F6U8CSrL6YGg0p0A+Zt+SbCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-11-12 12:14             ` Kelly Doran
       [not found]               ` <CAES2Cia3Z21ZPmpOA3B1fB5sDv4urHL8pbW+6u7AzPdbHPur4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 12+ messages in thread
From: Kelly Doran @ 2012-11-12 12:14 UTC (permalink / raw)
  To: Marcin Slusarz
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

[-- Attachment #1: Type: text/plain, Size: 19149 bytes --]

Okay I have added two patches, one of them should fix the problem...

On Sun, Nov 11, 2012 at 12:51 PM, Kelly Doran <kel.p.doran-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> I was under the impression that the "else" block was only executed for nvc0
> code, but maybe the nv92 code was executing it too, so that may need an
> extra code block to work again.  Otherwise the bar flush in the nv50 section
> is causing the problems...  I can write up some patches later if you want
> but I don't have any cards from these chipsets to test with, and I gotta go
> for the afternoon.
>
>
> On Sun, Nov 11, 2012 at 12:35 PM, Marcin Slusarz <marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> wrote:
>>
>> On Sun, Nov 11, 2012 at 07:26:17PM +0100, Marcin Slusarz wrote:
>> > On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
>> > >
>> > >
>> > > Op 06-11-12 15:48, Kelly Doran schreef:
>> > > > The vblank on nvc0 was not working correctly and would freeze X, I
>> > > > managed
>> > > > to track it down and fix it with some help from m.b.lankhorst, see
>> > > > https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
>> > > >
>> > > Reviewed-by: Maarten Lankhorst <maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
>> > >
>> > > I recommended the bar flush since nvd0 does as well, and there might
>> > > be a small race
>> > > otherwise.
>> > >
>> > > Can this still get in before final 3.7 release?
>> >
>> > This patch breaks vblank here (nv92) completely.
>> >
>> > [ 6879.200427] Console: switching to colour VGA+ 80x25
>> > [ 6879.202884] drm: unregistered panic notifier
>> > [ 6879.334278] [TTM] Finalizing pool allocator
>> > [ 6879.334518] [TTM] Finalizing DMA pool allocator
>> > [ 6879.334765] [TTM] Zone  kernel: Used memory at exit: 0 kiB
>> > [ 6879.335004] [TTM] Zone   dma32: Used memory at exit: 0 kiB
>> > [ 6879.340472] [drm] Module unloaded
>> > [ 6879.397744] [drm] Initialized drm 1.1.0 20060810
>> > [ 6879.408149] nouveau  [  DEVICE][0000:02:00.0] BOOT0  : 0x092a00a2
>> > [ 6879.408401] nouveau  [  DEVICE][0000:02:00.0] Chipset: G92 (NV92)
>> > [ 6879.408641] nouveau  [  DEVICE][0000:02:00.0] Family : NV50
>> > [ 6879.409752] nouveau  [   VBIOS][0000:02:00.0] checking PRAMIN for
>> > image...
>> > [ 6879.409997] nouveau  [   VBIOS][0000:02:00.0] ... signature not found
>> > [ 6879.410236] nouveau  [   VBIOS][0000:02:00.0] checking PROM for
>> > image...
>> > [ 6879.549018] nouveau  [   VBIOS][0000:02:00.0] ... appears to be valid
>> > [ 6879.549259] nouveau  [   VBIOS][0000:02:00.0] using image from PROM
>> > [ 6879.549640] nouveau  [   VBIOS][0000:02:00.0] BIT signature found
>> > [ 6879.549879] nouveau  [   VBIOS][0000:02:00.0] version 62.92.63.00
>> > [ 6879.570275] nouveau  [     MXM][0000:02:00.0] no VBIOS data, nothing
>> > to do
>> > [ 6879.572488] nouveau  [     PFB][0000:02:00.0] RAM type: GDDR3
>> > [ 6879.572726] nouveau  [     PFB][0000:02:00.0] RAM size: 512 MiB
>> > [ 6879.572964] nouveau  [     PFB][0000:02:00.0]    ZCOMP: 4032 tags
>> > [ 6879.597652] [TTM] Zone  kernel: Available graphics memory: 3047140
>> > kiB
>> > [ 6879.597892] [TTM] Zone   dma32: Available graphics memory: 2097152
>> > kiB
>> > [ 6879.598130] [TTM] Initializing pool allocator
>> > [ 6879.598367] [TTM] Initializing DMA pool allocator
>> > [ 6879.602860] nouveau  [     DRM] VRAM: 512 MiB
>> > [ 6879.603102] nouveau  [     DRM] GART: 512 MiB
>> > [ 6879.603339] nouveau  [     DRM] BIT BIOS found
>> > [ 6879.603575] nouveau  [     DRM] Bios version 62.92.63.00
>> > [ 6879.603813] nouveau  [     DRM] TMDS table version 2.0
>> > [ 6879.604050] nouveau  [     DRM] DCB version 4.0
>> > [ 6879.604287] nouveau  [     DRM] DCB outp 00: 02000300 00000028
>> > [ 6879.604524] nouveau  [     DRM] DCB outp 01: 01000302 00020030
>> > [ 6879.604763] nouveau  [     DRM] DCB outp 02: 04011310 00000028
>> > [ 6879.605000] nouveau  [     DRM] DCB outp 03: 02011312 00020030
>> > [ 6879.605238] nouveau  [     DRM] DCB conn 00: 00001030
>> > [ 6879.605516] nouveau  [     DRM] DCB conn 01: 00002130
>> > [ 6879.648012] [drm] Supports vblank timestamp caching Rev 1
>> > (10.10.2010).
>> > [ 6879.648257] [drm] No driver support for vblank timestamp query.
>> > [ 6879.648708] nouveau  [     DRM] 1 available performance level(s)
>> > [ 6879.648953] nouveau  [     DRM] 3: core 650MHz shader 1625MHz memory
>> > 1000MHz voltage 1050mV fanspeed 100%
>> > [ 6879.649391] nouveau  [     DRM] c: core 399MHz shader 810MHz memory
>> > 399MHz voltage 1050mV fanspeed 34%
>> > [ 6879.693947] nouveau  [     DRM] MM: using CRYPT for buffer copies
>> > [ 6879.791680] nouveau  [     DRM] allocated 1920x1080 fb: 0x70000, bo
>> > ffff880018f20800
>> > [ 6879.792175] fbcon: nouveaufb (fb0) is primary device
>> > [ 6879.850216] Console: switching to colour frame buffer device 240x67
>> > [ 6879.897075] fb0: nouveaufb frame buffer device
>> > [ 6879.897075] drm: registered panic notifier
>> > [ 6879.897078] [drm] Initialized nouveau 1.1.0 20120801 for 0000:02:00.0
>> > on minor 0
>> > I'm starting glxgears here
>> > xorg hangs, with occasional mouse movement
>> > [ 6907.054696] nouveau  [   PFIFO][0000:02:00.0] unknown intr
>> > 0x00000040, ch 2
>> > pkill glxgears from fbcon
>> > [ 6963.987969] nouveau E[   15318] failed to idle channel 0xcccc0000
>> > xorg still hangs
>> > [ 7034.713069] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > Unknown fault at address 0020060000
>> > [ 7034.713167] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
>> > [ 7034.713286] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.713353] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 2 class 0x502d mthd 0x060c data 0x0000000b
>> > [ 7034.713454] nouveau E[     PFB][0000:02:00.0] trapped write at
>> > 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason:
>> > NULL_DMAOBJ
>> > [ 7034.713624] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
>> > Unknown fault at address 0020060000
>> > [ 7034.713713] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
>> > e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
>> > [ 7034.713834] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
>> > Unknown fault at address 0020060000
>> > [ 7034.713921] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
>> > e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
>> > [ 7034.714043] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
>> > Unknown fault at address 0020060000
>> > [ 7034.714141] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
>> > e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
>> > [ 7034.714259] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.714325] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
>> > [ 7034.714425] nouveau E[     PFB][0000:02:00.0] trapped read at
>> > 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason:
>> > PAGE_NOT_PRESENT
>> > [ 7034.714594] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
>> > [ 7034.714650] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
>> > 0x74087b05
>> > [ 7034.714711] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
>> > 0x00200601
>> > [ 7034.714772] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
>> > 0x40000432
>> > [ 7034.714832] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
>> > 0x06000000
>> > [ 7034.714893] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.714971] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
>> > [ 7034.715026] nouveau E[  PGRAPH][0000:02:00.0]      0x00409904:
>> > 0x74087b05
>> > [ 7034.715086] nouveau E[  PGRAPH][0000:02:00.0]      0x00409908:
>> > 0x00200601
>> > [ 7034.715146] nouveau E[  PGRAPH][0000:02:00.0]      0x0040990c:
>> > 0x40000432
>> > [ 7034.715207] nouveau E[  PGRAPH][0000:02:00.0]      0x00409910:
>> > 0x06000000
>> > [ 7034.715266] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.715345] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
>> > [ 7034.715399] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a904:
>> > 0x74087b0a
>> > [ 7034.715460] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a908:
>> > 0x00200601
>> > [ 7034.715520] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a90c:
>> > 0x40000432
>> > [ 7034.715581] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a910:
>> > 0x06000000
>> > [ 7034.715641] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.715720] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
>> > [ 7034.715774] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b904:
>> > 0x74087e05
>> > [ 7034.715836] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b908:
>> > 0x00200602
>> > [ 7034.715896] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b90c:
>> > 0x40000432
>> > [ 7034.715956] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b910:
>> > 0x06000000
>> > [ 7034.716017] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.716098] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.716163] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
>> > [ 7034.716262] nouveau E[     PFB][0000:02:00.0] trapped read at
>> > 0x0020158000 on channel 0x0001faf9 PGRAPH/DISPATCH/M2M_IN reason:
>> > PAGE_NOT_PRESENT
>> > [ 7034.716422] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
>> > [ 7034.716497] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151
>> > 20156f00 00000000 04000432
>> > [ 7034.716572] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.716638] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 0 class 0x5039 mthd 0x0328 data 0x00000000
>> > [ 7034.716736] nouveau E[     PFB][0000:02:00.0] trapped read at
>> > 0x00200fc000 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason:
>> > PAGE_NOT_PRESENT
>> > [ 7034.716901] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
>> > [ 7034.716956] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
>> > 0x20087a01
>> > [ 7034.717017] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
>> > 0x00200fc0
>> > [ 7034.717077] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
>> > 0x80000432
>> > [ 7034.717138] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
>> > 0x0fc00000
>> > [ 7034.717198] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.717291] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > Unknown fault at address 0020104000
>> > [ 7034.717377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > e0c: 00000000, e18: 00000000, e1c: 000000c0, e20: 00000011, e24: 0c030000
>> > [ 7034.717495] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.717560] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 2 class 0x502d mthd 0x08dc data 0x00000000
>> > [ 7034.717659] nouveau E[     PFB][0000:02:00.0] trapped write at
>> > 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason:
>> > PAGE_NOT_PRESENT
>> > [ 7034.717828] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > Unknown fault at address 0020060000
>> > [ 7034.717916] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000037, e24: 0c030000
>> > [ 7034.718034] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.718099] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 2 class 0x502d mthd 0x060c data 0x0000000b
>> > [ 7034.718197] nouveau E[     PFB][0000:02:00.0] trapped write at
>> > 0x0020060000 on channel 0x0001faf9 PGRAPH/PROP/RT0 reason: PAGE_NOT_PRESENT
>> > [ 7034.718366] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
>> > Unknown fault at address 0020060000
>> > [ 7034.718454] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 0 -
>> > e0c: 00000000, e18: 00000000, e1c: 00020000, e20: 00003b00, e24: 00030000
>> > [ 7034.718574] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
>> > Unknown fault at address 0020060000
>> > [ 7034.718660] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 1 -
>> > e0c: 00000000, e18: 00000000, e1c: 00020010, e20: 00003b00, e24: 00030000
>> > [ 7034.718780] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
>> > Unknown fault at address 0020060000
>> > [ 7034.722082] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_RT - TP 2 -
>> > e0c: 00000000, e18: 00000000, e1c: 00020020, e20: 00003b00, e24: 00030000
>> > [ 7034.725066] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.725069] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
>> > [ 7034.725104] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
>> > [ 7034.725106] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
>> > 0x74084105
>> > [ 7034.725108] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
>> > 0x00200601
>> > [ 7034.725109] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
>> > 0x40000432
>> > [ 7034.725111] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
>> > 0x06000000
>> > [ 7034.725113] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.725115] nouveau E[  PGRAPH][0000:02:00.0] magic set 1:
>> > [ 7034.725116] nouveau E[  PGRAPH][0000:02:00.0]      0x00409904:
>> > 0x74087605
>> > [ 7034.725118] nouveau E[  PGRAPH][0000:02:00.0]      0x00409908:
>> > 0x00200601
>> > [ 7034.725120] nouveau E[  PGRAPH][0000:02:00.0]      0x0040990c:
>> > 0x40000432
>> > [ 7034.725122] nouveau E[  PGRAPH][0000:02:00.0]      0x00409910:
>> > 0x06000000
>> > [ 7034.725124] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP1:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.725125] nouveau E[  PGRAPH][0000:02:00.0] magic set 2:
>> > [ 7034.725127] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a904:
>> > 0x7408740a
>> > [ 7034.725129] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a908:
>> > 0x00200601
>> > [ 7034.725131] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a90c:
>> > 0x40000432
>> > [ 7034.725132] nouveau E[  PGRAPH][0000:02:00.0]      0x0040a910:
>> > 0x06000000
>> > [ 7034.725134] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP2:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.725136] nouveau E[  PGRAPH][0000:02:00.0] magic set 3:
>> > [ 7034.725138] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b904:
>> > 0x74087b05
>> > [ 7034.725140] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b908:
>> > 0x00200600
>> > [ 7034.725142] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b90c:
>> > 0x40000432
>> > [ 7034.725144] nouveau E[  PGRAPH][0000:02:00.0]      0x0040b910:
>> > 0x06000000
>> > [ 7034.725145] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP3:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.725151] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.725153] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 7 class 0x8297 mthd 0x15e0 data 0x00000000
>> > [ 7034.725167] nouveau E[     PFB][0000:02:00.0] trapped read at
>> > 0x0020060100 on channel 0x0001faf9 PGRAPH/TEXTURE/00 reason:
>> > PAGE_NOT_PRESENT
>> > [ 7034.725177] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
>> > [ 7034.725182] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151
>> > 20103240 00000000 04000432
>> > [ 7034.725184] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.725186] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 0 class 0x5039 mthd 0x0328 data 0x00000000
>> > [ 7034.726101] nouveau E[  PGRAPH][0000:02:00.0] magic set 0:
>> > [ 7034.726103] nouveau E[  PGRAPH][0000:02:00.0]      0x00408904:
>> > 0x20087f01
>> > [ 7034.726105] nouveau E[  PGRAPH][0000:02:00.0]      0x00408908:
>> > 0x00200fc0
>> > [ 7034.726107] nouveau E[  PGRAPH][0000:02:00.0]      0x0040890c:
>> > 0x80000432
>> > [ 7034.726110] nouveau E[  PGRAPH][0000:02:00.0]      0x00408910:
>> > 0x0fc00000
>> > [ 7034.726111] nouveau  [  PGRAPH][0000:02:00.0] TRAP_TEXTURE - TP0:
>> > Unhandled ustatus 0x00000003
>> > [ 7034.726130] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > Unknown fault at address 0020159000
>> > [ 7034.726132] nouveau E[  PGRAPH][0000:02:00.0] TRAP_TPDMA_2D - TP 0 -
>> > e0c: 00000000, e18: 00000000, e1c: 00000000, e20: 00000011, e24: 0c030000
>> > [ 7034.726140] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7034.726142] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 2 class 0x502d mthd 0x08dc data 0x00000000
>> > [ 7034.726153] nouveau E[     PFB][0000:02:00.0] trapped write at
>> > 0x0020159000 on channel 0x0001faf9 PGRAPH/PROP/DST2D reason:
>> > PAGE_NOT_PRESENT
>> > [ 7037.703052] nouveau E[   15220] failed to idle channel 0xcccc0000
>> > xorg crashes
>> >
>> > another try:
>> > glxgears
>> > xorg hangs
>> > [ 7220.463528] nouveau  [   PFIFO][0000:02:00.0] unknown intr
>> > 0x00000040, ch 2
>> > pkill glxgears from fbcon
>> > [ 7286.269036] nouveau E[   15542] failed to idle channel 0xcccc0000
>> > xorg still hangs
>> > [ 7358.490445] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
>> > [ 7358.492458] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320151
>> > 200e5f00 00000000 04000432
>> > [ 7358.494351] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7358.496265] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 0 class 0x5039 mthd 0x0328 data 0x00000000
>> > [ 7358.498229] nouveau E[     PFB][0000:02:00.0] trapped write at
>> > 0x0000000000 on channel 0x0001fea0 PEEPHOLE/PFIFO_WRITE/00 reason:
>> > NULL_DMAOBJ
>> > [ 7358.500320] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
>> > [ 7358.502377] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241
>> > 203b0900 00000000 05000432
>> > [ 7358.504449] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> > [ 7358.505976] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000]
>> > subc 0 class 0x5039 mthd 0x0328 data 0x00000000
>> > [ 7361.483615] nouveau E[   15431] failed to idle channel 0xcccc0000
>> > xorg crashes
>>
>> On another boot:
>> [  132.447094] nouveau E[    2776] failed to idle channel 0xcccc0000
>> [  160.136850] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF OUT
>> [  160.136940] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00340241
>> 202fdb00 00000000 05000432
>> [  160.137024] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> [  160.137100] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc
>> 0 class 0x5039 mthd 0x0328 data 0x00000000
>> [  160.137208] nouveau E[     PFB][0000:02:00.0] trapped read at
>> 0x002001a020 on channel 0x0001faf9 SEMAPHORE_BG/PFIFO_READ/00 reason:
>> PAGE_NOT_PRESENT
>> [  160.137388] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF IN
>> [  160.137468] nouveau E[  PGRAPH][0000:02:00.0] TRAP_M2MF 00320251
>> 20308d00 00000000 04000000
>> [  160.137551] nouveau  [  PGRAPH][0000:02:00.0]  TRAP
>> [  160.137624] nouveau E[  PGRAPH][0000:02:00.0] ch 2 [0x001faf9000] subc
>> 0 class 0x5039 mthd 0x0328 data 0x00000000
>> [  163.126736] nouveau E[    2650] failed to idle channel 0xcccc0000
>
>

[-- Attachment #2: vblank-fix1.patch --]
[-- Type: application/octet-stream, Size: 1475 bytes --]

diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
index 05a909a..15b182c 100644
--- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
@@ -49,13 +49,7 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 		if (chan->vblank.crtc != crtc)
 			continue;
 
-		if (nv_device(priv)->chipset == 0x50) {
-			nv_wr32(priv, 0x001704, chan->vblank.channel);
-			nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
-			bar->flush(bar);
-			nv_wr32(priv, 0x001570, chan->vblank.offset);
-			nv_wr32(priv, 0x001574, chan->vblank.value);
-		} else {
+		if (nv_device(priv)->chipset >= 0xc0) {
 			nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel);
 			bar->flush(bar);
 			nv_wr32(priv, 0x06000c,
@@ -63,6 +57,17 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 			nv_wr32(priv, 0x060010,
 				lower_32_bits(chan->vblank.offset));
 			nv_wr32(priv, 0x060014, chan->vblank.value);
+		} else {
+			nv_wr32(priv, 0x001704, chan->vblank.channel);
+			nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
+			bar->flush(bar);
+			if (nv_device(priv)->chipset == 0x50) {
+				nv_wr32(priv, 0x001570, chan->vblank.offset);
+				nv_wr32(priv, 0x001574, chan->vblank.value);
+			} else {
+				nv_wr32(priv, 0x060010, chan->vblank.offset);
+				nv_wr32(priv, 0x060014, chan->vblank.value);
+			}
 		}
 
 		list_del(&chan->vblank.head);

[-- Attachment #3: vblank-fix2.patch --]
[-- Type: application/octet-stream, Size: 1065 bytes --]

diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
index 05a909a..09ec59e 100644
--- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
@@ -39,7 +39,7 @@ nv50_disp_sclass[] = {
 static void
 nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 {
-	struct nouveau_bar *bar = nouveau_bar(priv);
+	struct nouveau_bar *bar;
 	struct nouveau_disp *disp = &priv->base;
 	struct nouveau_software_chan *chan, *temp;
 	unsigned long flags;
@@ -52,10 +52,10 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 		if (nv_device(priv)->chipset == 0x50) {
 			nv_wr32(priv, 0x001704, chan->vblank.channel);
 			nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
-			bar->flush(bar);
 			nv_wr32(priv, 0x001570, chan->vblank.offset);
 			nv_wr32(priv, 0x001574, chan->vblank.value);
 		} else {
+			bar = nouveau_bar(priv);
 			nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel);
 			bar->flush(bar);
 			nv_wr32(priv, 0x06000c,

[-- Attachment #4: Type: text/plain, Size: 181 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
  2012-11-11 20:25       ` Maarten Lankhorst
@ 2012-11-12 16:43         ` Sven Joachim
       [not found]         ` <50A009B8.2080107-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
  1 sibling, 0 replies; 12+ messages in thread
From: Sven Joachim @ 2012-11-12 16:43 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: Kelly Doran, nouveau, dri-devel, Ben Skeggs

On 2012-11-11 21:25 +0100, Maarten Lankhorst wrote:

> Op 11-11-12 19:35, Marcin Slusarz schreef:
>> On Sun, Nov 11, 2012 at 07:26:17PM +0100, Marcin Slusarz wrote:
>>> On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
>>>>
>>>> Op 06-11-12 15:48, Kelly Doran schreef:
>>>>> The vblank on nvc0 was not working correctly and would freeze X, I managed
>>>>> to track it down and fix it with some help from m.b.lankhorst, see
>>>>> https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
>>>>>
>>>> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
>>>>
>>>> I recommended the bar flush since nvd0 does as well, and there might be a small race
>>>> otherwise.
>>>>
>>>> Can this still get in before final 3.7 release?
>>> This patch breaks vblank here (nv92) completely.

Same here on nv86.

> Does removing the bar flush help?

No, it does not.

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
       [not found]         ` <50A009B8.2080107-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
@ 2012-11-12 21:30           ` Kelly Doran
  2012-11-12 21:52             ` Maarten Lankhorst
  0 siblings, 1 reply; 12+ messages in thread
From: Kelly Doran @ 2012-11-12 21:30 UTC (permalink / raw)
  To: Maarten Lankhorst
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs

[-- Attachment #1: Type: text/plain, Size: 1144 bytes --]

I had Sven test this patch... he said it works.  I think chipset
number test was executing code that we thought was only either 0x50 or
0xc0, but was actually more specific with things like 0x92.

On Sun, Nov 11, 2012 at 2:25 PM, Maarten Lankhorst
<maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> wrote:
> Op 11-11-12 19:35, Marcin Slusarz schreef:
>> On Sun, Nov 11, 2012 at 07:26:17PM +0100, Marcin Slusarz wrote:
>>> On Tue, Nov 06, 2012 at 07:30:00PM +0100, Maarten Lankhorst wrote:
>>>>
>>>> Op 06-11-12 15:48, Kelly Doran schreef:
>>>>> The vblank on nvc0 was not working correctly and would freeze X, I managed
>>>>> to track it down and fix it with some help from m.b.lankhorst, see
>>>>> https://bugs.freedesktop.org/show_bug.cgi?id=56692 for details.
>>>>>
>>>> Reviewed-by: Maarten Lankhorst <maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
>>>>
>>>> I recommended the bar flush since nvd0 does as well, and there might be a small race
>>>> otherwise.
>>>>
>>>> Can this still get in before final 3.7 release?
>>> This patch breaks vblank here (nv92) completely.
> Does removing the bar flush help?
>
> ~Maarte

[-- Attachment #2: vblank-fix1.patch --]
[-- Type: application/octet-stream, Size: 1475 bytes --]

diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
index 05a909a..15b182c 100644
--- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
@@ -49,13 +49,7 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 		if (chan->vblank.crtc != crtc)
 			continue;
 
-		if (nv_device(priv)->chipset == 0x50) {
-			nv_wr32(priv, 0x001704, chan->vblank.channel);
-			nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
-			bar->flush(bar);
-			nv_wr32(priv, 0x001570, chan->vblank.offset);
-			nv_wr32(priv, 0x001574, chan->vblank.value);
-		} else {
+		if (nv_device(priv)->chipset >= 0xc0) {
 			nv_wr32(priv, 0x001718, 0x80000000 | chan->vblank.channel);
 			bar->flush(bar);
 			nv_wr32(priv, 0x06000c,
@@ -63,6 +57,17 @@ nv50_disp_intr_vblank(struct nv50_disp_priv *priv, int crtc)
 			nv_wr32(priv, 0x060010,
 				lower_32_bits(chan->vblank.offset));
 			nv_wr32(priv, 0x060014, chan->vblank.value);
+		} else {
+			nv_wr32(priv, 0x001704, chan->vblank.channel);
+			nv_wr32(priv, 0x001710, 0x80000000 | chan->vblank.ctxdma);
+			bar->flush(bar);
+			if (nv_device(priv)->chipset == 0x50) {
+				nv_wr32(priv, 0x001570, chan->vblank.offset);
+				nv_wr32(priv, 0x001574, chan->vblank.value);
+			} else {
+				nv_wr32(priv, 0x060010, chan->vblank.offset);
+				nv_wr32(priv, 0x060014, chan->vblank.value);
+			}
 		}
 
 		list_del(&chan->vblank.head);

[-- Attachment #3: Type: text/plain, Size: 181 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
  2012-11-12 21:30           ` Kelly Doran
@ 2012-11-12 21:52             ` Maarten Lankhorst
       [not found]               ` <50A16FA6.5040002-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
  0 siblings, 1 reply; 12+ messages in thread
From: Maarten Lankhorst @ 2012-11-12 21:52 UTC (permalink / raw)
  To: Kelly Doran; +Cc: nouveau, dri-devel, Ben Skeggs

Op 12-11-12 22:30, Kelly Doran schreef:
> I had Sven test this patch... he said it works.  I think chipset
> number test was executing code that we thought was only either 0x50 or
> 0xc0, but was actually more specific with things like 0x92.
>
Oh right vblank is busted anyway... needs to be nv_device(priv-)>card_type == NV_50 to work.

Your patch is the correct fix.

~Maarten

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
       [not found]               ` <CAES2Cia3Z21ZPmpOA3B1fB5sDv4urHL8pbW+6u7AzPdbHPur4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-11-12 23:01                 ` Marcin Slusarz
  0 siblings, 0 replies; 12+ messages in thread
From: Marcin Slusarz @ 2012-11-12 23:01 UTC (permalink / raw)
  To: Kelly Doran
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On Mon, Nov 12, 2012 at 06:14:05AM -0600, Kelly Doran wrote:
> Okay I have added two patches, one of them should fix the problem...
> 

vblank-fix1.patch works, thanks.

Marcin

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Fix for vblank on nvc0
       [not found]               ` <50A16FA6.5040002-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
@ 2012-11-15 15:40                 ` Sven Joachim
  0 siblings, 0 replies; 12+ messages in thread
From: Sven Joachim @ 2012-11-15 15:40 UTC (permalink / raw)
  To: Maarten Lankhorst
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Ben Skeggs,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

On 2012-11-12 22:52 +0100, Maarten Lankhorst wrote:

> Op 12-11-12 22:30, Kelly Doran schreef:
>> I had Sven test this patch... he said it works.  I think chipset
>> number test was executing code that we thought was only either 0x50 or
>> 0xc0, but was actually more specific with things like 0x92.
>>
> Oh right vblank is busted anyway... needs to be nv_device(priv-)>card_type == NV_50 to work.
>
> Your patch is the correct fix.

The patch has landed in the nouveau/master branch now, but not in
drm-nouveau-fixes where it is also needed.

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-11-15 15:40 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-06 14:48 Fix for vblank on nvc0 Kelly Doran
2012-11-06 18:30 ` Maarten Lankhorst
2012-11-11 18:26   ` Marcin Slusarz
2012-11-11 18:35     ` Marcin Slusarz
     [not found]       ` <20121111183519.GA2959-OI9uyE9O0yo@public.gmane.org>
2012-11-11 18:51         ` Kelly Doran
     [not found]           ` <CAES2CiZMtsZB6wcAerURtLnTY-F6U8CSrL6YGg0p0A+Zt+SbCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-12 12:14             ` Kelly Doran
     [not found]               ` <CAES2Cia3Z21ZPmpOA3B1fB5sDv4urHL8pbW+6u7AzPdbHPur4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-12 23:01                 ` Marcin Slusarz
2012-11-11 20:25       ` Maarten Lankhorst
2012-11-12 16:43         ` Sven Joachim
     [not found]         ` <50A009B8.2080107-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2012-11-12 21:30           ` Kelly Doran
2012-11-12 21:52             ` Maarten Lankhorst
     [not found]               ` <50A16FA6.5040002-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2012-11-15 15:40                 ` Sven Joachim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.