| From 09afaebfb94aad7a01ed5a3f71a77fbb70e7b550 Mon Sep 17 00:00:00 2001 |
| From: "Xiang, Haihao" <haihao.xiang@intel.com> |
| Date: Thu, 16 Jun 2016 13:32:00 +0800 |
| Subject: [PATCH 7/8] Make sure a right VEBOX_IECP_STATE is used on BDW+ |
| |
| Some features of IECP aren't enabled, and the corresponding fields must |
| be set to 0 in VEBOX_IECP_STATE. Thanks for Peng's finding: The issue disappear |
| when disable libdrm cache |
| |
| This fixes https://bugs.freedesktop.org/show_bug.cgi?id=95349 |
| |
| Cc: peng.chen <peng.c.chen@intel.com> |
| Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com> |
| Tested-by: Lim Siew Hoon <siew.hoon.lim@intel.com> |
| Tested-by: peng.chen <peng.c.chen@intel.com> |
| Tested-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com> |
| --- |
| src/gen75_vpp_vebox.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/src/gen75_vpp_vebox.c b/src/gen75_vpp_vebox.c |
| index 8d0569d..e124604 100644 |
| --- a/src/gen75_vpp_vebox.c |
| +++ b/src/gen75_vpp_vebox.c |
| @@ -923,6 +923,7 @@ void hsw_veb_state_table_setup(VADriverContextP ctx, struct intel_vebox_context |
| 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, 97 * 4); |
| |
| hsw_veb_iecp_std_table(ctx, proc_ctx); |
| hsw_veb_iecp_ace_table(ctx, proc_ctx); |
| @@ -2196,6 +2197,7 @@ void skl_veb_state_table_setup(VADriverContextP ctx, struct intel_vebox_context |
| 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); |
| -- |
| 2.5.5 |
| |