From 98839886d3c4d7dc72a2e420c0886f28cd6336e2 Mon Sep 17 00:00:00 2001 From: Yashwanth Date: Mon, 7 Sep 2020 16:44:57 +0530 Subject: [PATCH] disp: msm: sde: update syscache properties only if supported This change avoids msm property install and cache state transitions if sys cache is not supported in the target. Change-Id: I00b0a95772b1a3dab67c7e684529cda093d6dac6 Signed-off-by: Yashwanth --- msm/sde/sde_crtc.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index 450b97939490..0bc2ea80de5f 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -5381,7 +5381,8 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc, ARRAY_SIZE(e_secure_level), 0, CRTC_PROP_SECURITY_LEVEL); - msm_property_install_enum(&sde_crtc->property_info, "cache_state", + if (catalog->syscache_supported) + msm_property_install_enum(&sde_crtc->property_info, "cache_state", 0x0, 0, e_cache_state, ARRAY_SIZE(e_cache_state), 0, CRTC_PROP_CACHE_STATE); @@ -6351,10 +6352,22 @@ void sde_crtc_static_img_control(struct drm_crtc *crtc, { struct drm_plane *plane; struct sde_crtc *sde_crtc; + struct sde_kms *sde_kms; if (!crtc || !crtc->dev) return; + sde_kms = _sde_crtc_get_kms(crtc); + if (!sde_kms || !sde_kms->catalog) { + SDE_ERROR("invalid params\n"); + return; + } + + if (!sde_kms->catalog->syscache_supported) { + SDE_DEBUG("syscache not supported\n"); + return; + } + sde_crtc = to_sde_crtc(crtc); if (sde_crtc->cache_state == state) return;