Merge "disp: msm: sde: update idlepc handling for wfd display"
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
a8c5bc0da0
@@ -6652,16 +6652,6 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
|
||||
vfree(info);
|
||||
}
|
||||
|
||||
static bool _is_crtc_intf_mode_wb(struct drm_crtc *crtc)
|
||||
{
|
||||
enum sde_intf_mode intf_mode = sde_crtc_get_intf_mode(crtc, crtc->state);
|
||||
|
||||
if ((intf_mode != INTF_MODE_WB_BLOCK) && (intf_mode != INTF_MODE_WB_LINE))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static int _sde_crtc_get_output_fence(struct drm_crtc *crtc,
|
||||
const struct drm_crtc_state *state, uint64_t *val)
|
||||
{
|
||||
|
||||
@@ -950,6 +950,16 @@ static inline bool sde_crtc_state_in_clone_mode(struct drm_encoder *encoder,
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool _is_crtc_intf_mode_wb(struct drm_crtc *crtc)
|
||||
{
|
||||
enum sde_intf_mode intf_mode = sde_crtc_get_intf_mode(crtc, crtc->state);
|
||||
|
||||
if ((intf_mode != INTF_MODE_WB_BLOCK) && (intf_mode != INTF_MODE_WB_LINE))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* sde_crtc_get_ds_io_res - populates the destination scaler src/dst w/h
|
||||
* @state: pointer to drm crtc state
|
||||
|
||||
@@ -2252,7 +2252,11 @@ static int _sde_encoder_rc_idle(struct drm_encoder *drm_enc,
|
||||
}
|
||||
|
||||
crtc_id = drm_crtc_index(crtc);
|
||||
if (is_vid_mode) {
|
||||
/**
|
||||
* Avoid power collapse entry for writeback crtc since HAL does not repopulate
|
||||
* crtc, plane properties like luts for idlepc exit commit.
|
||||
*/
|
||||
if (is_vid_mode || _is_crtc_intf_mode_wb(crtc)) {
|
||||
sde_encoder_irq_control(drm_enc, false);
|
||||
_sde_encoder_pm_qos_remove_request(drm_enc);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user