Commit 3420841f authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Rename PLL hw_state variables/arguments

We have zero consistency in out PLL state naming scheme. Try
to unify things a bit by using 'dpll_hw_state' for high level
stuff and just 'hw_state' for low level stuff. Currently both
are the same, but I want to unionize intel_dpll_hw_state at
which point using different names can make it more clear whether
we're talking about the whole union or just the embedded platform
specific struct.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240412182703.19916-4-ville.syrjala@linux.intel.comReviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 53b95003
...@@ -81,7 +81,7 @@ struct intel_shared_dpll_funcs { ...@@ -81,7 +81,7 @@ struct intel_shared_dpll_funcs {
*/ */
bool (*get_hw_state)(struct drm_i915_private *i915, bool (*get_hw_state)(struct drm_i915_private *i915,
struct intel_shared_dpll *pll, struct intel_shared_dpll *pll,
struct intel_dpll_hw_state *hw_state); struct intel_dpll_hw_state *dpll_hw_state);
/* /*
* Hook for calculating the pll's output frequency based on its passed * Hook for calculating the pll's output frequency based on its passed
...@@ -89,7 +89,7 @@ struct intel_shared_dpll_funcs { ...@@ -89,7 +89,7 @@ struct intel_shared_dpll_funcs {
*/ */
int (*get_freq)(struct drm_i915_private *i915, int (*get_freq)(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state); const struct intel_dpll_hw_state *dpll_hw_state);
}; };
struct intel_dpll_mgr { struct intel_dpll_mgr {
...@@ -108,7 +108,7 @@ struct intel_dpll_mgr { ...@@ -108,7 +108,7 @@ struct intel_dpll_mgr {
struct intel_encoder *encoder); struct intel_encoder *encoder);
void (*update_ref_clks)(struct drm_i915_private *i915); void (*update_ref_clks)(struct drm_i915_private *i915);
void (*dump_hw_state)(struct drm_printer *p, void (*dump_hw_state)(struct drm_printer *p,
const struct intel_dpll_hw_state *hw_state); const struct intel_dpll_hw_state *dpll_hw_state);
bool (*compare_hw_state)(const struct intel_dpll_hw_state *a, bool (*compare_hw_state)(const struct intel_dpll_hw_state *a,
const struct intel_dpll_hw_state *b); const struct intel_dpll_hw_state *b);
}; };
...@@ -352,7 +352,7 @@ intel_dpll_mask_all(struct drm_i915_private *i915) ...@@ -352,7 +352,7 @@ intel_dpll_mask_all(struct drm_i915_private *i915)
static struct intel_shared_dpll * static struct intel_shared_dpll *
intel_find_shared_dpll(struct intel_atomic_state *state, intel_find_shared_dpll(struct intel_atomic_state *state,
const struct intel_crtc *crtc, const struct intel_crtc *crtc,
const struct intel_dpll_hw_state *pll_state, const struct intel_dpll_hw_state *dpll_hw_state,
unsigned long dpll_mask) unsigned long dpll_mask)
{ {
struct drm_i915_private *i915 = to_i915(crtc->base.dev); struct drm_i915_private *i915 = to_i915(crtc->base.dev);
...@@ -379,9 +379,9 @@ intel_find_shared_dpll(struct intel_atomic_state *state, ...@@ -379,9 +379,9 @@ intel_find_shared_dpll(struct intel_atomic_state *state,
continue; continue;
} }
if (memcmp(pll_state, if (memcmp(dpll_hw_state,
&shared_dpll[pll->index].hw_state, &shared_dpll[pll->index].hw_state,
sizeof(*pll_state)) == 0) { sizeof(*dpll_hw_state)) == 0) {
drm_dbg_kms(&i915->drm, drm_dbg_kms(&i915->drm,
"[CRTC:%d:%s] sharing existing %s (pipe mask 0x%x, active 0x%x)\n", "[CRTC:%d:%s] sharing existing %s (pipe mask 0x%x, active 0x%x)\n",
crtc->base.base.id, crtc->base.name, crtc->base.base.id, crtc->base.name,
...@@ -430,14 +430,14 @@ static void ...@@ -430,14 +430,14 @@ static void
intel_reference_shared_dpll(struct intel_atomic_state *state, intel_reference_shared_dpll(struct intel_atomic_state *state,
const struct intel_crtc *crtc, const struct intel_crtc *crtc,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *dpll_hw_state)
{ {
struct intel_shared_dpll_state *shared_dpll; struct intel_shared_dpll_state *shared_dpll;
shared_dpll = intel_atomic_get_shared_dpll_state(&state->base); shared_dpll = intel_atomic_get_shared_dpll_state(&state->base);
if (shared_dpll[pll->index].pipe_mask == 0) if (shared_dpll[pll->index].pipe_mask == 0)
shared_dpll[pll->index].hw_state = *pll_state; shared_dpll[pll->index].hw_state = *dpll_hw_state;
intel_reference_shared_dpll_crtc(crtc, pll, &shared_dpll[pll->index]); intel_reference_shared_dpll_crtc(crtc, pll, &shared_dpll[pll->index]);
} }
...@@ -974,11 +974,11 @@ hsw_ddi_calculate_wrpll(int clock /* in Hz */, ...@@ -974,11 +974,11 @@ hsw_ddi_calculate_wrpll(int clock /* in Hz */,
static int hsw_ddi_wrpll_get_freq(struct drm_i915_private *i915, static int hsw_ddi_wrpll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
int refclk; int refclk;
int n, p, r; int n, p, r;
u32 wrpll = pll_state->wrpll; u32 wrpll = hw_state->wrpll;
switch (wrpll & WRPLL_REF_MASK) { switch (wrpll & WRPLL_REF_MASK) {
case WRPLL_REF_SPECIAL_HSW: case WRPLL_REF_SPECIAL_HSW:
...@@ -1098,7 +1098,7 @@ hsw_ddi_lcpll_get_dpll(struct intel_crtc_state *crtc_state) ...@@ -1098,7 +1098,7 @@ hsw_ddi_lcpll_get_dpll(struct intel_crtc_state *crtc_state)
static int hsw_ddi_lcpll_get_freq(struct drm_i915_private *i915, static int hsw_ddi_lcpll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
int link_clock = 0; int link_clock = 0;
...@@ -1149,11 +1149,11 @@ hsw_ddi_spll_get_dpll(struct intel_atomic_state *state, ...@@ -1149,11 +1149,11 @@ hsw_ddi_spll_get_dpll(struct intel_atomic_state *state,
static int hsw_ddi_spll_get_freq(struct drm_i915_private *i915, static int hsw_ddi_spll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
int link_clock = 0; int link_clock = 0;
switch (pll_state->spll & SPLL_FREQ_MASK) { switch (hw_state->spll & SPLL_FREQ_MASK) {
case SPLL_FREQ_810MHz: case SPLL_FREQ_810MHz:
link_clock = 81000; link_clock = 81000;
break; break;
...@@ -1694,16 +1694,16 @@ skl_ddi_calculate_wrpll(int clock /* in Hz */, ...@@ -1694,16 +1694,16 @@ skl_ddi_calculate_wrpll(int clock /* in Hz */,
static int skl_ddi_wrpll_get_freq(struct drm_i915_private *i915, static int skl_ddi_wrpll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
int ref_clock = i915->display.dpll.ref_clks.nssc; int ref_clock = i915->display.dpll.ref_clks.nssc;
u32 p0, p1, p2, dco_freq; u32 p0, p1, p2, dco_freq;
p0 = pll_state->cfgcr2 & DPLL_CFGCR2_PDIV_MASK; p0 = hw_state->cfgcr2 & DPLL_CFGCR2_PDIV_MASK;
p2 = pll_state->cfgcr2 & DPLL_CFGCR2_KDIV_MASK; p2 = hw_state->cfgcr2 & DPLL_CFGCR2_KDIV_MASK;
if (pll_state->cfgcr2 & DPLL_CFGCR2_QDIV_MODE(1)) if (hw_state->cfgcr2 & DPLL_CFGCR2_QDIV_MODE(1))
p1 = (pll_state->cfgcr2 & DPLL_CFGCR2_QDIV_RATIO_MASK) >> 8; p1 = (hw_state->cfgcr2 & DPLL_CFGCR2_QDIV_RATIO_MASK) >> 8;
else else
p1 = 1; p1 = 1;
...@@ -1751,10 +1751,10 @@ static int skl_ddi_wrpll_get_freq(struct drm_i915_private *i915, ...@@ -1751,10 +1751,10 @@ static int skl_ddi_wrpll_get_freq(struct drm_i915_private *i915,
return 0; return 0;
} }
dco_freq = (pll_state->cfgcr1 & DPLL_CFGCR1_DCO_INTEGER_MASK) * dco_freq = (hw_state->cfgcr1 & DPLL_CFGCR1_DCO_INTEGER_MASK) *
ref_clock; ref_clock;
dco_freq += ((pll_state->cfgcr1 & DPLL_CFGCR1_DCO_FRACTION_MASK) >> 9) * dco_freq += ((hw_state->cfgcr1 & DPLL_CFGCR1_DCO_FRACTION_MASK) >> 9) *
ref_clock / 0x8000; ref_clock / 0x8000;
if (drm_WARN_ON(&i915->drm, p0 == 0 || p1 == 0 || p2 == 0)) if (drm_WARN_ON(&i915->drm, p0 == 0 || p1 == 0 || p2 == 0))
...@@ -1842,11 +1842,11 @@ skl_ddi_dp_set_dpll_hw_state(struct intel_crtc_state *crtc_state) ...@@ -1842,11 +1842,11 @@ skl_ddi_dp_set_dpll_hw_state(struct intel_crtc_state *crtc_state)
static int skl_ddi_lcpll_get_freq(struct drm_i915_private *i915, static int skl_ddi_lcpll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
int link_clock = 0; int link_clock = 0;
switch ((pll_state->ctrl1 & DPLL_CTRL1_LINK_RATE_MASK(0)) >> switch ((hw_state->ctrl1 & DPLL_CTRL1_LINK_RATE_MASK(0)) >>
DPLL_CTRL1_LINK_RATE_SHIFT(0)) { DPLL_CTRL1_LINK_RATE_SHIFT(0)) {
case DPLL_CTRL1_LINK_RATE_810: case DPLL_CTRL1_LINK_RATE_810:
link_clock = 81000; link_clock = 81000;
...@@ -1920,16 +1920,16 @@ static int skl_get_dpll(struct intel_atomic_state *state, ...@@ -1920,16 +1920,16 @@ static int skl_get_dpll(struct intel_atomic_state *state,
static int skl_ddi_pll_get_freq(struct drm_i915_private *i915, static int skl_ddi_pll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
/* /*
* ctrl1 register is already shifted for each pll, just use 0 to get * ctrl1 register is already shifted for each pll, just use 0 to get
* the internal shift for each field * the internal shift for each field
*/ */
if (pll_state->ctrl1 & DPLL_CTRL1_HDMI_MODE(0)) if (hw_state->ctrl1 & DPLL_CTRL1_HDMI_MODE(0))
return skl_ddi_wrpll_get_freq(i915, pll, pll_state); return skl_ddi_wrpll_get_freq(i915, pll, hw_state);
else else
return skl_ddi_lcpll_get_freq(i915, pll, pll_state); return skl_ddi_lcpll_get_freq(i915, pll, hw_state);
} }
static void skl_update_dpll_ref_clks(struct drm_i915_private *i915) static void skl_update_dpll_ref_clks(struct drm_i915_private *i915)
...@@ -2241,7 +2241,7 @@ static int bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state, ...@@ -2241,7 +2241,7 @@ static int bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state,
const struct dpll *clk_div) const struct dpll *clk_div)
{ {
struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev); struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
struct intel_dpll_hw_state *dpll_hw_state = &crtc_state->dpll_hw_state; struct intel_dpll_hw_state *hw_state = &crtc_state->dpll_hw_state;
int clock = crtc_state->port_clock; int clock = crtc_state->port_clock;
int vco = clk_div->vco; int vco = clk_div->vco;
u32 prop_coef, int_coef, gain_ctl, targ_cnt; u32 prop_coef, int_coef, gain_ctl, targ_cnt;
...@@ -2279,45 +2279,46 @@ static int bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state, ...@@ -2279,45 +2279,46 @@ static int bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state,
else else
lanestagger = 0x02; lanestagger = 0x02;
dpll_hw_state->ebb0 = PORT_PLL_P1(clk_div->p1) | PORT_PLL_P2(clk_div->p2); hw_state->ebb0 = PORT_PLL_P1(clk_div->p1) | PORT_PLL_P2(clk_div->p2);
dpll_hw_state->pll0 = PORT_PLL_M2_INT(clk_div->m2 >> 22); hw_state->pll0 = PORT_PLL_M2_INT(clk_div->m2 >> 22);
dpll_hw_state->pll1 = PORT_PLL_N(clk_div->n); hw_state->pll1 = PORT_PLL_N(clk_div->n);
dpll_hw_state->pll2 = PORT_PLL_M2_FRAC(clk_div->m2 & 0x3fffff); hw_state->pll2 = PORT_PLL_M2_FRAC(clk_div->m2 & 0x3fffff);
if (clk_div->m2 & 0x3fffff) if (clk_div->m2 & 0x3fffff)
dpll_hw_state->pll3 = PORT_PLL_M2_FRAC_ENABLE; hw_state->pll3 = PORT_PLL_M2_FRAC_ENABLE;
dpll_hw_state->pll6 = PORT_PLL_PROP_COEFF(prop_coef) | hw_state->pll6 = PORT_PLL_PROP_COEFF(prop_coef) |
PORT_PLL_INT_COEFF(int_coef) | PORT_PLL_INT_COEFF(int_coef) |
PORT_PLL_GAIN_CTL(gain_ctl); PORT_PLL_GAIN_CTL(gain_ctl);
dpll_hw_state->pll8 = PORT_PLL_TARGET_CNT(targ_cnt); hw_state->pll8 = PORT_PLL_TARGET_CNT(targ_cnt);
dpll_hw_state->pll9 = PORT_PLL_LOCK_THRESHOLD(5); hw_state->pll9 = PORT_PLL_LOCK_THRESHOLD(5);
dpll_hw_state->pll10 = PORT_PLL_DCO_AMP(15) | hw_state->pll10 = PORT_PLL_DCO_AMP(15) |
PORT_PLL_DCO_AMP_OVR_EN_H; PORT_PLL_DCO_AMP_OVR_EN_H;
dpll_hw_state->ebb4 = PORT_PLL_10BIT_CLK_ENABLE; hw_state->ebb4 = PORT_PLL_10BIT_CLK_ENABLE;
dpll_hw_state->pcsdw12 = LANESTAGGER_STRAP_OVRD | lanestagger; hw_state->pcsdw12 = LANESTAGGER_STRAP_OVRD | lanestagger;
return 0; return 0;
} }
static int bxt_ddi_pll_get_freq(struct drm_i915_private *i915, static int bxt_ddi_pll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
struct dpll clock; struct dpll clock;
clock.m1 = 2; clock.m1 = 2;
clock.m2 = REG_FIELD_GET(PORT_PLL_M2_INT_MASK, pll_state->pll0) << 22; clock.m2 = REG_FIELD_GET(PORT_PLL_M2_INT_MASK, hw_state->pll0) << 22;
if (pll_state->pll3 & PORT_PLL_M2_FRAC_ENABLE) if (hw_state->pll3 & PORT_PLL_M2_FRAC_ENABLE)
clock.m2 |= REG_FIELD_GET(PORT_PLL_M2_FRAC_MASK, pll_state->pll2); clock.m2 |= REG_FIELD_GET(PORT_PLL_M2_FRAC_MASK,
clock.n = REG_FIELD_GET(PORT_PLL_N_MASK, pll_state->pll1); hw_state->pll2);
clock.p1 = REG_FIELD_GET(PORT_PLL_P1_MASK, pll_state->ebb0); clock.n = REG_FIELD_GET(PORT_PLL_N_MASK, hw_state->pll1);
clock.p2 = REG_FIELD_GET(PORT_PLL_P2_MASK, pll_state->ebb0); clock.p1 = REG_FIELD_GET(PORT_PLL_P1_MASK, hw_state->ebb0);
clock.p2 = REG_FIELD_GET(PORT_PLL_P2_MASK, hw_state->ebb0);
return chv_calc_dpll_params(i915->display.dpll.ref_clks.nssc, &clock); return chv_calc_dpll_params(i915->display.dpll.ref_clks.nssc, &clock);
} }
...@@ -2695,7 +2696,7 @@ static int icl_calc_tbt_pll(struct intel_crtc_state *crtc_state, ...@@ -2695,7 +2696,7 @@ static int icl_calc_tbt_pll(struct intel_crtc_state *crtc_state,
static int icl_ddi_tbt_pll_get_freq(struct drm_i915_private *i915, static int icl_ddi_tbt_pll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
/* /*
* The PLL outputs multiple frequencies at the same time, selection is * The PLL outputs multiple frequencies at the same time, selection is
...@@ -2766,17 +2767,17 @@ icl_calc_wrpll(struct intel_crtc_state *crtc_state, ...@@ -2766,17 +2767,17 @@ icl_calc_wrpll(struct intel_crtc_state *crtc_state,
static int icl_ddi_combo_pll_get_freq(struct drm_i915_private *i915, static int icl_ddi_combo_pll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
int ref_clock = icl_wrpll_ref_clock(i915); int ref_clock = icl_wrpll_ref_clock(i915);
u32 dco_fraction; u32 dco_fraction;
u32 p0, p1, p2, dco_freq; u32 p0, p1, p2, dco_freq;
p0 = pll_state->cfgcr1 & DPLL_CFGCR1_PDIV_MASK; p0 = hw_state->cfgcr1 & DPLL_CFGCR1_PDIV_MASK;
p2 = pll_state->cfgcr1 & DPLL_CFGCR1_KDIV_MASK; p2 = hw_state->cfgcr1 & DPLL_CFGCR1_KDIV_MASK;
if (pll_state->cfgcr1 & DPLL_CFGCR1_QDIV_MODE(1)) if (hw_state->cfgcr1 & DPLL_CFGCR1_QDIV_MODE(1))
p1 = (pll_state->cfgcr1 & DPLL_CFGCR1_QDIV_RATIO_MASK) >> p1 = (hw_state->cfgcr1 & DPLL_CFGCR1_QDIV_RATIO_MASK) >>
DPLL_CFGCR1_QDIV_RATIO_SHIFT; DPLL_CFGCR1_QDIV_RATIO_SHIFT;
else else
p1 = 1; p1 = 1;
...@@ -2808,10 +2809,10 @@ static int icl_ddi_combo_pll_get_freq(struct drm_i915_private *i915, ...@@ -2808,10 +2809,10 @@ static int icl_ddi_combo_pll_get_freq(struct drm_i915_private *i915,
break; break;
} }
dco_freq = (pll_state->cfgcr0 & DPLL_CFGCR0_DCO_INTEGER_MASK) * dco_freq = (hw_state->cfgcr0 & DPLL_CFGCR0_DCO_INTEGER_MASK) *
ref_clock; ref_clock;
dco_fraction = (pll_state->cfgcr0 & DPLL_CFGCR0_DCO_FRACTION_MASK) >> dco_fraction = (hw_state->cfgcr0 & DPLL_CFGCR0_DCO_FRACTION_MASK) >>
DPLL_CFGCR0_DCO_FRACTION_SHIFT; DPLL_CFGCR0_DCO_FRACTION_SHIFT;
if (ehl_combo_pll_div_frac_wa_needed(i915)) if (ehl_combo_pll_div_frac_wa_needed(i915))
...@@ -2827,33 +2828,33 @@ static int icl_ddi_combo_pll_get_freq(struct drm_i915_private *i915, ...@@ -2827,33 +2828,33 @@ static int icl_ddi_combo_pll_get_freq(struct drm_i915_private *i915,
static void icl_calc_dpll_state(struct drm_i915_private *i915, static void icl_calc_dpll_state(struct drm_i915_private *i915,
const struct skl_wrpll_params *pll_params, const struct skl_wrpll_params *pll_params,
struct intel_dpll_hw_state *pll_state) struct intel_dpll_hw_state *hw_state)
{ {
u32 dco_fraction = pll_params->dco_fraction; u32 dco_fraction = pll_params->dco_fraction;
if (ehl_combo_pll_div_frac_wa_needed(i915)) if (ehl_combo_pll_div_frac_wa_needed(i915))
dco_fraction = DIV_ROUND_CLOSEST(dco_fraction, 2); dco_fraction = DIV_ROUND_CLOSEST(dco_fraction, 2);
pll_state->cfgcr0 = DPLL_CFGCR0_DCO_FRACTION(dco_fraction) | hw_state->cfgcr0 = DPLL_CFGCR0_DCO_FRACTION(dco_fraction) |
pll_params->dco_integer; pll_params->dco_integer;
pll_state->cfgcr1 = DPLL_CFGCR1_QDIV_RATIO(pll_params->qdiv_ratio) | hw_state->cfgcr1 = DPLL_CFGCR1_QDIV_RATIO(pll_params->qdiv_ratio) |
DPLL_CFGCR1_QDIV_MODE(pll_params->qdiv_mode) | DPLL_CFGCR1_QDIV_MODE(pll_params->qdiv_mode) |
DPLL_CFGCR1_KDIV(pll_params->kdiv) | DPLL_CFGCR1_KDIV(pll_params->kdiv) |
DPLL_CFGCR1_PDIV(pll_params->pdiv); DPLL_CFGCR1_PDIV(pll_params->pdiv);
if (DISPLAY_VER(i915) >= 12) if (DISPLAY_VER(i915) >= 12)
pll_state->cfgcr1 |= TGL_DPLL_CFGCR1_CFSELOVRD_NORMAL_XTAL; hw_state->cfgcr1 |= TGL_DPLL_CFGCR1_CFSELOVRD_NORMAL_XTAL;
else else
pll_state->cfgcr1 |= DPLL_CFGCR1_CENTRAL_FREQ_8400; hw_state->cfgcr1 |= DPLL_CFGCR1_CENTRAL_FREQ_8400;
if (i915->display.vbt.override_afc_startup) if (i915->display.vbt.override_afc_startup)
pll_state->div0 = TGL_DPLL0_DIV0_AFC_STARTUP(i915->display.vbt.override_afc_startup_val); hw_state->div0 = TGL_DPLL0_DIV0_AFC_STARTUP(i915->display.vbt.override_afc_startup_val);
} }
static int icl_mg_pll_find_divisors(int clock_khz, bool is_dp, bool use_ssc, static int icl_mg_pll_find_divisors(int clock_khz, bool is_dp, bool use_ssc,
u32 *target_dco_khz, u32 *target_dco_khz,
struct intel_dpll_hw_state *state, struct intel_dpll_hw_state *hw_state,
bool is_dkl) bool is_dkl)
{ {
static const u8 div1_vals[] = { 7, 5, 3, 2 }; static const u8 div1_vals[] = { 7, 5, 3, 2 };
...@@ -2909,12 +2910,12 @@ static int icl_mg_pll_find_divisors(int clock_khz, bool is_dp, bool use_ssc, ...@@ -2909,12 +2910,12 @@ static int icl_mg_pll_find_divisors(int clock_khz, bool is_dp, bool use_ssc,
*target_dco_khz = dco; *target_dco_khz = dco;
state->mg_refclkin_ctl = MG_REFCLKIN_CTL_OD_2_MUX(1); hw_state->mg_refclkin_ctl = MG_REFCLKIN_CTL_OD_2_MUX(1);
state->mg_clktop2_coreclkctl1 = hw_state->mg_clktop2_coreclkctl1 =
MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO(a_divratio); MG_CLKTOP2_CORECLKCTL1_A_DIVRATIO(a_divratio);
state->mg_clktop2_hsclkctl = hw_state->mg_clktop2_hsclkctl =
MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL(tlinedrv) | MG_CLKTOP2_HSCLKCTL_TLINEDRV_CLKSEL(tlinedrv) |
MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL(inputsel) | MG_CLKTOP2_HSCLKCTL_CORE_INPUTSEL(inputsel) |
hsdiv | hsdiv |
...@@ -2932,7 +2933,7 @@ static int icl_mg_pll_find_divisors(int clock_khz, bool is_dp, bool use_ssc, ...@@ -2932,7 +2933,7 @@ static int icl_mg_pll_find_divisors(int clock_khz, bool is_dp, bool use_ssc,
* adapted to integer-only calculation, that's why it looks so different. * adapted to integer-only calculation, that's why it looks so different.
*/ */
static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state, static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state,
struct intel_dpll_hw_state *pll_state) struct intel_dpll_hw_state *hw_state)
{ {
struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev); struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev);
int refclk_khz = i915->display.dpll.ref_clks.nssc; int refclk_khz = i915->display.dpll.ref_clks.nssc;
...@@ -2949,7 +2950,7 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state, ...@@ -2949,7 +2950,7 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state,
int ret; int ret;
ret = icl_mg_pll_find_divisors(clock, is_dp, use_ssc, &dco_khz, ret = icl_mg_pll_find_divisors(clock, is_dp, use_ssc, &dco_khz,
pll_state, is_dkl); hw_state, is_dkl);
if (ret) if (ret)
return ret; return ret;
...@@ -3039,61 +3040,61 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state, ...@@ -3039,61 +3040,61 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state,
/* write pll_state calculations */ /* write pll_state calculations */
if (is_dkl) { if (is_dkl) {
pll_state->mg_pll_div0 = DKL_PLL_DIV0_INTEG_COEFF(int_coeff) | hw_state->mg_pll_div0 = DKL_PLL_DIV0_INTEG_COEFF(int_coeff) |
DKL_PLL_DIV0_PROP_COEFF(prop_coeff) | DKL_PLL_DIV0_PROP_COEFF(prop_coeff) |
DKL_PLL_DIV0_FBPREDIV(m1div) | DKL_PLL_DIV0_FBPREDIV(m1div) |
DKL_PLL_DIV0_FBDIV_INT(m2div_int); DKL_PLL_DIV0_FBDIV_INT(m2div_int);
if (i915->display.vbt.override_afc_startup) { if (i915->display.vbt.override_afc_startup) {
u8 val = i915->display.vbt.override_afc_startup_val; u8 val = i915->display.vbt.override_afc_startup_val;
pll_state->mg_pll_div0 |= DKL_PLL_DIV0_AFC_STARTUP(val); hw_state->mg_pll_div0 |= DKL_PLL_DIV0_AFC_STARTUP(val);
} }
pll_state->mg_pll_div1 = DKL_PLL_DIV1_IREF_TRIM(iref_trim) | hw_state->mg_pll_div1 = DKL_PLL_DIV1_IREF_TRIM(iref_trim) |
DKL_PLL_DIV1_TDC_TARGET_CNT(tdc_targetcnt); DKL_PLL_DIV1_TDC_TARGET_CNT(tdc_targetcnt);
pll_state->mg_pll_ssc = DKL_PLL_SSC_IREF_NDIV_RATIO(iref_ndiv) | hw_state->mg_pll_ssc = DKL_PLL_SSC_IREF_NDIV_RATIO(iref_ndiv) |
DKL_PLL_SSC_STEP_LEN(ssc_steplen) | DKL_PLL_SSC_STEP_LEN(ssc_steplen) |
DKL_PLL_SSC_STEP_NUM(ssc_steplog) | DKL_PLL_SSC_STEP_NUM(ssc_steplog) |
(use_ssc ? DKL_PLL_SSC_EN : 0); (use_ssc ? DKL_PLL_SSC_EN : 0);
pll_state->mg_pll_bias = (m2div_frac ? DKL_PLL_BIAS_FRAC_EN_H : 0) | hw_state->mg_pll_bias = (m2div_frac ? DKL_PLL_BIAS_FRAC_EN_H : 0) |
DKL_PLL_BIAS_FBDIV_FRAC(m2div_frac); DKL_PLL_BIAS_FBDIV_FRAC(m2div_frac);
pll_state->mg_pll_tdc_coldst_bias = hw_state->mg_pll_tdc_coldst_bias =
DKL_PLL_TDC_SSC_STEP_SIZE(ssc_stepsize) | DKL_PLL_TDC_SSC_STEP_SIZE(ssc_stepsize) |
DKL_PLL_TDC_FEED_FWD_GAIN(feedfwgain); DKL_PLL_TDC_FEED_FWD_GAIN(feedfwgain);
} else { } else {
pll_state->mg_pll_div0 = hw_state->mg_pll_div0 =
(m2div_rem > 0 ? MG_PLL_DIV0_FRACNEN_H : 0) | (m2div_rem > 0 ? MG_PLL_DIV0_FRACNEN_H : 0) |
MG_PLL_DIV0_FBDIV_FRAC(m2div_frac) | MG_PLL_DIV0_FBDIV_FRAC(m2div_frac) |
MG_PLL_DIV0_FBDIV_INT(m2div_int); MG_PLL_DIV0_FBDIV_INT(m2div_int);
pll_state->mg_pll_div1 = hw_state->mg_pll_div1 =
MG_PLL_DIV1_IREF_NDIVRATIO(iref_ndiv) | MG_PLL_DIV1_IREF_NDIVRATIO(iref_ndiv) |
MG_PLL_DIV1_DITHER_DIV_2 | MG_PLL_DIV1_DITHER_DIV_2 |
MG_PLL_DIV1_NDIVRATIO(1) | MG_PLL_DIV1_NDIVRATIO(1) |
MG_PLL_DIV1_FBPREDIV(m1div); MG_PLL_DIV1_FBPREDIV(m1div);
pll_state->mg_pll_lf = hw_state->mg_pll_lf =
MG_PLL_LF_TDCTARGETCNT(tdc_targetcnt) | MG_PLL_LF_TDCTARGETCNT(tdc_targetcnt) |
MG_PLL_LF_AFCCNTSEL_512 | MG_PLL_LF_AFCCNTSEL_512 |
MG_PLL_LF_GAINCTRL(1) | MG_PLL_LF_GAINCTRL(1) |
MG_PLL_LF_INT_COEFF(int_coeff) | MG_PLL_LF_INT_COEFF(int_coeff) |
MG_PLL_LF_PROP_COEFF(prop_coeff); MG_PLL_LF_PROP_COEFF(prop_coeff);
pll_state->mg_pll_frac_lock = hw_state->mg_pll_frac_lock =
MG_PLL_FRAC_LOCK_TRUELOCK_CRIT_32 | MG_PLL_FRAC_LOCK_TRUELOCK_CRIT_32 |
MG_PLL_FRAC_LOCK_EARLYLOCK_CRIT_32 | MG_PLL_FRAC_LOCK_EARLYLOCK_CRIT_32 |
MG_PLL_FRAC_LOCK_LOCKTHRESH(10) | MG_PLL_FRAC_LOCK_LOCKTHRESH(10) |
MG_PLL_FRAC_LOCK_DCODITHEREN | MG_PLL_FRAC_LOCK_DCODITHEREN |
MG_PLL_FRAC_LOCK_FEEDFWRDGAIN(feedfwgain); MG_PLL_FRAC_LOCK_FEEDFWRDGAIN(feedfwgain);
if (use_ssc || m2div_rem > 0) if (use_ssc || m2div_rem > 0)
pll_state->mg_pll_frac_lock |= hw_state->mg_pll_frac_lock |=
MG_PLL_FRAC_LOCK_FEEDFWRDCAL_EN; MG_PLL_FRAC_LOCK_FEEDFWRDCAL_EN;
pll_state->mg_pll_ssc = hw_state->mg_pll_ssc =
(use_ssc ? MG_PLL_SSC_EN : 0) | (use_ssc ? MG_PLL_SSC_EN : 0) |
MG_PLL_SSC_TYPE(2) | MG_PLL_SSC_TYPE(2) |
MG_PLL_SSC_STEPLENGTH(ssc_steplen) | MG_PLL_SSC_STEPLENGTH(ssc_steplen) |
...@@ -3101,14 +3102,14 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state, ...@@ -3101,14 +3102,14 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state,
MG_PLL_SSC_FLLEN | MG_PLL_SSC_FLLEN |
MG_PLL_SSC_STEPSIZE(ssc_stepsize); MG_PLL_SSC_STEPSIZE(ssc_stepsize);
pll_state->mg_pll_tdc_coldst_bias = hw_state->mg_pll_tdc_coldst_bias =
MG_PLL_TDC_COLDST_COLDSTART | MG_PLL_TDC_COLDST_COLDSTART |
MG_PLL_TDC_COLDST_IREFINT_EN | MG_PLL_TDC_COLDST_IREFINT_EN |
MG_PLL_TDC_COLDST_REFBIAS_START_PULSE_W(iref_pulse_w) | MG_PLL_TDC_COLDST_REFBIAS_START_PULSE_W(iref_pulse_w) |
MG_PLL_TDC_TDCOVCCORR_EN | MG_PLL_TDC_TDCOVCCORR_EN |
MG_PLL_TDC_TDCSEL(3); MG_PLL_TDC_TDCSEL(3);
pll_state->mg_pll_bias = hw_state->mg_pll_bias =
MG_PLL_BIAS_BIAS_GB_SEL(3) | MG_PLL_BIAS_BIAS_GB_SEL(3) |
MG_PLL_BIAS_INIT_DCOAMP(0x3F) | MG_PLL_BIAS_INIT_DCOAMP(0x3F) |
MG_PLL_BIAS_BIAS_BONUS(10) | MG_PLL_BIAS_BIAS_BONUS(10) |
...@@ -3118,17 +3119,17 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state, ...@@ -3118,17 +3119,17 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state,
MG_PLL_BIAS_IREFTRIM(iref_trim); MG_PLL_BIAS_IREFTRIM(iref_trim);
if (refclk_khz == 38400) { if (refclk_khz == 38400) {
pll_state->mg_pll_tdc_coldst_bias_mask = hw_state->mg_pll_tdc_coldst_bias_mask =
MG_PLL_TDC_COLDST_COLDSTART; MG_PLL_TDC_COLDST_COLDSTART;
pll_state->mg_pll_bias_mask = 0; hw_state->mg_pll_bias_mask = 0;
} else { } else {
pll_state->mg_pll_tdc_coldst_bias_mask = -1U; hw_state->mg_pll_tdc_coldst_bias_mask = -1U;
pll_state->mg_pll_bias_mask = -1U; hw_state->mg_pll_bias_mask = -1U;
} }
pll_state->mg_pll_tdc_coldst_bias &= hw_state->mg_pll_tdc_coldst_bias &=
pll_state->mg_pll_tdc_coldst_bias_mask; hw_state->mg_pll_tdc_coldst_bias_mask;
pll_state->mg_pll_bias &= pll_state->mg_pll_bias_mask; hw_state->mg_pll_bias &= hw_state->mg_pll_bias_mask;
} }
return 0; return 0;
...@@ -3136,7 +3137,7 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state, ...@@ -3136,7 +3137,7 @@ static int icl_calc_mg_pll_state(struct intel_crtc_state *crtc_state,
static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915, static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *hw_state)
{ {
u32 m1, m2_int, m2_frac, div1, div2, ref_clock; u32 m1, m2_int, m2_frac, div1, div2, ref_clock;
u64 tmp; u64 tmp;
...@@ -3144,23 +3145,23 @@ static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915, ...@@ -3144,23 +3145,23 @@ static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915,
ref_clock = i915->display.dpll.ref_clks.nssc; ref_clock = i915->display.dpll.ref_clks.nssc;
if (DISPLAY_VER(i915) >= 12) { if (DISPLAY_VER(i915) >= 12) {
m1 = pll_state->mg_pll_div0 & DKL_PLL_DIV0_FBPREDIV_MASK; m1 = hw_state->mg_pll_div0 & DKL_PLL_DIV0_FBPREDIV_MASK;
m1 = m1 >> DKL_PLL_DIV0_FBPREDIV_SHIFT; m1 = m1 >> DKL_PLL_DIV0_FBPREDIV_SHIFT;
m2_int = pll_state->mg_pll_div0 & DKL_PLL_DIV0_FBDIV_INT_MASK; m2_int = hw_state->mg_pll_div0 & DKL_PLL_DIV0_FBDIV_INT_MASK;
if (pll_state->mg_pll_bias & DKL_PLL_BIAS_FRAC_EN_H) { if (hw_state->mg_pll_bias & DKL_PLL_BIAS_FRAC_EN_H) {
m2_frac = pll_state->mg_pll_bias & m2_frac = hw_state->mg_pll_bias &
DKL_PLL_BIAS_FBDIV_FRAC_MASK; DKL_PLL_BIAS_FBDIV_FRAC_MASK;
m2_frac = m2_frac >> DKL_PLL_BIAS_FBDIV_SHIFT; m2_frac = m2_frac >> DKL_PLL_BIAS_FBDIV_SHIFT;
} else { } else {
m2_frac = 0; m2_frac = 0;
} }
} else { } else {
m1 = pll_state->mg_pll_div1 & MG_PLL_DIV1_FBPREDIV_MASK; m1 = hw_state->mg_pll_div1 & MG_PLL_DIV1_FBPREDIV_MASK;
m2_int = pll_state->mg_pll_div0 & MG_PLL_DIV0_FBDIV_INT_MASK; m2_int = hw_state->mg_pll_div0 & MG_PLL_DIV0_FBDIV_INT_MASK;
if (pll_state->mg_pll_div0 & MG_PLL_DIV0_FRACNEN_H) { if (hw_state->mg_pll_div0 & MG_PLL_DIV0_FRACNEN_H) {
m2_frac = pll_state->mg_pll_div0 & m2_frac = hw_state->mg_pll_div0 &
MG_PLL_DIV0_FBDIV_FRAC_MASK; MG_PLL_DIV0_FBDIV_FRAC_MASK;
m2_frac = m2_frac >> MG_PLL_DIV0_FBDIV_FRAC_SHIFT; m2_frac = m2_frac >> MG_PLL_DIV0_FBDIV_FRAC_SHIFT;
} else { } else {
...@@ -3168,7 +3169,7 @@ static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915, ...@@ -3168,7 +3169,7 @@ static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915,
} }
} }
switch (pll_state->mg_clktop2_hsclkctl & switch (hw_state->mg_clktop2_hsclkctl &
MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_MASK) { MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_MASK) {
case MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_2: case MG_CLKTOP2_HSCLKCTL_HSDIV_RATIO_2:
div1 = 2; div1 = 2;
...@@ -3183,11 +3184,11 @@ static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915, ...@@ -3183,11 +3184,11 @@ static int icl_ddi_mg_pll_get_freq(struct drm_i915_private *i915,
div1 = 7; div1 = 7;
break; break;
default: default:
MISSING_CASE(pll_state->mg_clktop2_hsclkctl); MISSING_CASE(hw_state->mg_clktop2_hsclkctl);
return 0; return 0;
} }
div2 = (pll_state->mg_clktop2_hsclkctl & div2 = (hw_state->mg_clktop2_hsclkctl &
MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_MASK) >> MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_MASK) >>
MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_SHIFT; MG_CLKTOP2_HSCLKCTL_DSDIV_RATIO_SHIFT;
...@@ -4396,33 +4397,33 @@ void intel_update_active_dpll(struct intel_atomic_state *state, ...@@ -4396,33 +4397,33 @@ void intel_update_active_dpll(struct intel_atomic_state *state,
* intel_dpll_get_freq - calculate the DPLL's output frequency * intel_dpll_get_freq - calculate the DPLL's output frequency
* @i915: i915 device * @i915: i915 device
* @pll: DPLL for which to calculate the output frequency * @pll: DPLL for which to calculate the output frequency
* @pll_state: DPLL state from which to calculate the output frequency * @dpll_hw_state: DPLL state from which to calculate the output frequency
* *
* Return the output frequency corresponding to @pll's passed in @pll_state. * Return the output frequency corresponding to @pll's passed in @dpll_hw_state.
*/ */
int intel_dpll_get_freq(struct drm_i915_private *i915, int intel_dpll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state) const struct intel_dpll_hw_state *dpll_hw_state)
{ {
if (drm_WARN_ON(&i915->drm, !pll->info->funcs->get_freq)) if (drm_WARN_ON(&i915->drm, !pll->info->funcs->get_freq))
return 0; return 0;
return pll->info->funcs->get_freq(i915, pll, pll_state); return pll->info->funcs->get_freq(i915, pll, dpll_hw_state);
} }
/** /**
* intel_dpll_get_hw_state - readout the DPLL's hardware state * intel_dpll_get_hw_state - readout the DPLL's hardware state
* @i915: i915 device * @i915: i915 device
* @pll: DPLL for which to calculate the output frequency * @pll: DPLL for which to calculate the output frequency
* @hw_state: DPLL's hardware state * @dpll_hw_state: DPLL's hardware state
* *
* Read out @pll's hardware state into @hw_state. * Read out @pll's hardware state into @dpll_hw_state.
*/ */
bool intel_dpll_get_hw_state(struct drm_i915_private *i915, bool intel_dpll_get_hw_state(struct drm_i915_private *i915,
struct intel_shared_dpll *pll, struct intel_shared_dpll *pll,
struct intel_dpll_hw_state *hw_state) struct intel_dpll_hw_state *dpll_hw_state)
{ {
return pll->info->funcs->get_hw_state(i915, pll, hw_state); return pll->info->funcs->get_hw_state(i915, pll, dpll_hw_state);
} }
static void readout_dpll_hw_state(struct drm_i915_private *i915, static void readout_dpll_hw_state(struct drm_i915_private *i915,
...@@ -4496,21 +4497,21 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915) ...@@ -4496,21 +4497,21 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915)
* intel_dpll_dump_hw_state - dump hw_state * intel_dpll_dump_hw_state - dump hw_state
* @i915: i915 drm device * @i915: i915 drm device
* @p: where to print the state to * @p: where to print the state to
* @hw_state: hw state to be dumped * @dpll_hw_state: hw state to be dumped
* *
* Dumo out the relevant values in @hw_state. * Dumo out the relevant values in @dpll_hw_state.
*/ */
void intel_dpll_dump_hw_state(struct drm_i915_private *i915, void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
struct drm_printer *p, struct drm_printer *p,
const struct intel_dpll_hw_state *hw_state) const struct intel_dpll_hw_state *dpll_hw_state)
{ {
if (i915->display.dpll.mgr) { if (i915->display.dpll.mgr) {
i915->display.dpll.mgr->dump_hw_state(p, hw_state); i915->display.dpll.mgr->dump_hw_state(p, dpll_hw_state);
} else { } else {
/* fallback for platforms that don't use the shared dpll /* fallback for platforms that don't use the shared dpll
* infrastructure * infrastructure
*/ */
ibx_dump_hw_state(p, hw_state); ibx_dump_hw_state(p, dpll_hw_state);
} }
} }
......
...@@ -365,10 +365,10 @@ void intel_update_active_dpll(struct intel_atomic_state *state, ...@@ -365,10 +365,10 @@ void intel_update_active_dpll(struct intel_atomic_state *state,
struct intel_encoder *encoder); struct intel_encoder *encoder);
int intel_dpll_get_freq(struct drm_i915_private *i915, int intel_dpll_get_freq(struct drm_i915_private *i915,
const struct intel_shared_dpll *pll, const struct intel_shared_dpll *pll,
const struct intel_dpll_hw_state *pll_state); const struct intel_dpll_hw_state *dpll_hw_state);
bool intel_dpll_get_hw_state(struct drm_i915_private *i915, bool intel_dpll_get_hw_state(struct drm_i915_private *i915,
struct intel_shared_dpll *pll, struct intel_shared_dpll *pll,
struct intel_dpll_hw_state *hw_state); struct intel_dpll_hw_state *dpll_hw_state);
void intel_enable_shared_dpll(const struct intel_crtc_state *crtc_state); void intel_enable_shared_dpll(const struct intel_crtc_state *crtc_state);
void intel_disable_shared_dpll(const struct intel_crtc_state *crtc_state); void intel_disable_shared_dpll(const struct intel_crtc_state *crtc_state);
void intel_shared_dpll_swap_state(struct intel_atomic_state *state); void intel_shared_dpll_swap_state(struct intel_atomic_state *state);
...@@ -379,7 +379,7 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915); ...@@ -379,7 +379,7 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915);
void intel_dpll_dump_hw_state(struct drm_i915_private *i915, void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
struct drm_printer *p, struct drm_printer *p,
const struct intel_dpll_hw_state *hw_state); const struct intel_dpll_hw_state *dpll_hw_state);
bool intel_dpll_compare_hw_state(struct drm_i915_private *i915, bool intel_dpll_compare_hw_state(struct drm_i915_private *i915,
const struct intel_dpll_hw_state *a, const struct intel_dpll_hw_state *a,
const struct intel_dpll_hw_state *b); const struct intel_dpll_hw_state *b);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment