mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 15:19:26 -04:00
ice: fall back to TCXO on TSPLL lock fail
TSPLL can fail when trying to lock to TIME_REF as a clock source, e.g. when the external clock source is not stable or connected to the board. To continue operation after failure, try to lock again to internal TCXO and inform user about this. Reviewed-by: Milena Olech <milena.olech@intel.com> Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> Tested-by: Rinitha S <sx.rinitha@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
committed by
Tony Nguyen
parent
df3f3c5645
commit
84b8694433
@@ -605,5 +605,17 @@ int ice_tspll_init(struct ice_hw *hw)
|
||||
/* Configure the TSPLL using the parameters from the function
|
||||
* capabilities.
|
||||
*/
|
||||
return ice_tspll_cfg(hw, tspll_freq, clk_src);
|
||||
err = ice_tspll_cfg(hw, tspll_freq, clk_src);
|
||||
if (err) {
|
||||
dev_warn(ice_hw_to_dev(hw), "Failed to lock TSPLL to predefined frequency. Retrying with fallback frequency.\n");
|
||||
|
||||
/* Try to lock to internal TCXO as a fallback. */
|
||||
tspll_freq = ice_tspll_default_freq(hw->mac_type);
|
||||
clk_src = ICE_CLK_SRC_TCXO;
|
||||
err = ice_tspll_cfg(hw, tspll_freq, clk_src);
|
||||
if (err)
|
||||
dev_warn(ice_hw_to_dev(hw), "Failed to lock TSPLL to fallback frequency.\n");
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user