From d036a97b00a57ba9becde5b65827741105a6eb67 Mon Sep 17 00:00:00 2001 From: Christopher Braga Date: Fri, 5 Jun 2020 16:50:02 -0400 Subject: [PATCH] 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 --- msm/sde/sde_plane.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/msm/sde/sde_plane.c b/msm/sde/sde_plane.c index 7d4d7fa229..f05070c08f 100644 --- a/msm/sde/sde_plane.c +++ b/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);