瀏覽代碼

disp: msm: sde: fix dpu registers to use fence protocol id

Current dpu hw settings do not match the protocol id with
the ipcc hw protocol id for the fencing protocol.
This change adjusts the programming of the dpu configuration
register to properly select and use the fencing protocol.

Change-Id: I253c15856b8b3baaa3780681d953c2e79a30d686
Signed-off-by: Ingrid Gallardo <[email protected]>
Ingrid Gallardo 2 年之前
父節點
當前提交
dfc0ea0a08
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      msm/sde/sde_hw_top.c

+ 6 - 1
msm/sde/sde_hw_top.c

@@ -115,6 +115,9 @@
 #define HW_FENCE_DPU_INPUT_FENCE_START_N		0
 #define HW_FENCE_DPU_OUTPUT_FENCE_START_N		4
 
+#define HW_FENCE_IPCC_FENCE_PROTOCOL_ID 4
+#define HW_FENCE_DPU_FENCE_PROTOCOL_ID 3
+
 static void sde_hw_setup_split_pipe(struct sde_hw_mdp *mdp,
 		struct split_pipe_cfg *cfg)
 {
@@ -681,7 +684,9 @@ static void sde_hw_setup_hw_fences_config(struct sde_hw_mdp *mdp, u32 protocol_i
 	c.blk_off = 0x0;
 
 	/*select ipcc protocol id for dpu */
-	SDE_REG_WRITE(&c, MDP_CTL_HW_FENCE_CTRL, protocol_id);
+	val = (protocol_id == HW_FENCE_IPCC_FENCE_PROTOCOL_ID) ?
+		HW_FENCE_DPU_FENCE_PROTOCOL_ID : protocol_id;
+	SDE_REG_WRITE(&c, MDP_CTL_HW_FENCE_CTRL, val);
 
 	/* configure the start of the FENCE_IDn_ISR ops for input and output fence isr's */
 	val = (HW_FENCE_DPU_OUTPUT_FENCE_START_N << 16) | (HW_FENCE_DPU_INPUT_FENCE_START_N & 0xFF);