Merge "disp: msm: sde: dynamic lm reservation for secondary disp"
这个提交包含在:
@@ -1533,8 +1533,8 @@ int sde_connector_helper_reset_custom_properties(
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int _sde_connector_primary_preference(struct sde_connector *sde_conn,
|
||||
struct sde_kms *sde_kms)
|
||||
static int _sde_connector_lm_preference(struct sde_connector *sde_conn,
|
||||
struct sde_kms *sde_kms, uint32_t disp_type)
|
||||
{
|
||||
int ret = 0;
|
||||
u32 num_lm = 0;
|
||||
@@ -1544,6 +1544,11 @@ static int _sde_connector_primary_preference(struct sde_connector *sde_conn,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!disp_type || disp_type >= SDE_CONNECTOR_MAX) {
|
||||
SDE_DEBUG("invalid display_type");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = sde_conn->ops.get_default_lms(sde_conn->display, &num_lm);
|
||||
if (ret || !num_lm) {
|
||||
SDE_DEBUG("failed to get default lm count");
|
||||
@@ -1557,7 +1562,7 @@ static int _sde_connector_primary_preference(struct sde_connector *sde_conn,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
sde_hw_mixer_set_preference(sde_kms->catalog, num_lm);
|
||||
sde_hw_mixer_set_preference(sde_kms->catalog, num_lm, disp_type);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -2453,8 +2458,8 @@ struct drm_connector *sde_connector_init(struct drm_device *dev,
|
||||
goto error_destroy_property;
|
||||
}
|
||||
|
||||
if (display_info.is_primary)
|
||||
_sde_connector_primary_preference(c_conn, sde_kms);
|
||||
_sde_connector_lm_preference(c_conn, sde_kms,
|
||||
display_info.display_type);
|
||||
|
||||
SDE_DEBUG("connector %d attach encoder %d\n",
|
||||
c_conn->base.base.id, encoder->base.id);
|
||||
|
在新工单中引用
屏蔽一个用户