disp: msm: sde: pass sde_enc to sde_encoder_control_te
Pass sde_enc to sde_encoder_control_te instead of drm_enc, as all callers have access to sde_enc. Change-Id: Ic61b78c9e8d1ab2ed6e371c19a72367efbb6e5ee Signed-off-by: Shamika Joshi <quic_shamjosh@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
f28d9e0a6a
commit
4cc3c88474
@@ -1453,18 +1453,11 @@ static void _sde_encoder_update_vsync_source(struct sde_encoder_virt *sde_enc,
|
||||
}
|
||||
}
|
||||
|
||||
static void sde_encoder_control_te(struct drm_encoder *drm_enc, bool enable)
|
||||
static void sde_encoder_control_te(struct sde_encoder_virt *sde_enc, bool enable)
|
||||
{
|
||||
struct sde_encoder_virt *sde_enc;
|
||||
struct sde_encoder_phys *phys;
|
||||
int i;
|
||||
|
||||
if (!drm_enc) {
|
||||
SDE_ERROR("invalid parameters\n");
|
||||
return;
|
||||
}
|
||||
|
||||
sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
if (!sde_enc) {
|
||||
SDE_ERROR("invalid sde encoder\n");
|
||||
return;
|
||||
@@ -1491,13 +1484,13 @@ int sde_encoder_helper_switch_vsync(struct drm_encoder *drm_enc,
|
||||
|
||||
sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
|
||||
sde_encoder_control_te(drm_enc, false);
|
||||
sde_encoder_control_te(sde_enc, false);
|
||||
|
||||
memcpy(&disp_info, &sde_enc->disp_info, sizeof(disp_info));
|
||||
disp_info.is_te_using_watchdog_timer = watchdog_te;
|
||||
_sde_encoder_update_vsync_source(sde_enc, &disp_info);
|
||||
|
||||
sde_encoder_control_te(drm_enc, true);
|
||||
sde_encoder_control_te(sde_enc, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -2206,9 +2199,9 @@ static int _sde_encoder_rc_post_modeset(struct drm_encoder *drm_enc,
|
||||
/* toggle te bit to update vsync source for sim cmd mode panels */
|
||||
if (sde_encoder_check_curr_mode(&sde_enc->base, MSM_DISPLAY_CMD_MODE)
|
||||
&& sde_enc->disp_info.is_te_using_watchdog_timer) {
|
||||
sde_encoder_control_te(drm_enc, false);
|
||||
sde_encoder_control_te(sde_enc, false);
|
||||
_sde_encoder_update_vsync_source(sde_enc, &sde_enc->disp_info);
|
||||
sde_encoder_control_te(drm_enc, true);
|
||||
sde_encoder_control_te(sde_enc, true);
|
||||
}
|
||||
|
||||
_sde_encoder_update_rsc_client(drm_enc, true);
|
||||
@@ -2759,6 +2752,7 @@ void sde_encoder_idle_pc_enter(struct drm_encoder *drm_enc)
|
||||
SDE_ERROR("invalid encoder\n");
|
||||
return;
|
||||
}
|
||||
sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
/*
|
||||
* disable the vsync source after updating the
|
||||
* rsc state. rsc state update might have vsync wait
|
||||
@@ -2768,9 +2762,8 @@ void sde_encoder_idle_pc_enter(struct drm_encoder *drm_enc)
|
||||
* limitation and should not be removed without
|
||||
* checking the updated design.
|
||||
*/
|
||||
sde_encoder_control_te(drm_enc, false);
|
||||
sde_encoder_control_te(sde_enc, false);
|
||||
|
||||
sde_enc = to_sde_encoder_virt(drm_enc);
|
||||
if (sde_enc->cur_master && sde_enc->cur_master->ops.idle_pc_cache_display_status)
|
||||
sde_enc->cur_master->ops.idle_pc_cache_display_status(sde_enc->cur_master);
|
||||
}
|
||||
@@ -3045,7 +3038,7 @@ void sde_encoder_virt_restore(struct drm_encoder *drm_enc)
|
||||
sde_enc->cur_master->ops.restore(sde_enc->cur_master);
|
||||
|
||||
_sde_encoder_virt_enable_helper(drm_enc);
|
||||
sde_encoder_control_te(drm_enc, true);
|
||||
sde_encoder_control_te(sde_enc, true);
|
||||
|
||||
/*
|
||||
* During IPC misr ctl register is reset.
|
||||
@@ -3203,11 +3196,11 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc)
|
||||
sizeof(sde_enc->cur_master->intf_cfg_v1));
|
||||
|
||||
/* turn off vsync_in to update tear check configuration */
|
||||
sde_encoder_control_te(drm_enc, false);
|
||||
sde_encoder_control_te(sde_enc, false);
|
||||
sde_encoder_populate_encoder_phys(drm_enc, sde_enc, msm_mode);
|
||||
|
||||
_sde_encoder_virt_enable_helper(drm_enc);
|
||||
sde_encoder_control_te(drm_enc, true);
|
||||
sde_encoder_control_te(sde_enc, true);
|
||||
}
|
||||
|
||||
void sde_encoder_virt_reset(struct drm_encoder *drm_enc)
|
||||
|
Reference in New Issue
Block a user