disp: msm: sde: Update UIDLE and QoS LUT when DRM mode is changed

UIDLE and QoS LUT configurationis might be different between
different frame rates.
Add this change to update UIDLE and QoS LUT according to frame
rate when DRM mode is changed.

Change-Id: Ia16a963e185b911b7dd11e81a26cab732c2b185c
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
This commit is contained in:
Lei Chen
2020-08-14 16:38:59 +08:00
parent 20ed4f0785
commit fb4edab2b3
3 changed files with 20 additions and 7 deletions

View File

@@ -3209,6 +3209,7 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc,
struct drm_encoder *encoder;
struct drm_device *dev;
struct sde_kms *sde_kms;
struct drm_plane *plane;
struct sde_splash_display *splash_display;
bool cont_splash_enabled = false, apply_cp_prop = false;
size_t i;
@@ -3268,6 +3269,15 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc,
_sde_crtc_blend_setup(crtc, old_state, true);
_sde_crtc_dest_scaler_setup(crtc);
if (old_state->mode_changed) {
sde_core_perf_crtc_update_uidle(crtc, true);
drm_atomic_crtc_for_each_plane(plane, crtc) {
if (plane->state && plane->state->fb)
_sde_plane_set_qos_lut(plane, crtc,
plane->state->fb);
}
}
/*
* Since CP properties use AXI buffer to program the
* HW, check if context bank is in attached state,