Messages in this thread | | | Date | Tue, 17 Oct 2006 19:56:43 -0400 | Subject | Re: Intel 965G: i915_dispatch_cmdbuffer failed (2.6.19-rc2) | From | Ryan Richter <> |
| |
On Wed, Oct 18, 2006 at 06:27:42AM +0800, Keith Packard wrote: > On Tue, 2006-10-17 at 13:40 -0400, Ryan Richter wrote: > > > So do I want something like > > > > > > static int do_validate_cmd(int cmd) > > { > > return 1; > > } > > > > in i915_dma.c? > > that will certainly avoid any checks. Another alternative is to printk > the cmd which fails validation so we can see what needs adding here.
With just the above, running a GL client (even glxinfo) locks up the display such that it can't be recovered without a reboot. It doesn't kill the machine, though. What looks like a 64x64 block of garbage appears on the screen. The kernel says
[drm:i915_wait_irq] *ERROR* i915_wait_irq: EBUSY -- rec: 0 emitted: 2
If instead I change the validate_cmd function to:
static int validate_cmd(int cmd) { int ret = do_validate_cmd(cmd);
if(!ret) printk("validate_cmd( %x ): %d\n", cmd, ret);
return 1; }
I get basically the same behavior, but different output:
validate_cmd( 1e3f0003 ): 0 validate_cmd( 1e3f0003 ): 0 validate_cmd( d90003 ): 0 validate_cmd( d90003 ): 0 validate_cmd( d70003 ): 0 validate_cmd( d90003 ): 0 validate_cmd( d90003 ): 0 validate_cmd( d90003 ): 0 validate_cmd( d90003 ): 0 validate_cmd( 8d8c0003 ): 0 validate_cmd( d70003 ): 0 [drm:i915_batchbuffer] *ERROR* i915_batchbuffer called without lock held
Thanks, -ryan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |