mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 15:49:42 -04:00
ice: fix PHY timestamp extraction for ETH56G
Fix incorrect PHY timestamp extraction for ETH56G.
It's better to use FIELD_PREP() than manual shift.
Fixes: 7cab44f1c3 ("ice: Introduce ETH56G PHY model for E825C products")
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Przemyslaw Korba <przemyslaw.korba@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
committed by
Tony Nguyen
parent
01fd68e547
commit
3214fae85e
@@ -1518,7 +1518,8 @@ static int ice_read_ptp_tstamp_eth56g(struct ice_hw *hw, u8 port, u8 idx,
|
||||
* lower 8 bits in the low register, and the upper 32 bits in the high
|
||||
* register.
|
||||
*/
|
||||
*tstamp = ((u64)hi) << TS_PHY_HIGH_S | ((u64)lo & TS_PHY_LOW_M);
|
||||
*tstamp = FIELD_PREP(TS_PHY_HIGH_M, hi) |
|
||||
FIELD_PREP(TS_PHY_LOW_M, lo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -682,9 +682,8 @@ static inline bool ice_is_dual(struct ice_hw *hw)
|
||||
#define TS_HIGH_M 0xFF
|
||||
#define TS_HIGH_S 32
|
||||
|
||||
#define TS_PHY_LOW_M 0xFF
|
||||
#define TS_PHY_HIGH_M 0xFFFFFFFF
|
||||
#define TS_PHY_HIGH_S 8
|
||||
#define TS_PHY_LOW_M GENMASK(7, 0)
|
||||
#define TS_PHY_HIGH_M GENMASK_ULL(39, 8)
|
||||
|
||||
#define BYTES_PER_IDX_ADDR_L_U 8
|
||||
#define BYTES_PER_IDX_ADDR_L 4
|
||||
|
||||
Reference in New Issue
Block a user