Commit e6e559d4 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: Ditch intel_edp_psr_update



We have _enable/_disable interfaces now for the modeset sequence and
intel_edp_psr_exit for workarounds.

The callsites in intel_display.c are all redundant with the modeset
sequence enable/disable calls in intel_ddi.c. The one in
intel_sprite.c is real and needs to be switched to psr_exit.

If this breaks anything then we need to augment the enable/disable
functions accordingly.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 77c70c56
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -2763,7 +2763,6 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,

	mutex_lock(&dev->struct_mutex);
	intel_update_fbc(dev);
	intel_edp_psr_update(dev);
	mutex_unlock(&dev->struct_mutex);

	return 0;
@@ -3943,7 +3942,6 @@ static void intel_crtc_enable_planes(struct drm_crtc *crtc)

	mutex_lock(&dev->struct_mutex);
	intel_update_fbc(dev);
	intel_edp_psr_update(dev);
	mutex_unlock(&dev->struct_mutex);
}

@@ -4236,7 +4234,6 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)

	mutex_lock(&dev->struct_mutex);
	intel_update_fbc(dev);
	intel_edp_psr_update(dev);
	mutex_unlock(&dev->struct_mutex);
}

@@ -4284,7 +4281,6 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)

	mutex_lock(&dev->struct_mutex);
	intel_update_fbc(dev);
	intel_edp_psr_update(dev);
	mutex_unlock(&dev->struct_mutex);
}

@@ -4836,7 +4832,6 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)

	mutex_lock(&dev->struct_mutex);
	intel_update_fbc(dev);
	intel_edp_psr_update(dev);
	mutex_unlock(&dev->struct_mutex);
}

+0 −13
Original line number Diff line number Diff line
@@ -1875,19 +1875,6 @@ void intel_edp_psr_disable(struct intel_dp *intel_dp)
	dev_priv->psr.enabled = false;
}

void intel_edp_psr_update(struct drm_device *dev)
{
	struct drm_i915_private *dev_priv = dev->dev_private;

	if (!HAS_PSR(dev))
		return;

	if (!dev_priv->psr.setup_done)
		return;

	intel_edp_psr_exit(dev, true);
}

static void intel_edp_psr_work(struct work_struct *work)
{
	struct drm_i915_private *dev_priv =
+0 −1
Original line number Diff line number Diff line
@@ -834,7 +834,6 @@ void intel_edp_panel_on(struct intel_dp *intel_dp);
void intel_edp_panel_off(struct intel_dp *intel_dp);
void intel_edp_psr_enable(struct intel_dp *intel_dp);
void intel_edp_psr_disable(struct intel_dp *intel_dp);
void intel_edp_psr_update(struct drm_device *dev);
void intel_dp_set_drrs_state(struct drm_device *dev, int refresh_rate);
void intel_edp_psr_exit(struct drm_device *dev, bool schedule_back);
void intel_edp_psr_init(struct drm_device *dev);
+1 −1
Original line number Diff line number Diff line
@@ -1051,7 +1051,7 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
		mutex_unlock(&dev->struct_mutex);
	}

	intel_edp_psr_update(dev);
	intel_edp_psr_exit(dev, true);

	return 0;
}