Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e550656 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter
Browse files

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: default avatarJani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 18442d08
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -8678,6 +8678,15 @@ intel_pipe_config_compare(struct drm_device *dev,
		return false; \
	}

#define PIPE_CONF_CHECK_CLOCK_FUZZY(name) \
	if (!intel_fuzzy_clock_check(current_config->name, pipe_config->name)) { \
		DRM_ERROR("mismatch in " #name " " \
			  "(expected %i, found %i)\n", \
			  current_config->name, \
			  pipe_config->name); \
		return false; \
	}

#define PIPE_CONF_QUIRK(quirk)	\
	((current_config->quirks | pipe_config->quirks) & (quirk))

@@ -8750,21 +8759,15 @@ intel_pipe_config_compare(struct drm_device *dev,
	if (IS_G4X(dev) || INTEL_INFO(dev)->gen >= 5)
		PIPE_CONF_CHECK_I(pipe_bpp);

	if (!IS_HASWELL(dev))
		PIPE_CONF_CHECK_CLOCK_FUZZY(adjusted_mode.clock);

#undef PIPE_CONF_CHECK_X
#undef PIPE_CONF_CHECK_I
#undef PIPE_CONF_CHECK_FLAGS
#undef PIPE_CONF_CHECK_CLOCK_FUZZY
#undef PIPE_CONF_QUIRK

	if (!IS_HASWELL(dev)) {
		if (!intel_fuzzy_clock_check(current_config->adjusted_mode.clock,
					     pipe_config->adjusted_mode.clock)) {
			DRM_ERROR("mismatch in clock (expected %d, found %d)\n",
				  current_config->adjusted_mode.clock,
				  pipe_config->adjusted_mode.clock);
			return false;
		}
	}

	return true;
}