From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kenneth Graunke Subject: Re: [PATCH] drm/i915: Allow fuzzy matching in intel_compare_link_m_n Date: Wed, 06 Jan 2016 05:00:27 -0800 Message-ID: <2485368.OfNUyHZSap@eiger> References: <568D0E93.304@linux.intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0912739656==" Return-path: Received: from smtp89.ord1c.emailsrvr.com (smtp89.ord1c.emailsrvr.com [108.166.43.89]) by gabe.freedesktop.org (Postfix) with ESMTPS id 744B56E5C5 for ; Wed, 6 Jan 2016 05:06:23 -0800 (PST) In-Reply-To: <568D0E93.304@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org --===============0912739656== Content-Type: multipart/signed; boundary="nextPart1984249.Rf5aUitgRR"; micalg="pgp-sha256"; protocol="application/pgp-signature" --nextPart1984249.Rf5aUitgRR Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" On Wednesday, January 6, 2016 1:54:43 PM PST Maarten Lankhorst wrote: > 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 > Tested-by: Tested-by: Kenneth Graunke > -- > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/ intel_display.c > index 7afbdc45a278..aa4f1e69b92e 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12638,19 +12638,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 > > --nextPart1984249.Rf5aUitgRR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJWjQ/rAAoJEFtb2gcdScw4mXYQAJwqx6Q0HLm5vUsofa8AnW3s ng6d+Fy6od/MWeVIJZNYBt5IvooANctwyw2WQSGGKYHyQrfUCpkZM/gp4mmgpawS NkZCpvIvCcfagxLLV3OsOsjItNWJktFJFctwO8+wr31JIyi1DfPVW1rPn/Ia32lp 3L71wT1WdqUkIbO7uls5BsgdAt7aw8VJGOXWMsBrsWZyDgqtwEmq6rkzajSP3DkU TAXuT1rM3sgnbtjGB6UhCOIyYzR7nYpMTDxetZdJFOIC8kjs+ilDI7ipOctnFJWf 73mJk++1FJFb2GFSYrqPWIyQnH1jrI6+x9GjBLz8D8o5R7zo5lES31CHquH/C+qk JXbrBnM4vrMOst1WHtwPdfNSW70nj0bD/XsTq3JJuHeteZZhABAX9kykqs3indHw BC8KrVlmq1ChmFCMSJ1Ay6DtaIBNEsdZxEqsdop32xMo8nQ/o6s+0G71lMeE+mqW QjwFwZ0dadLo6YpHpc5S8qq4O81/9LqfhRn7WJQRSI9iEVNquMUtjeY6yIN14h/F PI/CfoAjaCRUoT2UJW/FfbYoeHVfxmGCdYO5jC8ZD9H6cdX3wonvmS7F8JeTkyy7 tSkwKYCHVZLjRLJDkmrOII0uueMjmMMlud76E6jhVCvgPdtN+0Yi1yqYRMyIADIQ +LHe2tUp0NPdt1ECo0uo =9Tb6 -----END PGP SIGNATURE----- --nextPart1984249.Rf5aUitgRR-- --===============0912739656== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK --===============0912739656==--