disp: msm: snapshot of msm and sde driver

This snapshot ports changes from 4.14 to 4.19 into
the msm and sde layer. Snapshot was taken as of
commit 0f8fb25421ff ("cnss2: Add device version to
SOC info structure").

Change-Id: I59b799a78319c2db6930a2a10bc38976f8c09898
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
This commit is contained in:
Samantha Tran
2019-04-24 14:15:23 -07:00
父節點 ab3c7fdd80
當前提交 3be27eafcc
共有 31 個文件被更改,包括 680 次插入67 次删除

查看文件

@@ -449,6 +449,26 @@ static bool sde_crtc_mode_fixup(struct drm_crtc *crtc,
return true;
}
static int _sde_crtc_get_ctlstart_timeout(struct drm_crtc *crtc)
{
struct drm_encoder *encoder;
int rc = 0;
if (!crtc || !crtc->dev)
return 0;
list_for_each_entry(encoder,
&crtc->dev->mode_config.encoder_list, head) {
if (encoder->crtc != crtc)
continue;
if (sde_encoder_get_intf_mode(encoder) == INTF_MODE_CMD)
rc += sde_encoder_get_ctlstart_timeout_state(encoder);
}
return rc;
}
static void _sde_crtc_setup_blend_cfg(struct sde_crtc_mixer *mixer,
struct sde_plane_state *pstate, struct sde_format *format)
{
@@ -886,6 +906,11 @@ static u32 _sde_crtc_get_displays_affected(struct drm_crtc *crtc,
u32 disp_bitmask = 0;
int i;
if (!crtc || !state) {
pr_err("Invalid crtc or state\n");
return 0;
}
sde_crtc = to_sde_crtc(crtc);
crtc_state = to_sde_crtc_state(state);
@@ -3132,7 +3157,13 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc,
if (unlikely(!sde_crtc->num_mixers))
goto end;
_sde_crtc_blend_setup(crtc, old_state, true);
if (_sde_crtc_get_ctlstart_timeout(crtc)) {
_sde_crtc_blend_setup(crtc, old_state, false);
SDE_ERROR("border fill only commit after ctlstart timeout\n");
} else {
_sde_crtc_blend_setup(crtc, old_state, true);
}
_sde_crtc_dest_scaler_setup(crtc);
/* cancel the idle notify delayed work */
@@ -4982,6 +5013,10 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
catalog->perf.amortizable_threshold);
sde_kms_info_add_keyint(info, "min_prefill_lines",
catalog->perf.min_prefill_lines);
sde_kms_info_add_keyint(info, "num_mnoc_ports",
catalog->perf.num_mnoc_ports);
sde_kms_info_add_keyint(info, "axi_bus_width",
catalog->perf.axi_bus_width);
sde_kms_info_add_keyint(info, "sec_ui_blendstage",
catalog->sui_supported_blendstage);