Skip to content

Commit a5c69d4

Browse files
jacob-kelleranguy11
authored andcommitted
ice: check low latency PHY timer update firmware capability
Newer versions of firmware support programming the PHY timer via the low latency interface exposed over REG_LL_PROXY_L and REG_LL_PROXY_H. Add support for checking the device capabilities for this feature. Co-developed-by: Karol Kolacinski <karol.kolacinski@intel.com> Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Milena Olech <milena.olech@intel.com> Signed-off-by: Anton Nadezhdin <anton.nadezhdin@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
1 parent 5032722 commit a5c69d4

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

drivers/net/ethernet/intel/ice/ice_common.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2641,6 +2641,7 @@ ice_parse_1588_dev_caps(struct ice_hw *hw, struct ice_hw_dev_caps *dev_p,
26412641

26422642
info->ts_ll_read = ((number & ICE_TS_LL_TX_TS_READ_M) != 0);
26432643
info->ts_ll_int_read = ((number & ICE_TS_LL_TX_TS_INT_READ_M) != 0);
2644+
info->ll_phy_tmr_update = ((number & ICE_TS_LL_PHY_TMR_UPDATE_M) != 0);
26442645

26452646
info->ena_ports = logical_id;
26462647
info->tmr_own_map = phys_id;
@@ -2663,6 +2664,8 @@ ice_parse_1588_dev_caps(struct ice_hw *hw, struct ice_hw_dev_caps *dev_p,
26632664
info->ts_ll_read);
26642665
ice_debug(hw, ICE_DBG_INIT, "dev caps: ts_ll_int_read = %u\n",
26652666
info->ts_ll_int_read);
2667+
ice_debug(hw, ICE_DBG_INIT, "dev caps: ll_phy_tmr_update = %u\n",
2668+
info->ll_phy_tmr_update);
26662669
ice_debug(hw, ICE_DBG_INIT, "dev caps: ieee_1588 ena_ports = %u\n",
26672670
info->ena_ports);
26682671
ice_debug(hw, ICE_DBG_INIT, "dev caps: tmr_own_map = %u\n",

drivers/net/ethernet/intel/ice/ice_type.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,7 @@ struct ice_ts_func_info {
369369
#define ICE_TS_TMR1_ENA_M BIT(26)
370370
#define ICE_TS_LL_TX_TS_READ_M BIT(28)
371371
#define ICE_TS_LL_TX_TS_INT_READ_M BIT(29)
372+
#define ICE_TS_LL_PHY_TMR_UPDATE_M BIT(30)
372373

373374
struct ice_ts_dev_info {
374375
/* Device specific info */
@@ -383,6 +384,7 @@ struct ice_ts_dev_info {
383384
u8 tmr1_ena;
384385
u8 ts_ll_read;
385386
u8 ts_ll_int_read;
387+
u8 ll_phy_tmr_update;
386388
};
387389

388390
#define ICE_NAC_TOPO_PRIMARY_M BIT(0)

0 commit comments

Comments
 (0)