From: Ove K. <ov...@ar...> - 2001-02-27 21:58:30
|
I've been trying to debug this @#%& r128 lockup for many days now, but without getting anywhere... so now every cce_dispatch in the kernel module has do_cce_idle() both at the beginning and at the end of the function, and it still locks up, and I don't think this is fun. But maybe it'll be useful for you to see what I have got now... 2nd last vertex buffer dispatched, just in case it's relevant: Feb 27 22:33:36 acroyali kernel: [drm] dispatch_vertex: (0x5) context, tex0, Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 13 ) in r128_emit_context Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000b0720 ) at 0x3ffcc Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x1000c080 ) at 0x3ffcd Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x7acc34da ) at 0x3ffce Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00fe017a ) at 0x3ffcf Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x02dd03f9 ) at 0x3ffd0 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00301000 ) at 0x3ffd1 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00010080 ) at 0x3ffd2 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00007010 ) at 0x3ffd3 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x3f000312 ) at 0x3ffd4 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x07540600 ) at 0x3ffd5 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000000 ) at 0x3ffd6 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0xffffffff ) at 0x3ffd7 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00ffffff ) at 0x3ffd8 Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x03ffd9 wr=0x03ffcc Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 18 ) in r128_emit_tex0 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000d072c ) at 0x3ffd9 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000f0080 ) at 0x3ffda Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x04181040 ) at 0x3ffdb Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00007477 ) at 0x3ffdc Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffdd Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffde Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffdf Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe0 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe1 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe2 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe3 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe4 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe5 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe6 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3ffe7 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x0001074d ) at 0x3ffe8 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00ffffff ) at 0x3ffe9 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000000 ) at 0x3ffea Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x03ffeb wr=0x03ffd9 Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 5 ) in r128_cce_dispatch_vertex Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0xc0032300 ) at 0x3ffeb Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0xe4102000 ) at 0x3ffec Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000006 ) at 0x3ffed Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000000c9 ) at 0x3ffee Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00060024 ) at 0x3ffef Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x03fff0 wr=0x03ffeb Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 2 ) in r128_cce_dispatch_vertex Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000579 ) at 0x3fff0 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00001aea ) at 0x3fff1 Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x03fff2 wr=0x03fff0 Last vertex buffer dispatched before lockup (note that since cce_idle is called on function entry, the ring is empty and engine idle at this point): Feb 27 22:33:36 acroyali kernel: [drm] dispatch_vertex: (0x5) context, tex0, Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 13 ) in r128_emit_context Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000b0720 ) at 0x3fff2 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x1000c080 ) at 0x3fff3 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x7acc34da ) at 0x3fff4 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00fe017a ) at 0x3fff5 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x02dd03f9 ) at 0x3fff6 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00301000 ) at 0x3fff7 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00010080 ) at 0x3fff8 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00007010 ) at 0x3fff9 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x3f000312 ) at 0x3fffa Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x07540600 ) at 0x3fffb Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000000 ) at 0x3fffc Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0xffffffff ) at 0x3fffd Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00ffffff ) at 0x3fffe Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x03ffff wr=0x03fff2 Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 18 ) in r128_emit_tex0 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000d072c ) at 0x3ffff Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000f0080 ) at 0x0 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x04181040 ) at 0x1 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00007477 ) at 0x2 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x3 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x4 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x5 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x6 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x7 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x8 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0x9 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0xa Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0xb Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0xc Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00793000 ) at 0xd Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x0001074d ) at 0xe Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00ffffff ) at 0xf Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000000 ) at 0x10 Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x000011 wr=0x03ffff Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 5 ) in r128_cce_dispatch_vertex Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0xc0032300 ) at 0x11 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0xe4102000 ) at 0x12 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000006 ) at 0x13 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x000000c9 ) at 0x14 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00060024 ) at 0x15 Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x000016 wr=0x000011 Feb 27 22:33:36 acroyali kernel: [drm] BEGIN_RING( 2 ) in r128_cce_dispatch_vertex Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00000579 ) at 0x16 Feb 27 22:33:36 acroyali kernel: [drm] OUT_RING( 0x00001aeb ) at 0x17 Feb 27 22:33:36 acroyali kernel: [drm] ADVANCE_RING() tail=0x000018 wr=0x000016 Now, after the simple animation having worked for many seconds, suddenly cce_idle no longer returns success. Feb 27 22:33:36 acroyali kernel: [drm:r128_cce_dispatch_vertex] *ERROR* engine lockup Feb 27 22:33:36 acroyali kernel: [drm:r128_cce_dispatch_vertex] *ERROR* ring tail=0x000018 head=0x000018 space=0x0fff68 Feb 27 22:33:36 acroyali kernel: [drm:r128_cce_dispatch_vertex] *ERROR* ring size=0x100000 mask=0x03ffff Feb 27 22:33:47 acroyali kernel: SysRq: SAK Want an account on my machine or something, Gareth? Or what else can I look for in here? |