diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index aa647c6..4c844c6 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3416,7 +3416,7 @@
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
 	int pipe = intel_crtc->pipe;
-	u32 temp, lvds_sync = 0;
+	u32 temp;
 
 	temp = I915_READ(LVDS);
 	temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP;
@@ -3446,22 +3446,11 @@
 		else
 			temp &= ~LVDS_ENABLE_DITHER;
 	}
+	temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY);
 	if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC)
-		lvds_sync |= LVDS_HSYNC_POLARITY;
+		temp |= LVDS_HSYNC_POLARITY;
 	if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC)
-		lvds_sync |= LVDS_VSYNC_POLARITY;
-	if ((temp & (LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY))
-	    != lvds_sync) {
-		char flags[2] = "-+";
-		DRM_INFO("Changing LVDS panel from "
-			 "(%chsync, %cvsync) to (%chsync, %cvsync)\n",
-			 flags[!(temp & LVDS_HSYNC_POLARITY)],
-			 flags[!(temp & LVDS_VSYNC_POLARITY)],
-			 flags[!(lvds_sync & LVDS_HSYNC_POLARITY)],
-			 flags[!(lvds_sync & LVDS_VSYNC_POLARITY)]);
-		temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY);
-		temp |= lvds_sync;
-	}
+		temp |= LVDS_VSYNC_POLARITY;
 	I915_WRITE(LVDS, temp);
 }
 
@@ -4012,7 +4001,6 @@
 	int ret;
 	struct fdi_m_n m_n = {0};
 	u32 temp;
-	u32 lvds_sync = 0;
 	int target_clock, pixel_multiplier, lane, link_bw, factor;
 	unsigned int pipe_bpp;
 	bool dither;
@@ -4305,22 +4293,11 @@
 		 * appropriately here, but we need to look more thoroughly into how
 		 * panels behave in the two modes.
 		 */
+		temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY);
 		if (adjusted_mode->flags & DRM_MODE_FLAG_NHSYNC)
-			lvds_sync |= LVDS_HSYNC_POLARITY;
+			temp |= LVDS_HSYNC_POLARITY;
 		if (adjusted_mode->flags & DRM_MODE_FLAG_NVSYNC)
-			lvds_sync |= LVDS_VSYNC_POLARITY;
-		if ((temp & (LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY))
-		    != lvds_sync) {
-			char flags[2] = "-+";
-			DRM_INFO("Changing LVDS panel from "
-				 "(%chsync, %cvsync) to (%chsync, %cvsync)\n",
-				 flags[!(temp & LVDS_HSYNC_POLARITY)],
-				 flags[!(temp & LVDS_VSYNC_POLARITY)],
-				 flags[!(lvds_sync & LVDS_HSYNC_POLARITY)],
-				 flags[!(lvds_sync & LVDS_VSYNC_POLARITY)]);
-			temp &= ~(LVDS_HSYNC_POLARITY | LVDS_VSYNC_POLARITY);
-			temp |= lvds_sync;
-		}
+			temp |= LVDS_VSYNC_POLARITY;
 		I915_WRITE(PCH_LVDS, temp);
 	}
 
