[PATCH 18/18] drm/i915: Suck snps/cx0 PLL states into dpll_hw_state

Jani Nikula jani.nikula at linux.intel.com
Mon Apr 15 14:26:11 UTC 2024


On Fri, 12 Apr 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> index d0ec6196d398..f09e513ce05b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> @@ -229,6 +229,43 @@ struct icl_dpll_hw_state {
>  	u32 mg_pll_tdc_coldst_bias_mask;
>  };
>  
> +struct intel_mpllb_state {
> +	u32 clock; /* in KHz */
> +	u32 ref_control;
> +	u32 mpllb_cp;
> +	u32 mpllb_div;
> +	u32 mpllb_div2;
> +	u32 mpllb_fracn1;
> +	u32 mpllb_fracn2;
> +	u32 mpllb_sscen;
> +	u32 mpllb_sscstep;
> +};
> +
> +struct intel_c10pll_state {
> +	u32 clock; /* in KHz */
> +	u8 tx;
> +	u8 cmn;
> +	u8 pll[20];
> +};
> +
> +struct intel_c20pll_state {
> +	u32 clock; /* in kHz */
> +	u16 tx[3];
> +	u16 cmn[4];
> +	union {
> +		u16 mplla[10];
> +		u16 mpllb[11];
> +	};
> +};
> +
> +struct intel_cx0pll_state {
> +	union {
> +		struct intel_c10pll_state c10;
> +		struct intel_c20pll_state c20;
> +	};
> +	bool ssc_enabled;
> +};

IMO struct intel_cx0pll_state should be dropped in follow-up, with
ssc_enabled moved to both intel_c10pll_state and intel_c20pll_state...

> +
>  struct intel_dpll_hw_state {
>  	union {
>  		struct i9xx_dpll_hw_state i9xx;
> @@ -236,6 +273,8 @@ struct intel_dpll_hw_state {
>  		struct skl_dpll_hw_state skl;
>  		struct bxt_dpll_hw_state bxt;
>  		struct icl_dpll_hw_state icl;
> +		struct intel_mpllb_state mpllb;
> +		struct intel_cx0pll_state cx0pll;

...and both added here i.e. the union at a step higher.

BR,
Jani.

>  	};
>  };
>  

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list