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,
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
......
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