]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/i915/display: Fix u32 overflow in SNPS PHY HDMI PLL setup
authorDibin Moolakadan Subrahmanian <dibin.moolakadan.subrahmanian@intel.com>
Wed, 28 May 2025 06:45:56 +0000 (12:15 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Tue, 3 Jun 2025 12:47:27 +0000 (18:17 +0530)
commitce924116e43ffbfa544d82976c4b9d11bcde9334
tree5aae9d95ae4763fc38e76465e4212da78dfa0aa1
parentd201a9797b39e580842613238c620a2a1694ceef
drm/i915/display: Fix u32 overflow in SNPS PHY HDMI PLL setup

When configuring the HDMI PLL, calculations use DIV_ROUND_UP_ULL and
DIV_ROUND_DOWN_ULL macros, which internally rely on do_div. However, do_div
expects a 32-bit (u32) divisor, and at higher data rates, the divisor can
exceed this limit. This leads to incorrect division results and
ultimately misconfigured PLL values.
This fix replaces do_div calls with  div64_base64 calls where diviser
can exceed u32 limit.

Fixes: 5947642004bf ("drm/i915/display: Add support for SNPS PHY HDMI PLL algorithm for DG2")
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dibin Moolakadan Subrahmanian <dibin.moolakadan.subrahmanian@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://lore.kernel.org/r/20250528064557.4172149-1-dibin.moolakadan.subrahmanian@intel.com
drivers/gpu/drm/i915/display/intel_snps_hdmi_pll.c