Patch "ice: fix pin assignment for E810-T without SMA control" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ice: fix pin assignment for E810-T without SMA control

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ice-fix-pin-assignment-for-e810-t-without-sma-contro.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 693edbca67af81f52e240b5c8a056d2f76b27a48
Author: Jacob Keller <jacob.e.keller@xxxxxxxxx>
Date:   Wed Aug 16 17:00:55 2023 -0700

    ice: fix pin assignment for E810-T without SMA control
    
    [ Upstream commit 5a7cee1cb4b9ef99fe7acd571e1bd51b023b099a ]
    
    Since commit 43c4958a3ddb ("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: 43c4958a3ddb ("ice: Merge pin initialization of E810 and E810T adapters")
    Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>
    Tested-by: Sunitha Mekala <sunithax.d.mekala@xxxxxxxxx> (A Contingent worker at Intel)
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
index 81d96a40d5a74..c4270708a7694 100644
--- a/drivers/net/ethernet/intel/ice/ice_ptp.c
+++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
@@ -2246,18 +2246,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;
-
-	if (ice_is_feature_supported(pf, ICE_F_PTP_EXTTS))
-		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;
 	}
 }
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux