Stop dividing the phase_offset value received from firmware, this is
fault introduced with the initial implementation.
The phase_offset value received from firmware is in 0.01ps resolution.
Dpll subsystem is using the value in 0.001ps, raw value is adjusted
before providing it to the user.
Fixes: 8a3a565ff210 ("ice: add admin commands to access cgu configuration")
Fixes: 90e1c90750d7 ("ice: dpll: implement phase related callbacks")
Reviewed-by: Aleksandr Loktionov <aleksandr.loktio...@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalew...@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_common.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/ice/ice_common.c 
b/drivers/net/ethernet/intel/ice/ice_common.c
index 9a6c25f98632..edac34c796ce 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -5332,7 +5332,6 @@ ice_aq_get_cgu_dpll_status(struct ice_hw *hw, u8 
dpll_num, u8 *ref_state,
                           u8 *eec_mode)
 {
        struct ice_aqc_get_cgu_dpll_status *cmd;
-       const s64 nsec_per_psec = 1000LL;
        struct ice_aq_desc desc;
        int status;
 
@@ -5348,8 +5347,7 @@ ice_aq_get_cgu_dpll_status(struct ice_hw *hw, u8 
dpll_num, u8 *ref_state,
                *phase_offset = le32_to_cpu(cmd->phase_offset_h);
                *phase_offset <<= 32;
                *phase_offset += le32_to_cpu(cmd->phase_offset_l);
-               *phase_offset = div64_s64(sign_extend64(*phase_offset, 47),
-                                         nsec_per_psec);
+               *phase_offset = sign_extend64(*phase_offset, 47);
                *eec_mode = cmd->eec_mode;
        }
 
-- 
2.38.1

_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to