PIPE_CONF_CHECK_I(name.crtc_vsync_end); \
 } while (0)
 
+#define PIPE_CONF_CHECK_RECT(name) do { \
+       PIPE_CONF_CHECK_I(name.x1); \
+       PIPE_CONF_CHECK_I(name.x2); \
+       PIPE_CONF_CHECK_I(name.y1); \
+       PIPE_CONF_CHECK_I(name.y2); \
+} while (0)
+
 /* This is required for BDW+ where there is only one set of registers for
  * switching between high and low RR.
  * This macro can be used whenever a comparison has to be made between one
        PIPE_CONF_CHECK_BOOL(pch_pfit.force_thru);
 
        if (!fastset) {
-               PIPE_CONF_CHECK_I(pipe_src.x1);
-               PIPE_CONF_CHECK_I(pipe_src.y1);
-               PIPE_CONF_CHECK_I(pipe_src.x2);
-               PIPE_CONF_CHECK_I(pipe_src.y2);
+               PIPE_CONF_CHECK_RECT(pipe_src);
 
                PIPE_CONF_CHECK_BOOL(pch_pfit.enabled);
-               if (current_config->pch_pfit.enabled) {
-                       PIPE_CONF_CHECK_I(pch_pfit.dst.x1);
-                       PIPE_CONF_CHECK_I(pch_pfit.dst.y1);
-                       PIPE_CONF_CHECK_I(pch_pfit.dst.x2);
-                       PIPE_CONF_CHECK_I(pch_pfit.dst.y2);
-               }
+               PIPE_CONF_CHECK_RECT(pch_pfit.dst);
 
                PIPE_CONF_CHECK_I(scaler_state.scaler_id);
                PIPE_CONF_CHECK_CLOCK_FUZZY(pixel_rate);
 #undef PIPE_CONF_CHECK_CLOCK_FUZZY
 #undef PIPE_CONF_CHECK_COLOR_LUT
 #undef PIPE_CONF_CHECK_TIMINGS
+#undef PIPE_CONF_CHECK_RECT
 #undef PIPE_CONF_QUIRK
 
        return ret;