disp: msm: dp: address race condition in LM allocation

Addresses a race condition which could cause the RM to overcommiting LMs to
DP when multiple DP displays are used.

sde_rm_get_resource_info now uses the RM's mutex and assumes a null
encoder is not a built in display so that it can return an accurate
count of unreserved resources.

DP layer now maintains internal accounting of LMs in use to avoid
validating modes that have insufficient remaining resources.

Change-Id: I908c1597c1d651b6f9c9b74a34137f30087d8801
Signed-off-by: Alex Danila <quic_eadanila@quicinc.com>
这个提交包含在:
Alex Danila
2021-12-14 13:37:22 -05:00
父节点 7b00783abe
当前提交 5ed42eb243
修改 7 个文件,包含 82 行新增17 行删除

查看文件

@@ -828,6 +828,7 @@ struct msm_mode_info {
/**
* struct msm_resource_caps_info - defines hw resources
* @num_lm_in_use number of layer mixers allocated to a specified encoder
* @num_lm number of layer mixers available
* @num_dsc number of dsc available
* @num_vdc number of vdc available
@@ -836,6 +837,7 @@ struct msm_mode_info {
* @max_mixer_width: max width supported by layer mixer
*/
struct msm_resource_caps_info {
uint32_t num_lm_in_use;
uint32_t num_lm;
uint32_t num_dsc;
uint32_t num_vdc;