> -----Original Message-----
> From: Nitka, Grzegorz <[email protected]>
> Sent: Tuesday, August 12, 2025 10:20 PM
> To: [email protected]
> Cc: [email protected]; Nguyen, Anthony L
> <[email protected]>; Kubalewski, Arkadiusz
> <[email protected]>; [email protected]; Korba,
> Przemyslaw <[email protected]>; Olech, Milena
> <[email protected]>; Nitka, Grzegorz <[email protected]>
> Subject: [PATCH v9 iwl-next] ice: add recovery clock and clock 1588 control
> for E825c
> 
> From: Przemyslaw Korba <[email protected]>
> 
> Add control for E825 input pins: phy clock recovery and clock 1588.
> E825 does not provide control over platform level DPLL but it
> provides control over PHY clock recovery, and PTP/timestamp driven
> inputs for platform level DPLL [1].
> 
> Introduce a software controlled layer of abstraction to:
> - create a DPLL of type EEC for E825c,
> - create recovered clock pin for each PF, and control them through
> writing to registers,
> - create pin to control clock 1588 for PF0, and control it through
> writing to registers.
> 
...
> @@ -3239,14 +3638,15 @@ static int ice_dpll_init_pins(struct ice_pf *pf, bool
> cgu)
>   * @d: pointer to ice_dpll
>   * @cgu: if cgu is present and controlled by this NIC
>   *
> - * If cgu is owned unregister the dpll from dpll subsystem.
> - * Release resources of dpll device from dpll subsystem.
> + * If cgu is owned or device is e825c, unregister the DPL from DPLL
> subsystem.
> + * Release resources of DPLL device from DPLL subsystem.
>   */
>  static void
>  ice_dpll_deinit_dpll(struct ice_pf *pf, struct ice_dpll *d, bool cgu)
>  {
> -     if (cgu)
> -             dpll_device_unregister(d->dpll, d->ops, d);
> +     if (cgu || (pf->hw.mac_type == ICE_MAC_GENERIC_3K_E825 &&
> +                 ice_pf_src_tmr_owned(pf)))
> +             dpll_device_unregister(d->dpll, &ice_dpll_ops, d);

d->ops should be passed as parameter to dpll_device_unregister() call.
This was mistakenly changed to ice_dpll_ops  while resolving conflicts
with "ice: add phase offset monitor for all PPS dpll inputs" commit.
To be fixed in v10.

>       dpll_device_put(d->dpll);
>  }
> 

Reply via email to