浏览代码

disp: msm: sde: replace demura pipe index cap. with general pipe index

Generalize the demura pipe index capability on sde_plane objects to
instead provide the relative pipe index for all plane types. This
information can be used by clients to fully determine a plane type
and its position.

Change-Id: I597da0dab92c249b16934b9327353e4937635606
Signed-off-by: Christopher Braga <[email protected]>
Christopher Braga 5 年之前
父节点
当前提交
d036a97b00
共有 1 个文件被更改,包括 14 次插入4 次删除
  1. 14 4
      msm/sde/sde_plane.c

+ 14 - 4
msm/sde/sde_plane.c

@@ -3544,6 +3544,7 @@ static void _sde_plane_setup_capabilities_blob(struct sde_plane *psde,
 	bool is_master = !psde->is_virtual;
 	const struct sde_format_extended *format_list;
 	u32 index;
+	int pipe_id;
 
 	if (is_master) {
 		format_list = psde->pipe_sblk->format_list;
@@ -3582,13 +3583,22 @@ static void _sde_plane_setup_capabilities_blob(struct sde_plane *psde,
 			psde->pipe_sblk->max_per_pipe_bw * 1000LL);
 	sde_kms_info_add_keyint(info, "max_per_pipe_bw_high",
 			psde->pipe_sblk->max_per_pipe_bw_high * 1000LL);
+
+	if (psde->pipe <= SSPP_VIG3 && psde->pipe >= SSPP_VIG0)
+		pipe_id = psde->pipe -  SSPP_VIG0;
+	else if (psde->pipe <= SSPP_RGB3 && psde->pipe >= SSPP_RGB0)
+		pipe_id = psde->pipe -  SSPP_RGB0;
+	else if (psde->pipe <= SSPP_DMA3 && psde->pipe >= SSPP_DMA0)
+		pipe_id = psde->pipe -  SSPP_DMA0;
+	else
+		pipe_id = -1;
+
+	sde_kms_info_add_keyint(info, "pipe_idx", pipe_id);
+
 	index = (master_plane_id == 0) ? 0 : 1;
 	if (catalog->has_demura &&
-	    catalog->demura_supported[psde->pipe][index] != ~0x0) {
+	    catalog->demura_supported[psde->pipe][index] != ~0x0)
 		sde_kms_info_add_keyint(info, "demura_block", index);
-		sde_kms_info_add_keyint(info, "demura_pipe_id",
-				psde->pipe - SSPP_DMA0);
-	}
 
 	if (psde->features & BIT(SDE_SSPP_SEC_UI_ALLOWED))
 		sde_kms_info_add_keyint(info, "sec_ui_allowed", 1);