disp: msm: sde: adjust DSC encoders to support all 4LM topologies
Add support for all 4LM topologies in new DCE encoder framework. This change also aligns with the new way of checking topology information. Change-Id: I5358d60634070bdb26059056db884ad4161c073e Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
此提交包含在:

提交者
Gerrit - the friendly Code Review server

父節點
707ce010fe
當前提交
b121756b5d
@@ -2142,6 +2142,63 @@ bool sde_rm_topology_is_quad_pipe(struct sde_rm *rm,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool sde_rm_topology_is_dual_pipe(struct sde_rm *rm,
|
||||
struct drm_crtc_state *state)
|
||||
{
|
||||
int i;
|
||||
struct sde_crtc_state *cstate;
|
||||
uint64_t topology = SDE_RM_TOPOLOGY_NONE;
|
||||
|
||||
if ((!rm) || (!state)) {
|
||||
pr_err("invalid arguments: rm:%d state:%d\n",
|
||||
rm == NULL, state == NULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
cstate = to_sde_crtc_state(state);
|
||||
|
||||
for (i = 0; i < cstate->num_connectors; i++) {
|
||||
struct drm_connector *conn = cstate->connectors[i];
|
||||
|
||||
topology = sde_connector_get_topology_name(conn);
|
||||
if (TOPOLOGY_DUALPIPE_MERGE_MODE(topology))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool sde_rm_topology_is_3dmux_dsc(struct sde_rm *rm,
|
||||
struct drm_crtc_state *state)
|
||||
{
|
||||
int i;
|
||||
struct sde_crtc_state *cstate;
|
||||
uint64_t topology = SDE_RM_TOPOLOGY_NONE;
|
||||
const struct sde_rm_topology_def *def;
|
||||
int num_lm, num_enc;
|
||||
|
||||
if ((!rm) || (!state)) {
|
||||
pr_err("invalid arguments: rm:%d state:%d\n",
|
||||
rm == NULL, state == NULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
cstate = to_sde_crtc_state(state);
|
||||
|
||||
for (i = 0; i < cstate->num_connectors; i++) {
|
||||
struct drm_connector *conn = cstate->connectors[i];
|
||||
|
||||
topology = sde_connector_get_topology_name(conn);
|
||||
def = sde_rm_topology_get_topology_def(rm, topology);
|
||||
num_lm = def->num_lm;
|
||||
num_enc = def->num_comp_enc;
|
||||
if (num_lm > num_enc && num_enc)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* _sde_rm_release_rsvp - release resources and release a reservation
|
||||
* @rm: KMS handle
|
||||
|
新增問題並參考
封鎖使用者