Răsfoiți Sursa

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 ani în urmă
părinte
comite
dfc0ea0a08
1 a modificat fișierele cu 6 adăugiri și 1 ștergeri
  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);