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

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
...@@ -12577,19 +12577,22 @@ intel_compare_m_n(unsigned int m, unsigned int n, ...@@ -12577,19 +12577,22 @@ intel_compare_m_n(unsigned int m, unsigned int n,
BUILD_BUG_ON(DATA_LINK_M_N_MASK > INT_MAX); BUILD_BUG_ON(DATA_LINK_M_N_MASK > INT_MAX);
if (m > m2) { if (n > n2) {
while (m > m2) { while (n > n2) {
m2 <<= 1; m2 <<= 1;
n2 <<= 1; n2 <<= 1;
} }
} else if (m < m2) { } else if (n < n2) {
while (m < m2) { while (n < n2) {
m <<= 1; m <<= 1;
n <<= 1; n <<= 1;
} }
} }
return m == m2 && n == n2; if (n != n2)
return false;
return intel_fuzzy_clock_check(m, m2);
} }
static bool static bool
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment