Merge "disp: msm: sde: fix system cache feature enable"
此提交包含在:
@@ -3351,7 +3351,8 @@ static void sde_crtc_atomic_flush(struct drm_crtc *crtc,
|
|||||||
event_thread = &priv->event_thread[crtc->index];
|
event_thread = &priv->event_thread[crtc->index];
|
||||||
idle_time = sde_crtc_get_property(cstate, CRTC_PROP_IDLE_TIMEOUT);
|
idle_time = sde_crtc_get_property(cstate, CRTC_PROP_IDLE_TIMEOUT);
|
||||||
|
|
||||||
if (sde_crtc_get_property(cstate, CRTC_PROP_CACHE_STATE))
|
if ((sde_crtc->cache_state == CACHE_STATE_PRE_CACHE) &&
|
||||||
|
sde_crtc_get_property(cstate, CRTC_PROP_CACHE_STATE))
|
||||||
sde_crtc_static_img_control(crtc, CACHE_STATE_FRAME_WRITE,
|
sde_crtc_static_img_control(crtc, CACHE_STATE_FRAME_WRITE,
|
||||||
false);
|
false);
|
||||||
else
|
else
|
||||||
@@ -6285,6 +6286,8 @@ void sde_crtc_static_img_control(struct drm_crtc *crtc,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
sde_crtc = to_sde_crtc(crtc);
|
sde_crtc = to_sde_crtc(crtc);
|
||||||
|
if (sde_crtc->cache_state == state)
|
||||||
|
return;
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case CACHE_STATE_NORMAL:
|
case CACHE_STATE_NORMAL:
|
||||||
@@ -6400,6 +6403,7 @@ static void __sde_crtc_idle_notify_work(struct kthread_work *work)
|
|||||||
msm_mode_object_event_notify(&crtc->base, crtc->dev,
|
msm_mode_object_event_notify(&crtc->base, crtc->dev,
|
||||||
&event, (u8 *)&ret);
|
&event, (u8 *)&ret);
|
||||||
|
|
||||||
|
SDE_EVT32(DRMID(crtc));
|
||||||
SDE_DEBUG("crtc[%d]: idle timeout notified\n", crtc->base.id);
|
SDE_DEBUG("crtc[%d]: idle timeout notified\n", crtc->base.id);
|
||||||
|
|
||||||
sde_crtc_static_img_control(crtc, CACHE_STATE_PRE_CACHE, false);
|
sde_crtc_static_img_control(crtc, CACHE_STATE_PRE_CACHE, false);
|
||||||
|
@@ -2833,6 +2833,9 @@ static void _sde_plane_sspp_setup_sys_cache(struct sde_plane *psde,
|
|||||||
pstate->sc_cfg.type = SDE_SYS_CACHE_DISP;
|
pstate->sc_cfg.type = SDE_SYS_CACHE_DISP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SDE_EVT32(DRMID(&psde->base), pstate->sc_cfg.rd_scid,
|
||||||
|
pstate->sc_cfg.rd_en, pstate->sc_cfg.rd_noallocate);
|
||||||
|
|
||||||
psde->pipe_hw->ops.setup_sys_cache(
|
psde->pipe_hw->ops.setup_sys_cache(
|
||||||
psde->pipe_hw, &pstate->sc_cfg);
|
psde->pipe_hw, &pstate->sc_cfg);
|
||||||
}
|
}
|
||||||
|
新增問題並參考
封鎖使用者