Commit 896a55aa authored by Anirudh Venkataramanan's avatar Anirudh Venkataramanan Committed by Tony Nguyen
Browse files

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: default avatarMaciej Machnikowski <maciej.machnikowski@intel.com>
Signed-off-by: default avatarMaciej Machnikowski <maciej.machnikowski@intel.com>
Signed-off-by: default avatarAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Signed-off-by: default avatarAnatolii Gerasymenko <anatolii.gerasymenko@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 459f326e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -181,6 +181,7 @@

enum ice_feature {
	ICE_F_DSCP,
	ICE_F_PTP_EXTTS,
	ICE_F_SMA_CTRL,
	ICE_F_GNSS,
	ICE_F_MAX
+1 −0
Original line number Diff line number Diff line
@@ -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))
+13 −5
Original line number Diff line number Diff line
@@ -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;

	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);
}

/**