disp: msm: sde: add support for TE level trigger

During qsync frequency step down, it is possible for the changing
frame window to lead to frame buffers being transferred when it
is unsafe to update. Pineapple r2 hardware supports using the
panel's TE level, instead of the start window, to trigger the
frame transfer.

This change enables using TE level during QSYNC or AVR, if the
hardware supports it.

Change-Id: Ie675edaaeb80921c639905395b709f4c67134fc7
Signed-off-by: Amine Najahi <quic_anajahi@quicinc.com>
This commit is contained in:
Amine Najahi
2023-05-16 15:19:54 -04:00
committato da Gerrit - the friendly Code Review server
parent e280657f7f
commit fea2f25ccf
7 ha cambiato i file con 59 aggiunte e 9 eliminazioni

Vedi File

@@ -6779,6 +6779,7 @@ int dsi_display_get_info(struct drm_connector *connector,
info->has_qsync_min_fps_list = (display->panel->qsync_caps.qsync_min_fps_list_len > 0);
info->avr_step_fps = display->panel->avr_caps.avr_step_fps;
info->poms_align_vsync = display->panel->poms_align_vsync;
info->is_te_using_watchdog_timer = is_sim_panel(display);
switch (display->panel->panel_mode) {
case DSI_OP_VIDEO_MODE:
@@ -6792,7 +6793,6 @@ int dsi_display_get_info(struct drm_connector *connector,
info->capabilities |= MSM_DISPLAY_CAP_CMD_MODE;
if (display->panel->panel_mode_switch_enabled)
info->capabilities |= MSM_DISPLAY_CAP_VID_MODE;
info->is_te_using_watchdog_timer = is_sim_panel(display);
break;
default:
DSI_ERR("unknwown dsi panel mode %d\n",