]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915: Add fallback for CDCLK selection when min_cdclk is too high
authorNaladala Ramanaidu <ramanaidu.naladala@intel.com>
Fri, 17 Oct 2025 15:05:26 +0000 (20:35 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Wed, 29 Oct 2025 08:28:28 +0000 (13:58 +0530)
In cases where the requested minimum CDCLK exceeds all available
values for the current reference clock, the CDCLK selection logic
previously returned 0. This could result coverity division or
modulo by zero issue.
Introduce a fallback mechanism that returns platform's max_cdclk_freq
instead of 0.

v2: Update safe fallback value to max cdclk. (Ville)
v3: Update commit messgae (Mika)

Signed-off-by: Naladala Ramanaidu <ramanaidu.naladala@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20251017150526.781715-1-ramanaidu.naladala@intel.com
drivers/gpu/drm/i915/display/intel_cdclk.c

index e92e7fd9fd13587897a77e564770dc08c857a6a2..da97c38cca141c6f112509734b0218d75ed5ac3c 100644 (file)
@@ -1561,7 +1561,7 @@ static int bxt_calc_cdclk(struct intel_display *display, int min_cdclk)
        drm_WARN(display->drm, 1,
                 "Cannot satisfy minimum cdclk %d with refclk %u\n",
                 min_cdclk, display->cdclk.hw.ref);
-       return 0;
+       return display->cdclk.max_cdclk_freq;
 }
 
 static int bxt_calc_cdclk_pll_vco(struct intel_display *display, int cdclk)