| Message ID | 20250221093949.2436728-1-grzegorz.nitka@intel.com |
|---|---|
| State | Accepted |
| Delegated to: | Anthony Nguyen |
| Headers | show |
| Series | [iwl-net,v1] ice: fix lane number calculation | expand |
On Fri, Feb 21, 2025 at 10:39:49AM +0100, Grzegorz Nitka wrote: > E82X adapters do not have sequential IDs, lane number is PF ID. > > Add check for ICE_MAC_GENERIC and skip checking port options. This I see. > > Also, adjust logical port number for specific E825 device with external > PHY support (PCI device id 0x579F). For this particular device, > with 2x25G (PHY0) and 2x10G (PHY1) port configuration, modification of > pf_id -> lane_number mapping is required. PF IDs on the 2nd PHY start > from 4 in such scenario. Otherwise, the lane number cannot be > determined correctly, leading to PTP init errors during PF initialization. > > Fixes: 258f5f9058159 ("ice: Add correct PHY lane assignment") > Co-developed-by: Karol Kolacinski <karol.kolacinski@intel.com> > Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> > Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Milena Olech <milena.olech@intel.com> Reviewed-by: Simon Horman <horms@kernel.org>
On Tue, Feb 25, 2025 at 09:50:21AM +0000, Simon Horman wrote: > On Fri, Feb 21, 2025 at 10:39:49AM +0100, Grzegorz Nitka wrote: > > E82X adapters do not have sequential IDs, lane number is PF ID. > > > > Add check for ICE_MAC_GENERIC and skip checking port options. > > This I see. Sorry, this was part of an earlier draft. Please ignore. > > > > > Also, adjust logical port number for specific E825 device with external > > PHY support (PCI device id 0x579F). For this particular device, > > with 2x25G (PHY0) and 2x10G (PHY1) port configuration, modification of > > pf_id -> lane_number mapping is required. PF IDs on the 2nd PHY start > > from 4 in such scenario. Otherwise, the lane number cannot be > > determined correctly, leading to PTP init errors during PF initialization. > > > > Fixes: 258f5f9058159 ("ice: Add correct PHY lane assignment") > > Co-developed-by: Karol Kolacinski <karol.kolacinski@intel.com> > > Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> > > Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com> > > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > > Reviewed-by: Milena Olech <milena.olech@intel.com> > > Reviewed-by: Simon Horman <horms@kernel.org> I only meant to send this part :)
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Grzegorz Nitka > Sent: 21 February 2025 15:10 > To: intel-wired-lan@lists.osuosl.org > Cc: netdev@vger.kernel.org; Kolacinski, Karol <karol.kolacinski@intel.com>; Olech, Milena <milena.olech@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com> > Subject: [Intel-wired-lan] [PATCH iwl-net v1] ice: fix lane number calculation > > E82X adapters do not have sequential IDs, lane number is PF ID. > > Add check for ICE_MAC_GENERIC and skip checking port options. > > Also, adjust logical port number for specific E825 device with external PHY support (PCI device id 0x579F). For this particular device, with 2x25G (PHY0) and 2x10G (PHY1) port configuration, modification of pf_id -> lane_number mapping is required. PF IDs on the 2nd PHY start from 4 in such scenario. Otherwise, the lane number cannot be determined correctly, leading to PTP init errors during PF initialization. > > Fixes: 258f5f9058159 ("ice: Add correct PHY lane assignment") > Co-developed-by: Karol Kolacinski <karol.kolacinski@intel.com> > Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> > Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Milena Olech <milena.olech@intel.com> > --- > drivers/net/ethernet/intel/ice/ice_common.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c index 7a2a2e8da8fa..83b72414760a 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.c +++ b/drivers/net/ethernet/intel/ice/ice_common.c @@ -4171,6 +4171,15 @@ int ice_get_phy_lane_number(struct ice_hw *hw) unsigned int lane; int err; + /* E82X does not have sequential IDs, lane number is PF ID. + * For E825 device, the exception is the variant with external + * PHY (0x579F), in which there is also 1:1 pf_id -> lane_number + * mapping. + */ + if (hw->mac_type == ICE_MAC_GENERIC || + hw->device_id == ICE_DEV_ID_E825C_SGMII) + return hw->pf_id; + options = kcalloc(ICE_AQC_PORT_OPT_MAX, sizeof(*options), GFP_KERNEL); if (!options) return -ENOMEM;
E82X adapters do not have sequential IDs, lane number is PF ID. Add check for ICE_MAC_GENERIC and skip checking port options. Also, adjust logical port number for specific E825 device with external PHY support (PCI device id 0x579F). For this particular device, with 2x25G (PHY0) and 2x10G (PHY1) port configuration, modification of pf_id -> lane_number mapping is required. PF IDs on the 2nd PHY start from 4 in such scenario. Otherwise, the lane number cannot be determined correctly, leading to PTP init errors during PF initialization. Fixes: 258f5f9058159 ("ice: Add correct PHY lane assignment") Co-developed-by: Karol Kolacinski <karol.kolacinski@intel.com> Signed-off-by: Karol Kolacinski <karol.kolacinski@intel.com> Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Milena Olech <milena.olech@intel.com> --- drivers/net/ethernet/intel/ice/ice_common.c | 9 +++++++++ 1 file changed, 9 insertions(+) base-commit: c4813820042d447c687cf4f1d5e240740638e586