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

This commit is contained in:
qctecmdr
2020-08-20 14:24:30 -07:00
committed by Gerrit - the friendly Code Review server
3개의 변경된 파일20개의 추가작업 그리고 7개의 파일을 삭제

파일 보기

@@ -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