mirror of https://gitee.com/openkylin/linux.git
drm/i915: Drop unecessary complexity from psr_inactivate
It's not needed and further more will get in the way of a sane locking scheme - psr_exit _can't_ take modeset locks due to lock inversion, and at least once dp mst hits the connector list is no longer static. But since we track all state in dev_priv->psr there is no need at all. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
14d8ec544f
commit
77c70c5667
|
@ -1910,29 +1910,11 @@ static void intel_edp_psr_work(struct work_struct *work)
|
|||
static void intel_edp_psr_inactivate(struct drm_device *dev)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||
struct intel_connector *connector;
|
||||
struct intel_encoder *encoder;
|
||||
struct intel_crtc *intel_crtc;
|
||||
struct intel_dp *intel_dp = NULL;
|
||||
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list,
|
||||
base.head) {
|
||||
dev_priv->psr.active = false;
|
||||
|
||||
if (connector->base.dpms != DRM_MODE_DPMS_ON)
|
||||
continue;
|
||||
|
||||
encoder = to_intel_encoder(connector->base.encoder);
|
||||
if (encoder->type == INTEL_OUTPUT_EDP) {
|
||||
|
||||
intel_dp = enc_to_intel_dp(&encoder->base);
|
||||
intel_crtc = to_intel_crtc(encoder->base.crtc);
|
||||
|
||||
dev_priv->psr.active = false;
|
||||
|
||||
I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev))
|
||||
& ~EDP_PSR_ENABLE);
|
||||
}
|
||||
}
|
||||
I915_WRITE(EDP_PSR_CTL(dev), I915_READ(EDP_PSR_CTL(dev))
|
||||
& ~EDP_PSR_ENABLE);
|
||||
}
|
||||
|
||||
void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back)
|
||||
|
|
Loading…
Reference in New Issue