disp: msm: add VDC topology related changes

Add support to configure the DPU pipeline to support VDC-m
topologies.

Change-Id: Ib8ce9a0eaeaa838759fb09cb2ee164d4765e4989
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
此提交包含在:
Abhinav Kumar
2019-08-29 19:35:31 -07:00
提交者 Gerrit - the friendly Code Review server
父節點 d88b5b5c67
當前提交 c4f5050e13
共有 14 個檔案被更改,包括 453 行新增24 行删除

查看文件

@@ -19,10 +19,12 @@
* @SDE_RM_TOPOLOGY_NONE: No topology in use currently
* @SDE_RM_TOPOLOGY_SINGLEPIPE: 1 LM, 1 PP, 1 INTF/WB
* @SDE_RM_TOPOLOGY_SINGLEPIPE_DSC: 1 LM, 1 DSC, 1 PP, 1 INTF/WB
* @SDE_RM_TOPOLOGY_SINGLEPIPE_VDC: 1 LM, 1 VDC, 1 PP, 1 INTF/WB
* @SDE_RM_TOPOLOGY_DUALPIPE: 2 LM, 2 PP, 2 INTF/WB
* @SDE_RM_TOPOLOGY_DUALPIPE_DSC: 2 LM, 2 DSC, 2 PP, 2 INTF/WB
* @SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE: 2 LM, 2 PP, 3DMux, 1 INTF/WB
* @SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC: 2 LM, 2 PP, 3DMux, 1 DSC, 1 INTF/WB
* @SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC: 2 LM, 2 PP, 3DMux, 1 VDC, 1 INTF/WB
* @SDE_RM_TOPOLOGY_DUALPIPE_DSCMERGE: 2 LM, 2 PP, 2 DSC Merge, 1 INTF/WB
* @SDE_RM_TOPOLOGY_PPSPLIT: 1 LM, 2 PPs, 2 INTF/WB
*/
@@ -30,10 +32,12 @@ enum sde_rm_topology_name {
SDE_RM_TOPOLOGY_NONE = 0,
SDE_RM_TOPOLOGY_SINGLEPIPE,
SDE_RM_TOPOLOGY_SINGLEPIPE_DSC,
SDE_RM_TOPOLOGY_SINGLEPIPE_VDC,
SDE_RM_TOPOLOGY_DUALPIPE,
SDE_RM_TOPOLOGY_DUALPIPE_DSC,
SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE,
SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC,
SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC,
SDE_RM_TOPOLOGY_DUALPIPE_DSCMERGE,
SDE_RM_TOPOLOGY_PPSPLIT,
SDE_RM_TOPOLOGY_MAX,
@@ -299,6 +303,27 @@ static inline const struct sde_rm_topology_def*
return &rm->topology_tbl[topology];
}
/**
* sde_rm_topology_get_num_lm - returns number of mixers
* used for this topology
* @rm: SDE Resource Manager handle
* @topology: topology selected for the display
* @return: number of lms
*/
static inline int sde_rm_topology_get_num_lm(struct sde_rm *rm,
enum sde_rm_topology_name topology)
{
if ((!rm) || (topology <= SDE_RM_TOPOLOGY_NONE) ||
(topology >= SDE_RM_TOPOLOGY_MAX)) {
pr_err("invalid arguments: rm:%d topology:%d\n",
rm == NULL, topology);
return -EINVAL;
}
return rm->topology_tbl[topology].num_lm;
}
/**
* sde_rm_ext_blk_create_reserve - Create external HW blocks
* in resource manager and reserve for specific encoder.