} \
 } while (0)
 
+#define PIPE_CONF_CHECK_TIMINGS(name) do { \
+       PIPE_CONF_CHECK_I(name.crtc_hdisplay); \
+       PIPE_CONF_CHECK_I(name.crtc_htotal); \
+       PIPE_CONF_CHECK_I(name.crtc_hblank_start); \
+       PIPE_CONF_CHECK_I(name.crtc_hblank_end); \
+       PIPE_CONF_CHECK_I(name.crtc_hsync_start); \
+       PIPE_CONF_CHECK_I(name.crtc_hsync_end); \
+       PIPE_CONF_CHECK_I(name.crtc_vdisplay); \
+       PIPE_CONF_CHECK_I(name.crtc_vtotal); \
+       PIPE_CONF_CHECK_I(name.crtc_vblank_start); \
+       PIPE_CONF_CHECK_I(name.crtc_vblank_end); \
+       PIPE_CONF_CHECK_I(name.crtc_vsync_start); \
+       PIPE_CONF_CHECK_I(name.crtc_vsync_end); \
+} 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_I(framestart_delay);
        PIPE_CONF_CHECK_I(msa_timing_delay);
 
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_hdisplay);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_htotal);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_hblank_start);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_hblank_end);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_hsync_start);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_hsync_end);
-
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_vdisplay);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_vtotal);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_vblank_start);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_vblank_end);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_vsync_start);
-       PIPE_CONF_CHECK_I(hw.pipe_mode.crtc_vsync_end);
-
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_hdisplay);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_htotal);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_hblank_start);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_hblank_end);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_hsync_start);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_hsync_end);
-
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_vdisplay);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_vtotal);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_vblank_start);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_vblank_end);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_vsync_start);
-       PIPE_CONF_CHECK_I(hw.adjusted_mode.crtc_vsync_end);
+       PIPE_CONF_CHECK_TIMINGS(hw.pipe_mode);
+       PIPE_CONF_CHECK_TIMINGS(hw.adjusted_mode);
 
        PIPE_CONF_CHECK_I(pixel_multiplier);
 
 #undef PIPE_CONF_CHECK_FLAGS
 #undef PIPE_CONF_CHECK_CLOCK_FUZZY
 #undef PIPE_CONF_CHECK_COLOR_LUT
+#undef PIPE_CONF_CHECK_TIMINGS
 #undef PIPE_CONF_QUIRK
 
        return ret;