[Libva] [PATCH 2/2] batch: fix MI_FLUSH_DW for Broadwell.

Gwenole Beauchesne gb.devel at gmail.com
Wed May 14 00:47:11 PDT 2014


The MI_FLUSH_DW command contains 5 dwords on Broadwell, i.e. one extra
dword for the high order bits of the Address field.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
---
 src/intel_batchbuffer.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/intel_batchbuffer.c b/src/intel_batchbuffer.c
index bc564d5..01e04d5 100644
--- a/src/intel_batchbuffer.c
+++ b/src/intel_batchbuffer.c
@@ -247,13 +247,16 @@ intel_batchbuffer_emit_mi_flush(struct intel_batchbuffer *batch)
             }
 
         } else {
+            const uint32_t extra_dword = !!IS_GEN8(intel->device_id);
             uint32_t cmd = MI_FLUSH_DW;
             if (batch->flag == I915_EXEC_BSD)
                 cmd |= MI_FLUSH_DW_VIDEO_PIPELINE_CACHE_INVALIDATE;
 
-            __BEGIN_BATCH(batch, 4, batch->flag);
-            __OUT_BATCH(batch, cmd);
+            __BEGIN_BATCH(batch, 4|extra_dword, batch->flag);
+            __OUT_BATCH(batch, cmd|extra_dword);
             __OUT_BATCH(batch, 0);
+            if (extra_dword)
+                __OUT_BATCH(batch, 0);
             __OUT_BATCH(batch, 0);
             __OUT_BATCH(batch, 0);
             __ADVANCE_BATCH(batch);
-- 
1.8.3.2



More information about the Libva mailing list