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))
        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);
 }