<div class="gmail_quote">On Mon, Apr 2, 2012 at 08:08, Daniel Vetter <span dir="ltr"><<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

... and add support to decode MI instructions with functions.<br>
<br>
Signed-Off-by: Daniel Vetter <<a href="mailto:daniel.vetter@ffwll.ch">daniel.vetter@ffwll.ch</a>><br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

---<br>
 intel/intel_decode.c |   77 ++++++++++++++++++++++++++++++++++++++++++++++++-<br>
 1 files changed, 75 insertions(+), 2 deletions(-)<br>
<br>
diff --git a/intel/intel_decode.c b/intel/intel_decode.c<br>
index df9b704..4141f9e 100644<br>
--- a/intel/intel_decode.c<br>
+++ b/intel/intel_decode.c<br>
@@ -139,6 +139,74 @@ instr_out(struct drm_intel_decode *ctx, unsigned int index,<br>
 }<br>
<br>
 static int<br>
+decode_MI_WAIT_FOR_EVENT(struct drm_intel_decode *ctx)<br>
+{<br>+       if (ctx->gen <= 5) {<br>
+               instr_out(ctx, 0, "MI_WAIT_FOR_EVENT%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",<br>
+                         data & (1<<18)? ", pipe B start vblank wait": "",<br>
+                         data & (1<<17)? ", pipe A start vblank wait": "",<br>
+                         data & (1<<16)? ", overlay flip pending wait": "",<br>
+                         data & (1<<14)? ", pipe B hblank wait": "",<br>
+                         data & (1<<13)? ", pipe A hblank wait": "",<br>
+                         cc_wait,<br>
+                         data & (1<<8)? ", plane C pending flip wait": "",<br>
+                         data & (1<<7)? ", pipe B vblank wait": "",<br>
+                         data & (1<<6)? ", plane B pending flip wait": "",<br>
+                         data & (1<<5)? ", pipe B scan line wait": "",<br>
+                         data & (1<<4)? ", fbc idle wait": "",<br>
+                         data & (1<<3)? ", pipe A vblank wait": "",<br>
+                         data & (1<<2)? ", plane A pending flip wait": "",<br>
+                         data & (1<<1)? ", plane A scan linscan line": "");<br></blockquote><div><br></div><div>Shouldn't it be "plane A scan line wait"?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


+       } else {<br>
+               instr_out(ctx, 0, "MI_WAIT_FOR_EVENT%s%s%s%s%s%s%s%s%s%s%s%s\n",<br>
+                         data & (1<<20)? ", prite C pending flip wait": "", /* ivb */<br></blockquote><div><br></div><div>s/prite/sprite/.</div><div><br></div><div><div>The only major question I have about this is if we should add the other IVB-specific fields as well, besides the (1<<20) one.</div>

<div><br></div></div><div>Other than that,</div><div><div>Reviewed-by: Eugeni Dodonov <<a href="mailto:eugeni.dodonov@intel.com">eugeni.dodonov@intel.com</a>></div></div><div><br></div></div>-- <br>Eugeni Dodonov<a href="http://eugeni.dodonov.net/" target="_blank"><br>

</a><br>