diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2013-09-06 16:29:07 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-09-16 17:01:44 -0400 |
commit | 5e550656d98e82b740d3744ef1df783cdc05386e (patch) | |
tree | c6fff254a096c48e67697b881cd159b78be47e15 /drivers/gpu/drm/i915/intel_display.c | |
parent | 18442d08786472c63a0a80c27f92b033dffc26de (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.c | 23 |
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 | ||