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

Commit 31d10b57 authored by Maarten Lankhorst's avatar Maarten Lankhorst
Browse files

drm/i915: Allow fuzzy matching in intel_compare_link_m_n



This prevents a unnecessary modeset on a dell XPS 13 (2016).

N is always a power of 2, which means that for fuzzy matching we should
compare for inequality on the n values, then do fuzzy matching on the m
values.

Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tested-by: default avatarKenneth Graunke <kenneth@whitecape.org>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/568D0E93.304@linux.intel.com
parent d93c0372
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -12577,19 +12577,22 @@ intel_compare_m_n(unsigned int m, unsigned int n,

	BUILD_BUG_ON(DATA_LINK_M_N_MASK > INT_MAX);

	if (m > m2) {
		while (m > m2) {
	if (n > n2) {
		while (n > n2) {
			m2 <<= 1;
			n2 <<= 1;
		}
	} else if (m < m2) {
		while (m < m2) {
	} else if (n < n2) {
		while (n < n2) {
			m <<= 1;
			n <<= 1;
		}
	}

	return m == m2 && n == n2;
	if (n != n2)
		return false;

	return intel_fuzzy_clock_check(m, m2);
}

static bool