disp: msm: sde: add a property to control display input touch event
Display input touch event is replaced with IOCTL in performance HAL to early wake up DSI clock. Add a property to enable/disable display input touch event for backward compatibility. Change-Id: Ib6b9123d726e79a2927b05d1ef77c343f01d0c5e Signed-off-by: Lei Chen <chenlei@codeaurora.org>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
9804031438
commit
f11da41a6e
@@ -2403,7 +2403,8 @@ static void _sde_encoder_input_handler_register(
|
||||
struct sde_encoder_virt *sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
int rc;
|
||||
|
||||
if (!sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE))
|
||||
if (!sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE) ||
|
||||
!sde_enc->input_event_enabled)
|
||||
return;
|
||||
|
||||
if (sde_enc->input_handler && !sde_enc->input_handler->private) {
|
||||
@@ -2424,7 +2425,8 @@ static void _sde_encoder_input_handler_unregister(
|
||||
{
|
||||
struct sde_encoder_virt *sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
|
||||
if (!sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE))
|
||||
if (!sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE) ||
|
||||
!sde_enc->input_event_enabled)
|
||||
return;
|
||||
|
||||
if (sde_enc->input_handler && sde_enc->input_handler->private) {
|
||||
@@ -4677,6 +4679,8 @@ static int sde_encoder_setup_display(struct sde_encoder_virt *sde_enc,
|
||||
(disp_info->capabilities & MSM_DISPLAY_CAP_VID_MODE))
|
||||
sde_enc->idle_pc_enabled = sde_kms->catalog->has_idle_pc;
|
||||
|
||||
sde_enc->input_event_enabled = sde_kms->catalog->wakeup_with_touch;
|
||||
|
||||
mutex_lock(&sde_enc->enc_lock);
|
||||
for (i = 0; i < disp_info->num_of_h_tiles && !ret; i++) {
|
||||
/*
|
||||
@@ -4843,7 +4847,8 @@ struct drm_encoder *sde_encoder_init_with_ops(
|
||||
sde_enc->rsc_client = NULL;
|
||||
}
|
||||
|
||||
if (disp_info->capabilities & MSM_DISPLAY_CAP_CMD_MODE) {
|
||||
if (disp_info->capabilities & MSM_DISPLAY_CAP_CMD_MODE &&
|
||||
sde_enc->input_event_enabled) {
|
||||
ret = _sde_encoder_input_handler(sde_enc);
|
||||
if (ret)
|
||||
SDE_ERROR(
|
||||
|
@@ -232,6 +232,7 @@ struct sde_encoder_virt {
|
||||
u32 misr_frame_count;
|
||||
|
||||
bool idle_pc_enabled;
|
||||
bool input_event_enabled;
|
||||
struct mutex rc_lock;
|
||||
enum sde_enc_rc_states rc_state;
|
||||
struct kthread_delayed_work delayed_off_work;
|
||||
|
@@ -194,6 +194,7 @@ enum sde_prop {
|
||||
DIM_LAYER,
|
||||
SMART_DMA_REV,
|
||||
IDLE_PC,
|
||||
WAKEUP_WITH_TOUCH,
|
||||
DEST_SCALER,
|
||||
SMART_PANEL_ALIGN_MODE,
|
||||
MACROTILE_MODE,
|
||||
@@ -560,6 +561,8 @@ static struct sde_prop_type sde_prop[] = {
|
||||
{DIM_LAYER, "qcom,sde-has-dim-layer", false, PROP_TYPE_BOOL},
|
||||
{SMART_DMA_REV, "qcom,sde-smart-dma-rev", false, PROP_TYPE_STRING},
|
||||
{IDLE_PC, "qcom,sde-has-idle-pc", false, PROP_TYPE_BOOL},
|
||||
{WAKEUP_WITH_TOUCH, "qcom,sde-wakeup-with-touch", false,
|
||||
PROP_TYPE_BOOL},
|
||||
{DEST_SCALER, "qcom,sde-has-dest-scaler", false, PROP_TYPE_BOOL},
|
||||
{SMART_PANEL_ALIGN_MODE, "qcom,sde-smart-panel-align-mode",
|
||||
false, PROP_TYPE_U32},
|
||||
@@ -3741,6 +3744,8 @@ static void _sde_top_parse_dt_helper(struct sde_mdss_cfg *cfg,
|
||||
cfg->has_src_split = PROP_VALUE_ACCESS(props->values, SRC_SPLIT, 0);
|
||||
cfg->has_dim_layer = PROP_VALUE_ACCESS(props->values, DIM_LAYER, 0);
|
||||
cfg->has_idle_pc = PROP_VALUE_ACCESS(props->values, IDLE_PC, 0);
|
||||
cfg->wakeup_with_touch = PROP_VALUE_ACCESS(props->values,
|
||||
WAKEUP_WITH_TOUCH, 0);
|
||||
cfg->pipe_order_type = PROP_VALUE_ACCESS(props->values,
|
||||
PIPE_ORDER_VERSION, 0);
|
||||
cfg->has_base_layer = PROP_VALUE_ACCESS(props->values, BASE_LAYER, 0);
|
||||
|
@@ -1396,6 +1396,7 @@ struct sde_perf_cfg {
|
||||
* @ubwc_version UBWC feature version (0x0 for not supported)
|
||||
* @ubwc_bw_calc_version indicate how UBWC BW has to be calculated
|
||||
* @has_idle_pc indicate if idle power collapse feature is supported
|
||||
* @wakeup_with_touch indicate early wake up display with input touch event
|
||||
* @has_hdr HDR feature support
|
||||
* @has_hdr_plus HDR10+ feature support
|
||||
* @dma_formats Supported formats for dma pipe
|
||||
@@ -1474,6 +1475,7 @@ struct sde_mdss_cfg {
|
||||
u32 ubwc_version;
|
||||
u32 ubwc_bw_calc_version;
|
||||
bool has_idle_pc;
|
||||
bool wakeup_with_touch;
|
||||
u32 vbif_qos_nlvl;
|
||||
u32 ts_prefill_rev;
|
||||
u32 true_inline_rot_rev;
|
||||
|
Reference in New Issue
Block a user