Skip to content

Commit

Permalink
drm/i915: Allow fuzzy matching in intel_compare_link_m_n
Browse files Browse the repository at this point in the history
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: Maarten Lankhorst <[email protected]>
Tested-by: Kenneth Graunke <[email protected]>
Reviewed-by: Daniel Vetter <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
mlankhorst committed Jan 6, 2016
1 parent d93c037 commit 31d10b5
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 31d10b5

Please sign in to comment.