Merge "disp: msm: sde: Update UIDLE and QoS LUT when DRM mode is changed"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
fc83bddf26
@@ -3213,6 +3213,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;
|
||||
@@ -3272,6 +3273,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,
|
||||
|
@@ -254,13 +254,7 @@ void sde_plane_set_sid(struct drm_plane *plane, u32 vm)
|
||||
sde_hw_set_sspp_sid(sde_kms->hw_sid, psde->pipe, vm);
|
||||
}
|
||||
|
||||
/**
|
||||
* _sde_plane_set_qos_lut - set danger, safe and creq LUT of the given plane
|
||||
* @plane: Pointer to drm plane
|
||||
* @crtc: Pointer to drm crtc to find refresh rate on mode
|
||||
* @fb: Pointer to framebuffer associated with the given plane
|
||||
*/
|
||||
static void _sde_plane_set_qos_lut(struct drm_plane *plane,
|
||||
void _sde_plane_set_qos_lut(struct drm_plane *plane,
|
||||
struct drm_crtc *crtc,
|
||||
struct drm_framebuffer *fb)
|
||||
{
|
||||
|
@@ -195,6 +195,15 @@ void sde_plane_ctl_flush(struct drm_plane *plane, struct sde_hw_ctl *ctl,
|
||||
*/
|
||||
void sde_plane_restore(struct drm_plane *plane);
|
||||
|
||||
/**
|
||||
* _sde_plane_set_qos_lut - set danger, safe and creq LUT of the given plane
|
||||
* @plane: Pointer to drm plane
|
||||
* @crtc: Pointer to drm crtc to find refresh rate on mode
|
||||
* @fb: Pointer to framebuffer associated with the given plane
|
||||
*/
|
||||
void _sde_plane_set_qos_lut(struct drm_plane *plane,
|
||||
struct drm_crtc *crtc,
|
||||
struct drm_framebuffer *fb);
|
||||
/**
|
||||
* sde_plane_flush - final plane operations before commit flush
|
||||
* @plane: Pointer to drm plane structure
|
||||
|
Reference in New Issue
Block a user