disp: msm: add support for splitlink in sde drm

Change adds support for splitlink and disables
dsc merge or 3dmerge which is not needed for splitlink.

Change-Id: I77a794d3ea6f53988f493a7af792add81abb22f0
Signed-off-by: Vara Reddy <varar@codeaurora.org>
This commit is contained in:
Vara Reddy
2021-02-10 12:23:47 -08:00
parent 1b3ad8486d
commit 02a4648999
5 changed files with 32 additions and 10 deletions

View File

@@ -1007,6 +1007,8 @@ static int sde_encoder_virt_atomic_check(
struct sde_connector_state *sde_conn_state = NULL;
struct sde_crtc_state *sde_crtc_state = NULL;
enum sde_rm_topology_name old_top;
enum sde_rm_topology_name top_name;
struct msm_display_info *disp_info;
int ret = 0;
bool qsync_dirty = false, has_modeset = false;
@@ -1017,6 +1019,7 @@ static int sde_encoder_virt_atomic_check(
}
sde_enc = to_sde_encoder_virt(drm_enc);
disp_info = &sde_enc->disp_info;
SDE_DEBUG_ENC(sde_enc, "\n");
sde_kms = sde_encoder_get_kms(drm_enc);
@@ -1060,6 +1063,17 @@ static int sde_encoder_virt_atomic_check(
if (ret)
return ret;
top_name = sde_connector_get_property(conn_state,
CONNECTOR_PROP_TOPOLOGY_NAME);
if ((disp_info->capabilities & MSM_DISPLAY_SPLIT_LINK) && crtc_state->active) {
if ((top_name != SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE) &&
(top_name != SDE_RM_TOPOLOGY_DUALPIPE_DSCMERGE)) {
SDE_ERROR_ENC(sde_enc, "Splitlink check failed, top_name:%d",
top_name);
return -EINVAL;
}
}
ret = sde_connector_roi_v1_check_roi(conn_state);
if (ret) {
SDE_ERROR_ENC(sde_enc, "connector roi check failed, rc: %d",