[Libva] [PATCH V1][libva-intel-driver] Clear IECP state buffer when it is enabled

peng.chen peng.c.chen at intel.com
Fri Sep 9 08:40:30 UTC 2016


It fixes a VEBOX GPU hang up issue while doing P010->NV12 CSC

Signed-off-by: peng.chen <peng.c.chen at intel.com>
---
 src/gen75_vpp_vebox.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
 mode change 100644 => 100755 src/gen75_vpp_vebox.c

diff --git a/src/gen75_vpp_vebox.c b/src/gen75_vpp_vebox.c
old mode 100644
new mode 100755
index 91715fc..f008c9f
--- a/src/gen75_vpp_vebox.c
+++ b/src/gen75_vpp_vebox.c
@@ -2216,18 +2216,20 @@ void skl_veb_state_table_setup(VADriverContextP ctx, struct intel_vebox_context
         dri_bo_unmap(dndi_bo);
     }
 
-    if(proc_ctx->filters_mask & VPP_IECP_MASK) {
+    if(proc_ctx->is_iecp_enabled) {
         dri_bo *iecp_bo = proc_ctx->iecp_state_table.bo;
         dri_bo_map(iecp_bo, 1);
         proc_ctx->iecp_state_table.ptr = iecp_bo->virtual;
         memset(proc_ctx->iecp_state_table.ptr, 0, 90 * 4);
 
-        hsw_veb_iecp_std_table(ctx, proc_ctx);
-        hsw_veb_iecp_ace_table(ctx, proc_ctx);
-        hsw_veb_iecp_tcc_table(ctx, proc_ctx);
-        hsw_veb_iecp_pro_amp_table(ctx, proc_ctx);
-        skl_veb_iecp_csc_table(ctx, proc_ctx);
-        skl_veb_iecp_aoi_table(ctx, proc_ctx);
+        if(proc_ctx->filters_mask & VPP_IECP_MASK) {
+            hsw_veb_iecp_std_table(ctx, proc_ctx);
+            hsw_veb_iecp_ace_table(ctx, proc_ctx);
+            hsw_veb_iecp_tcc_table(ctx, proc_ctx);
+            hsw_veb_iecp_pro_amp_table(ctx, proc_ctx);
+            skl_veb_iecp_csc_table(ctx, proc_ctx);
+            skl_veb_iecp_aoi_table(ctx, proc_ctx);
+        }
 
         dri_bo_unmap(iecp_bo);
     }
-- 
1.9.1



More information about the Libva mailing list