]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/lt_phy: Add xe3plpd .get_freq hook
authorMika Kahola <mika.kahola@intel.com>
Thu, 12 Mar 2026 08:06:47 +0000 (08:06 +0000)
committerMika Kahola <mika.kahola@intel.com>
Tue, 24 Mar 2026 07:45:56 +0000 (09:45 +0200)
Add .get_freq function hook to support dpll framework for xe3plpd platform.

v2: Restore port clock calculation (Suraj)

Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patch.msgid.link/20260312080657.2648265-15-mika.kahola@intel.com
drivers/gpu/drm/i915/display/intel_dpll_mgr.c

index 6502916793f5dc69acf897cd7a4df46e8dd6a447..412582e29ca6a0bd89e0398db5273dae0eaff0a8 100644 (file)
@@ -4583,8 +4583,21 @@ static bool xe3plpd_pll_get_hw_state(struct intel_display *display,
        return intel_lt_phy_pll_readout_hw_state(encoder, &dpll_hw_state->ltpll);
 }
 
+static int xe3plpd_pll_get_freq(struct intel_display *display,
+                               const struct intel_dpll *pll,
+                               const struct intel_dpll_hw_state *dpll_hw_state)
+{
+       struct intel_encoder *encoder = get_intel_encoder(display, pll);
+
+       if (drm_WARN_ON(display->drm, !encoder))
+               return -EINVAL;
+
+       return intel_lt_phy_calc_port_clock(display, &dpll_hw_state->ltpll);
+}
+
 static const struct intel_dpll_funcs xe3plpd_pll_funcs = {
        .get_hw_state = xe3plpd_pll_get_hw_state,
+       .get_freq = xe3plpd_pll_get_freq,
 };
 
 static const struct dpll_info xe3plpd_plls[] = {