> -----Original Message----- > From: Stillwell Jr, Paul M > Sent: Wednesday, June 12, 2019 12:27 AM > To: Rong, Leyi <leyi.r...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com> > Cc: dev@dpdk.org; Nguyen, Anthony L <anthony.l.ngu...@intel.com> > Subject: RE: [PATCH v2 21/66] net/ice/base: add helper functions for PHY > caching > > > -----Original Message----- > > From: Rong, Leyi > > Sent: Tuesday, June 11, 2019 8:52 AM > > To: Zhang, Qi Z <qi.z.zh...@intel.com> > > Cc: dev@dpdk.org; Rong, Leyi <leyi.r...@intel.com>; Nguyen, Anthony L > > <anthony.l.ngu...@intel.com>; Stillwell Jr, Paul M > > <paul.m.stillwell...@intel.com> > > Subject: [PATCH v2 21/66] net/ice/base: add helper functions for PHY > > caching > > > > Add additional functions to aide in caching PHY configuration. > > In order to cache the initial modes, we need to determine the > > operating mode based on capabilities. Add helper functions for flow > > control and FEC to take a set of capabilities and return the operating > > mode matching those capabilities. Also add a helper function to > > determine whether a PHY capability matches a PHY configuration. > > > > Signed-off-by: Tony Nguyen <anthony.l.ngu...@intel.com> > > Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell...@intel.com> > > Signed-off-by: Leyi Rong <leyi.r...@intel.com> > > --- > > drivers/net/ice/base/ice_adminq_cmd.h | 1 + > > drivers/net/ice/base/ice_common.c | 83 > > +++++++++++++++++++++++++++ > > drivers/net/ice/base/ice_common.h | 9 ++- > > 3 files changed, 91 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/net/ice/base/ice_adminq_cmd.h > > b/drivers/net/ice/base/ice_adminq_cmd.h > > index 739f79e88..77f93b950 100644 > > --- a/drivers/net/ice/base/ice_adminq_cmd.h > > +++ b/drivers/net/ice/base/ice_adminq_cmd.h > > @@ -1594,6 +1594,7 @@ struct ice_aqc_get_link_status_data { > > #define ICE_AQ_LINK_PWR_QSFP_CLASS_3 2 > > #define ICE_AQ_LINK_PWR_QSFP_CLASS_4 3 > > __le16 link_speed; > > +#define ICE_AQ_LINK_SPEED_M 0x7FF > > #define ICE_AQ_LINK_SPEED_10MB BIT(0) > > #define ICE_AQ_LINK_SPEED_100MB BIT(1) > > #define ICE_AQ_LINK_SPEED_1000MB BIT(2) > > diff --git a/drivers/net/ice/base/ice_common.c > > b/drivers/net/ice/base/ice_common.c > > index 5b4a13a41..7f7f4dad0 100644 > > --- a/drivers/net/ice/base/ice_common.c > > +++ b/drivers/net/ice/base/ice_common.c > > @@ -2552,6 +2552,53 @@ ice_cache_phy_user_req(struct ice_port_info *pi, > > } > > } > > > > +/** > > + * ice_caps_to_fc_mode > > + * @caps: PHY capabilities > > + * > > + * Convert PHY FC capabilities to ice FC mode */ enum ice_fc_mode > > +ice_caps_to_fc_mode(u8 caps) { > > + if (caps & ICE_AQC_PHY_EN_TX_LINK_PAUSE && > > + caps & ICE_AQC_PHY_EN_RX_LINK_PAUSE) > > + return ICE_FC_FULL; > > + > > + if (caps & ICE_AQC_PHY_EN_TX_LINK_PAUSE) > > + return ICE_FC_TX_PAUSE; > > + > > + if (caps & ICE_AQC_PHY_EN_RX_LINK_PAUSE) > > + return ICE_FC_RX_PAUSE; > > + > > + return ICE_FC_NONE; > > +} > > + > > +/** > > + * ice_caps_to_fec_mode > > + * @caps: PHY capabilities > > + * @fec_options: Link FEC options > > + * > > + * Convert PHY FEC capabilities to ice FEC mode */ enum ice_fec_mode > > +ice_caps_to_fec_mode(u8 caps, u8 fec_options) { > > + if (caps & ICE_AQC_PHY_EN_AUTO_FEC) > > + return ICE_FEC_AUTO; > > + > > + if (fec_options & (ICE_AQC_PHY_FEC_10G_KR_40G_KR4_EN | > > + ICE_AQC_PHY_FEC_10G_KR_40G_KR4_REQ | > > + ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN | > > + ICE_AQC_PHY_FEC_25G_KR_REQ)) > > + return ICE_FEC_BASER; > > + > > + if (fec_options & (ICE_AQC_PHY_FEC_25G_RS_528_REQ | > > + ICE_AQC_PHY_FEC_25G_RS_544_REQ | > > + ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN)) > > + return ICE_FEC_RS; > > + > > + return ICE_FEC_NONE; > > +} > > + > > Is there DPDK code to call the above functions? If not, then drop this patch. >
They will not be called.