drm/i915/lt_phy: Add .disable_clock hook on DDI

Add new pll_disable_clock functions so that they can be
hooked up to dpll->disable. This is just a wrapper over
the exitisting intel_xe3plpd_pll_disable to make it
compatible With dpll->disable function

v2: Revise commit message (Suraj)
    Drop wrapper for TBT clock disabling and reuse
    intel_mtl_pll_disable_clock() for DDI clock
    disabling hook (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-18-mika.kahola@intel.com
This commit is contained in:
Mika Kahola 2026-03-12 08:06:50 +00:00
parent 5ec58d7149
commit cfe8715427
2 changed files with 13 additions and 1 deletions

View File

@ -5299,7 +5299,7 @@ void intel_ddi_init(struct intel_display *display,
if (HAS_LT_PHY(display)) {
encoder->enable_clock = intel_mtl_pll_enable_clock;
encoder->disable_clock = intel_xe3plpd_pll_disable;
encoder->disable_clock = intel_mtl_pll_disable_clock;
encoder->port_pll_type = intel_mtl_port_pll_type;
encoder->get_config = xe3plpd_ddi_get_config;
} else if (DISPLAY_VER(display) >= 14) {

View File

@ -4607,8 +4607,20 @@ static void xe3plpd_pll_enable(struct intel_display *display,
intel_xe3plpd_pll_enable(encoder, pll, dpll_hw_state);
}
static void xe3plpd_pll_disable(struct intel_display *display,
struct intel_dpll *pll)
{
struct intel_encoder *encoder = get_intel_encoder(display, pll);
if (drm_WARN_ON(display->drm, !encoder))
return;
intel_xe3plpd_pll_disable(encoder);
}
static const struct intel_dpll_funcs xe3plpd_pll_funcs = {
.enable = xe3plpd_pll_enable,
.disable = xe3plpd_pll_disable,
.get_hw_state = xe3plpd_pll_get_hw_state,
.get_freq = xe3plpd_pll_get_freq,
};