Commit 2324cdff authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915/lvds: Use intel_de_rmw()

parent c76f6727
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -320,11 +320,9 @@ static void intel_enable_lvds(struct intel_atomic_state *state,
	struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(encoder);
	struct drm_i915_private *dev_priv = to_i915(dev);

	intel_de_write(dev_priv, lvds_encoder->reg,
		       intel_de_read(dev_priv, lvds_encoder->reg) | LVDS_PORT_EN);
	intel_de_rmw(dev_priv, lvds_encoder->reg, 0, LVDS_PORT_EN);

	intel_de_write(dev_priv, PP_CONTROL(0),
		       intel_de_read(dev_priv, PP_CONTROL(0)) | PANEL_POWER_ON);
	intel_de_rmw(dev_priv, PP_CONTROL(0), 0, PANEL_POWER_ON);
	intel_de_posting_read(dev_priv, lvds_encoder->reg);

	if (intel_de_wait_for_set(dev_priv, PP_STATUS(0), PP_ON, 5000))
@@ -342,14 +340,12 @@ static void intel_disable_lvds(struct intel_atomic_state *state,
	struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(encoder);
	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);

	intel_de_write(dev_priv, PP_CONTROL(0),
		       intel_de_read(dev_priv, PP_CONTROL(0)) & ~PANEL_POWER_ON);
	intel_de_rmw(dev_priv, PP_CONTROL(0), PANEL_POWER_ON, 0);
	if (intel_de_wait_for_clear(dev_priv, PP_STATUS(0), PP_ON, 1000))
		drm_err(&dev_priv->drm,
			"timed out waiting for panel to power off\n");

	intel_de_write(dev_priv, lvds_encoder->reg,
		       intel_de_read(dev_priv, lvds_encoder->reg) & ~LVDS_PORT_EN);
	intel_de_rmw(dev_priv, lvds_encoder->reg, LVDS_PORT_EN, 0);
	intel_de_posting_read(dev_priv, lvds_encoder->reg);
}