aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2013-09-06 16:29:07 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-09-16 17:01:44 -0400
commit5e550656d98e82b740d3744ef1df783cdc05386e (patch)
treec6fff254a096c48e67697b881cd159b78be47e15 /drivers/gpu/drm/i915/intel_display.c
parent18442d08786472c63a0a80c27f92b033dffc26de (diff)
drm/i915: Add PIPE_CONF_CHECK_CLOCK_FUZZY()
Add a new pipe config check macro PIPE_CONF_CHECK_CLOCK_FUZZY() to make it trivial and error proof to compare clocks in a fuzzy manner. v2: Drop extra curly braces Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 6d4093974297..d303b254a382 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8678,6 +8678,15 @@ intel_pipe_config_compare(struct drm_device *dev,
8678 return false; \ 8678 return false; \
8679 } 8679 }
8680 8680
8681#define PIPE_CONF_CHECK_CLOCK_FUZZY(name) \
8682 if (!intel_fuzzy_clock_check(current_config->name, pipe_config->name)) { \
8683 DRM_ERROR("mismatch in " #name " " \
8684 "(expected %i, found %i)\n", \
8685 current_config->name, \
8686 pipe_config->name); \
8687 return false; \
8688 }
8689
8681#define PIPE_CONF_QUIRK(quirk) \ 8690#define PIPE_CONF_QUIRK(quirk) \
8682 ((current_config->quirks | pipe_config->quirks) & (quirk)) 8691 ((current_config->quirks | pipe_config->quirks) & (quirk))
8683 8692
@@ -8750,21 +8759,15 @@ intel_pipe_config_compare(struct drm_device *dev,
8750 if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5) 8759 if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5)
8751 PIPE_CONF_CHECK_I(pipe_bpp); 8760 PIPE_CONF_CHECK_I(pipe_bpp);
8752 8761
8762 if (!IS_HASWELL(dev))
8763 PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.clock);
8764
8753#undef PIPE_CONF_CHECK_X 8765#undef PIPE_CONF_CHECK_X
8754#undef PIPE_CONF_CHECK_I 8766#undef PIPE_CONF_CHECK_I
8755#undef PIPE_CONF_CHECK_FLAGS 8767#undef PIPE_CONF_CHECK_FLAGS
8768#undef PIPE_CONF_CHECK_CLOCK_FUZZY
8756#undef PIPE_CONF_QUIRK 8769#undef PIPE_CONF_QUIRK
8757 8770
8758 if (!IS_HASWELL(dev)) {
8759 if (!intel_fuzzy_clock_check(current_config->adjusted_mode.clock,
8760 pipe_config->adjusted_mode.clock)) {
8761 DRM_ERROR("mismatch in clock (expected %d, found %d)\n",
8762 current_config->adjusted_mode.clock,
8763 pipe_config->adjusted_mode.clock);
8764 return false;
8765 }
8766 }
8767
8768 return true; 8771 return true;
8769} 8772}
8770 8773