Merge remote-tracking branch 'qcom_sm8250/lineage-20' into lineage-21
Change-Id: I3159ae2c81329a81f9f6d4feba3fd1324a86b4f6
This commit is contained in:
@@ -527,13 +527,13 @@ static int wsa881x_visense_adc_ctrl(struct snd_soc_component *component,
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_SEL_IBIAS,
|
||||
0x70, 0x40);
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_EN_SEL_IBIAS,
|
||||
0x07, 0x04);
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_EN_MODU_V, 0x80, 0x80);
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_EN_MODU_I, 0x80, 0x80);
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_EN_SEL_IBIAS,
|
||||
0x07, 0x04);
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_EN_MODU_V, 0x80, 0x80);
|
||||
snd_soc_component_update_bits(component,
|
||||
WSA881X_ADC_EN_MODU_I, 0x80, 0x80);
|
||||
} else {
|
||||
/* Ensure: Speaker Protection has been stopped */
|
||||
snd_soc_component_update_bits(component,
|
||||
|
||||
@@ -1769,7 +1769,7 @@ static int cam_ope_mgr_create_kmd_buf(struct cam_ope_hw_mgr *hw_mgr,
|
||||
prepare_req.frame_process =
|
||||
(struct ope_frame_process *)ope_cmd_buf_addr;
|
||||
|
||||
for (i = 0; i < ope_hw_mgr->num_ope; i++)
|
||||
for (i = 0; i < ope_hw_mgr->num_ope; i++) {
|
||||
rc = hw_mgr->ope_dev_intf[i]->hw_ops.process_cmd(
|
||||
hw_mgr->ope_dev_intf[i]->hw_priv,
|
||||
OPE_HW_PREPARE, &prepare_req, sizeof(prepare_req));
|
||||
@@ -1777,6 +1777,7 @@ static int cam_ope_mgr_create_kmd_buf(struct cam_ope_hw_mgr *hw_mgr,
|
||||
CAM_ERR(CAM_OPE, "OPE Dev prepare failed: %d", rc);
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
return rc;
|
||||
|
||||
@@ -289,6 +289,7 @@ struct sde_encoder_virt {
|
||||
struct kthread_work touch_notify_work;
|
||||
struct kthread_work esd_trigger_work;
|
||||
struct input_handler *input_handler;
|
||||
bool input_handler_registered;
|
||||
struct msm_display_topology topology;
|
||||
bool vblank_enabled;
|
||||
bool idle_pc_restore;
|
||||
@@ -811,6 +812,7 @@ void sde_encoder_destroy(struct drm_encoder *drm_enc)
|
||||
|
||||
kfree(sde_enc->input_handler);
|
||||
sde_enc->input_handler = NULL;
|
||||
sde_enc->input_handler_registered = false;
|
||||
|
||||
kfree(sde_enc);
|
||||
}
|
||||
@@ -3253,23 +3255,6 @@ static void _sde_encoder_input_handler_register(
|
||||
}
|
||||
}
|
||||
|
||||
static void _sde_encoder_input_handler_unregister(
|
||||
struct drm_encoder *drm_enc)
|
||||
{
|
||||
struct sde_encoder_virt *sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
|
||||
#if 0
|
||||
if (!sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE))
|
||||
return;
|
||||
#endif
|
||||
|
||||
if (sde_enc->input_handler && sde_enc->input_handler->private) {
|
||||
input_unregister_handler(sde_enc->input_handler);
|
||||
sde_enc->input_handler->private = NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static int _sde_encoder_input_handler(
|
||||
struct sde_encoder_virt *sde_enc)
|
||||
{
|
||||
@@ -3293,6 +3278,7 @@ static int _sde_encoder_input_handler(
|
||||
input_handler->id_table = sde_input_ids;
|
||||
|
||||
sde_enc->input_handler = input_handler;
|
||||
sde_enc->input_handler_registered = false;
|
||||
|
||||
return rc;
|
||||
}
|
||||
@@ -3449,7 +3435,20 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc)
|
||||
return;
|
||||
}
|
||||
|
||||
_sde_encoder_input_handler_register(drm_enc);
|
||||
/* register input handler if not already registered */
|
||||
if (sde_enc->input_handler && !sde_enc->input_handler_registered &&
|
||||
!msm_is_mode_seamless_dms(cur_mode) &&
|
||||
#if 0
|
||||
sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE) &&
|
||||
#endif
|
||||
!msm_is_mode_seamless_dyn_clk(cur_mode)) {
|
||||
_sde_encoder_input_handler_register(drm_enc);
|
||||
if (!sde_enc->input_handler || !sde_enc->input_handler->private)
|
||||
SDE_ERROR(
|
||||
"input handler registration failed, rc = %d\n", ret);
|
||||
else
|
||||
sde_enc->input_handler_registered = true;
|
||||
}
|
||||
|
||||
if ((drm_enc->crtc && drm_enc->crtc->state &&
|
||||
drm_enc->crtc->state->connectors_changed &&
|
||||
@@ -3580,7 +3579,15 @@ static void sde_encoder_virt_disable(struct drm_encoder *drm_enc)
|
||||
if (!sde_encoder_in_clone_mode(drm_enc))
|
||||
sde_encoder_wait_for_event(drm_enc, MSM_ENC_TX_COMPLETE);
|
||||
|
||||
_sde_encoder_input_handler_unregister(drm_enc);
|
||||
if (sde_enc->input_handler && sde_enc->input_handler_registered &&
|
||||
#if 0
|
||||
sde_encoder_check_curr_mode(drm_enc, MSM_DISPLAY_CMD_MODE)) {
|
||||
#else
|
||||
true) {
|
||||
#endif
|
||||
input_unregister_handler(sde_enc->input_handler);
|
||||
sde_enc->input_handler_registered = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* For primary command mode and video mode encoders, execute the
|
||||
|
||||
Reference in New Issue
Block a user