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:
Bang Nguyen authored and Gilberto Gambugge committed 2023-06-01 00:43:20 -03:00
1 parent 28d09dd727
commit 4dc0d44e9c
5 files changed
+35 -1

No files matched your search

+4
View File
@@ -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
View File
@@ -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)
+6
View File
@@ -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,
+2
View File
@@ -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
};
+11
View File
@@ -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, &param_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);