mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
ice: fix pin assignment for E810-T without SMA control
Since commit43c4958a3d
("ice: Merge pin initialization of E810 and E810T adapters"), the ice_ptp_setup_pins_e810() function has been used for both E810 and E810-T devices. The new implementation only distinguishes between whether the device has SMA control or not. It was assumed this is always true for E810-T devices. In addition, it does not set the n_per_out value appropriately when SMA control is enabled. In some cases, the E810-T device may not have access to SMA control. In that case, the E810-T device actually has access to fewer pins than a standard E810 device. Fix the implementation to correctly assign the appropriate pin counts for E810-T devices both with and without SMA control. The mentioned commit already includes the appropriate macro values for these pin counts but they were unused. Instead of assigning the default E810 values and then overwriting them, handle the cases separately in order of E810-T with SMA, E810-T without SMA, and then standard E810. This flow makes following the logic easier. Fixes:43c4958a3d
("ice: Merge pin initialization of E810 and E810T adapters") Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
12a5a28b56
commit
5a7cee1cb4
@ -2267,16 +2267,20 @@ ice_ptp_setup_sma_pins_e810t(struct ice_pf *pf, 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;
|
||||
info->n_ext_ts = N_EXT_TS_E810;
|
||||
|
||||
if (ice_is_feature_supported(pf, ICE_F_SMA_CTRL)) {
|
||||
info->n_ext_ts = N_EXT_TS_E810;
|
||||
info->n_per_out = N_PER_OUT_E810T;
|
||||
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);
|
||||
} else if (ice_is_e810t(&pf->hw)) {
|
||||
info->n_ext_ts = N_EXT_TS_NO_SMA_E810T;
|
||||
info->n_per_out = N_PER_OUT_NO_SMA_E810T;
|
||||
} else {
|
||||
info->n_per_out = N_PER_OUT_E810;
|
||||
info->n_ext_ts = N_EXT_TS_E810;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user