disp: msm : Add the ACL panel param feature
Add the ACL panel param feature which will be controlled from the user-space Port from: 8f42287 Change-Id: I51a2685728810ddd702af287b8b92fa2c63466cb Signed-off-by: Bang Nguyen <bangnguyen@motorola.com> Reviewed-on: https://gerrit.mot.com/1444407 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Submit-Approved: Jira Key Reviewed-on: https://gerrit.mot.com/1509810 Reviewed-by: Hua Tan <tanhua1@motorola.com>
This commit is contained in:
1 parent
28d09dd727
commit
4dc0d44e9c
5 files changed
+35
-1
No files matched your search
@@ -283,6 +283,8 @@ enum dsi_dyn_clk_feature_type {
|
||||
* @DSI_CMD_SET_QSYNC_OFF Disable qsync mode
|
||||
* @DSI_CMD_SET_HBM_ON: Turning HBM on
|
||||
* @DSI_CMD_SET_HBM_OFF: Turning HBM off
|
||||
* @DSI_CMD_SET_ACL_ON: Turning ACL on
|
||||
* @DSI_CMD_SET_ACL_OFF: Turning ACL off
|
||||
* @DSI_CMD_SET_MAX
|
||||
*/
|
||||
enum dsi_cmd_set_type {
|
||||
@@ -311,6 +313,8 @@ enum dsi_cmd_set_type {
|
||||
DSI_CMD_SET_QSYNC_OFF,
|
||||
DSI_CMD_SET_HBM_ON,
|
||||
DSI_CMD_SET_HBM_OFF,
|
||||
DSI_CMD_SET_ACL_ON,
|
||||
DSI_CMD_SET_ACL_OFF,
|
||||
DSI_CMD_SET_MAX
|
||||
};
|
||||
|
||||
|
||||
+12
-1
@@ -101,15 +101,23 @@ static char dsi_dsc_rc_range_max_qp_1_1_scr1[][15] = {
|
||||
static char dsi_dsc_rc_range_bpg_offset[] = {2, 0, 0, -2, -4, -6, -8, -8,
|
||||
-8, -10, -10, -12, -12, -12, -12};
|
||||
|
||||
|
||||
static struct panel_param_val_map hbm_map[HBM_STATE_NUM] = {
|
||||
{HBM_OFF_STATE, DSI_CMD_SET_HBM_OFF, NULL},
|
||||
{HBM_ON_STATE, DSI_CMD_SET_HBM_ON, NULL},
|
||||
};
|
||||
|
||||
static struct panel_param_val_map acl_map[ACL_STATE_NUM] = {
|
||||
{ACL_OFF_STATE, DSI_CMD_SET_ACL_OFF, NULL},
|
||||
{ACL_ON_STATE, DSI_CMD_SET_ACL_ON, NULL},
|
||||
};
|
||||
|
||||
static struct panel_param dsi_panel_param[PANEL_IDX_MAX][PARAM_ID_NUM] = {
|
||||
{
|
||||
{"HBM", hbm_map, HBM_STATE_NUM, HBM_OFF_STATE,
|
||||
HBM_OFF_STATE, false},
|
||||
{"ACL", acl_map, ACL_STATE_NUM, ACL_OFF_STATE,
|
||||
ACL_OFF_STATE, false}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1999,7 +2007,8 @@ const char *cmd_set_prop_map[DSI_CMD_SET_MAX] = {
|
||||
"qcom,mdss-dsi-qsync-off-commands",
|
||||
"qcom,mdss-dsi-hbm-on-command",
|
||||
"qcom,mdss-dsi-hbm-off-command",
|
||||
|
||||
"qcom,mdss-dsi-acl-on-command",
|
||||
"qcom,mdss-dsi-acl-off-command",
|
||||
};
|
||||
|
||||
const char *cmd_set_state_map[DSI_CMD_SET_MAX] = {
|
||||
@@ -2028,6 +2037,8 @@ const char *cmd_set_state_map[DSI_CMD_SET_MAX] = {
|
||||
"qcom,mdss-dsi-qsync-off-commands-state",
|
||||
"qcom,mdss-dsi-hbm-on-command-state",
|
||||
"qcom,mdss-dsi-hbm-off-command-state",
|
||||
"qcom,mdss-dsi-acl-on-command-state",
|
||||
"qcom,mdss-dsi-acl-off-command-state",
|
||||
};
|
||||
|
||||
static int dsi_panel_get_cmd_pkt_count(const char *data, u32 length, u32 *cnt)
|
||||
|
||||
@@ -182,6 +182,12 @@ enum panel_idx {
|
||||
PANEL_IDX_MAX,
|
||||
};
|
||||
|
||||
enum acl_state {
|
||||
ACL_OFF_STATE = 0,
|
||||
ACL_ON_STATE,
|
||||
ACL_STATE_NUM,
|
||||
};
|
||||
|
||||
enum hbm_state {
|
||||
HBM_OFF_STATE = 0,
|
||||
HBM_ON_STATE,
|
||||
|
||||
@@ -204,6 +204,7 @@ enum msm_mdp_conn_property {
|
||||
|
||||
/* MOT feature panel*/
|
||||
CONNECTOR_PROP_HBM,
|
||||
CONNECTOR_PROP_ACL,
|
||||
/* total # of properties */
|
||||
CONNECTOR_PROP_COUNT
|
||||
};
|
||||
@@ -322,6 +323,7 @@ enum msm_param_state {
|
||||
|
||||
enum msm_param_id {
|
||||
PARAM_HBM_ID = 0,
|
||||
PARAM_ACL_ID,
|
||||
PARAM_ID_NUM
|
||||
};
|
||||
|
||||
|
||||
@@ -1499,6 +1499,15 @@ static int sde_connector_atomic_set_property(struct drm_connector *connector,
|
||||
if (rc)
|
||||
goto end;
|
||||
break;
|
||||
case CONNECTOR_PROP_ACL:
|
||||
param_info.value = sde_connector_get_property(
|
||||
connector->state, CONNECTOR_PROP_ACL);
|
||||
param_info.param_idx = PARAM_ACL_ID;
|
||||
param_info.param_conn_idx = CONNECTOR_PROP_ACL;
|
||||
rc = _sde_connector_update_param(c_conn, ¶m_info);
|
||||
if (rc)
|
||||
goto end;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2430,6 +2439,8 @@ static int sde_connector_install_panel_params(struct sde_connector *c_conn)
|
||||
|
||||
if (!strncmp(param_cmds->param_name, "HBM", 3))
|
||||
prop_idx = CONNECTOR_PROP_HBM;
|
||||
else if (!strncmp(param_cmds->param_name, "ACL", 3))
|
||||
prop_idx = CONNECTOR_PROP_ACL;
|
||||
else {
|
||||
SDE_ERROR("Invalid param_name =%s\n",
|
||||
param_cmds->param_name);
|
||||
|
||||
Reference in new issue
Block a user