disp: msm: sde: expose cdm block count through connector

Expose the number of cdm blocks available through the connector
capabilities. Add CDM to the topology_control table, so usermode
can use the property to reserve the CDM block during modeset.
Additionally, fix a error code return during CDM block reservation
failure in sde resource manager.

Change-Id: Ib42ca4e8614076a8e5df77d8abc77a9e73674390
Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
This commit is contained in:
Veera Sundaram Sankaran
2022-09-06 11:06:02 -07:00
zatwierdzone przez Gerrit - the friendly Code Review server
rodzic 4afb745c53
commit 8602fee9f8
4 zmienionych plików z 12 dodań i 1 usunięć

Wyświetl plik

@@ -37,6 +37,7 @@
#define RM_RQ_CWB(r) ((r)->top_ctrl & BIT(SDE_RM_TOPCTL_CWB))
#define RM_RQ_DCWB(r) ((r)->top_ctrl & BIT(SDE_RM_TOPCTL_DCWB))
#define RM_RQ_DNSC_BLUR(r) ((r)->top_ctrl & BIT(SDE_RM_TOPCTL_DNSC_BLUR))
#define RM_RQ_CDM(r) ((r)->top_ctrl & BIT(SDE_RM_TOPCTL_CDM))
#define RM_IS_TOPOLOGY_MATCH(t, r) ((t).num_lm == (r).num_lm && \
(t).num_comp_enc == (r).num_enc && \
(t).num_intf == (r).num_intf && \
@@ -1882,8 +1883,11 @@ static int _sde_rm_reserve_intf_or_wb(struct sde_rm *rm, struct sde_rm_rsvp *rsv
}
/* Expected only one intf or wb will request cdm */
if (hw_res->needs_cdm)
if (hw_res->needs_cdm || RM_RQ_CDM(reqs)) {
ret = _sde_rm_reserve_cdm(rm, rsvp, id, type);
if (ret)
return ret;
}
if (RM_RQ_DNSC_BLUR(reqs))
ret = _sde_rm_reserve_dnsc_blur(rm, rsvp, id, type);