disp: msm: sde: skip unnecessary cache register programming
Plane update will call system cache update, and by default, will clear any cache programming. This clear is only necessary after returning from a cached state. This change will reduce unnecessary programming and event logs if the sys cache was previously disabled and remains disabled. Change-Id: I7f560ff24990a8c7ad785e560873193b7bf3a491 Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
This commit is contained in:
@@ -2716,15 +2716,17 @@ static void _sde_plane_sspp_setup_sys_cache(struct sde_plane *psde,
|
||||
struct sde_plane_state *pstate, bool is_tp10)
|
||||
{
|
||||
struct sde_sc_cfg *sc_cfg = psde->catalog->sc_cfg;
|
||||
bool prev_rd_en;
|
||||
|
||||
if (!psde->pipe_hw->ops.setup_sys_cache ||
|
||||
!(psde->perf_features & BIT(SDE_PERF_SSPP_SYS_CACHE)))
|
||||
return;
|
||||
|
||||
prev_rd_en = pstate->sc_cfg.rd_en;
|
||||
|
||||
SDE_DEBUG("features:0x%x rotation:0x%x\n",
|
||||
psde->features, pstate->rotation);
|
||||
|
||||
|
||||
pstate->sc_cfg.rd_en = false;
|
||||
pstate->sc_cfg.rd_scid = 0x0;
|
||||
pstate->sc_cfg.flags = SSPP_SYS_CACHE_EN_FLAG |
|
||||
@@ -2760,6 +2762,9 @@ static void _sde_plane_sspp_setup_sys_cache(struct sde_plane *psde,
|
||||
pstate->sc_cfg.type = SDE_SYS_CACHE_DISP;
|
||||
}
|
||||
|
||||
if (!pstate->sc_cfg.rd_en && !prev_rd_en)
|
||||
return;
|
||||
|
||||
SDE_EVT32(DRMID(&psde->base), pstate->sc_cfg.rd_scid,
|
||||
pstate->sc_cfg.rd_en, pstate->sc_cfg.rd_noallocate);
|
||||
|
||||
|
Reference in New Issue
Block a user