mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
ice: Add EXTTS feature to the feature bitmap
External time stamp sources are supported only on certain devices. Enforce the right support matrix by adding the ICE_F_PTP_EXTTS bit to the feature bitmap set. Co-developed-by: Maciej Machnikowski <maciej.machnikowski@intel.com> Signed-off-by: Maciej Machnikowski <maciej.machnikowski@intel.com> Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> Signed-off-by: Anatolii Gerasymenko <anatolii.gerasymenko@intel.com> Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
459f326e99
commit
896a55aa52
|
|
@ -181,6 +181,7 @@
|
|||
|
||||
enum ice_feature {
|
||||
ICE_F_DSCP,
|
||||
ICE_F_PTP_EXTTS,
|
||||
ICE_F_SMA_CTRL,
|
||||
ICE_F_GNSS,
|
||||
ICE_F_MAX
|
||||
|
|
|
|||
|
|
@ -4182,6 +4182,7 @@ void ice_init_feature_support(struct ice_pf *pf)
|
|||
case ICE_DEV_ID_E810C_QSFP:
|
||||
case ICE_DEV_ID_E810C_SFP:
|
||||
ice_set_feature_support(pf, ICE_F_DSCP);
|
||||
ice_set_feature_support(pf, ICE_F_PTP_EXTTS);
|
||||
if (ice_is_e810t(&pf->hw)) {
|
||||
ice_set_feature_support(pf, ICE_F_SMA_CTRL);
|
||||
if (ice_gnss_is_gps_present(&pf->hw))
|
||||
|
|
|
|||
|
|
@ -1900,9 +1900,12 @@ ice_ptp_setup_pins_e810t(struct ice_pf *pf, struct ptp_clock_info *info)
|
|||
}
|
||||
|
||||
info->n_per_out = N_PER_OUT_E810T;
|
||||
info->n_ext_ts = N_EXT_TS_E810;
|
||||
info->n_pins = NUM_PTP_PINS_E810T;
|
||||
info->verify = ice_verify_pin_e810t;
|
||||
|
||||
if (ice_is_feature_supported(pf, ICE_F_PTP_EXTTS)) {
|
||||
info->n_ext_ts = N_EXT_TS_E810;
|
||||
info->n_pins = NUM_PTP_PINS_E810T;
|
||||
info->verify = ice_verify_pin_e810t;
|
||||
}
|
||||
|
||||
/* Complete setup of the SMA pins */
|
||||
ice_ptp_setup_sma_pins_e810t(pf, info);
|
||||
|
|
@ -1910,11 +1913,16 @@ ice_ptp_setup_pins_e810t(struct ice_pf *pf, struct ptp_clock_info *info)
|
|||
|
||||
/**
|
||||
* ice_ptp_setup_pins_e810 - Setup PTP pins in sysfs
|
||||
* @pf: pointer to the PF instance
|
||||
* @info: PTP clock capabilities
|
||||
*/
|
||||
static void ice_ptp_setup_pins_e810(struct ptp_clock_info *info)
|
||||
static void ice_ptp_setup_pins_e810(struct ice_pf *pf, struct ptp_clock_info *info)
|
||||
{
|
||||
info->n_per_out = N_PER_OUT_E810;
|
||||
|
||||
if (!ice_is_feature_supported(pf, ICE_F_PTP_EXTTS))
|
||||
return;
|
||||
|
||||
info->n_ext_ts = N_EXT_TS_E810;
|
||||
}
|
||||
|
||||
|
|
@ -1956,7 +1964,7 @@ ice_ptp_set_funcs_e810(struct ice_pf *pf, struct ptp_clock_info *info)
|
|||
if (ice_is_e810t(&pf->hw))
|
||||
ice_ptp_setup_pins_e810t(pf, info);
|
||||
else
|
||||
ice_ptp_setup_pins_e810(info);
|
||||
ice_ptp_setup_pins_e810(pf, info);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user