diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_ptp.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_ptp.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_ptp.c b/drivers/net/ethernet/intel/igc/igc_ptp.c index 8dbb9f903ca7..c34734d432e0 100644 --- a/drivers/net/ethernet/intel/igc/igc_ptp.c +++ b/drivers/net/ethernet/intel/igc/igc_ptp.c @@ -322,7 +322,7 @@ static int igc_ptp_feature_enable_i225(struct ptp_clock_info *ptp,  		ts = ns_to_timespec64(ns);  		if (rq->perout.index == 1) {  			if (use_freq) { -				tsauxc_mask = IGC_TSAUXC_EN_CLK1; +				tsauxc_mask = IGC_TSAUXC_EN_CLK1 | IGC_TSAUXC_ST1;  				tsim_mask = 0;  			} else {  				tsauxc_mask = IGC_TSAUXC_EN_TT1; @@ -333,7 +333,7 @@ static int igc_ptp_feature_enable_i225(struct ptp_clock_info *ptp,  			freqout = IGC_FREQOUT1;  		} else {  			if (use_freq) { -				tsauxc_mask = IGC_TSAUXC_EN_CLK0; +				tsauxc_mask = IGC_TSAUXC_EN_CLK0 | IGC_TSAUXC_ST0;  				tsim_mask = 0;  			} else {  				tsauxc_mask = IGC_TSAUXC_EN_TT0; @@ -347,10 +347,12 @@ static int igc_ptp_feature_enable_i225(struct ptp_clock_info *ptp,  		tsauxc = rd32(IGC_TSAUXC);  		tsim = rd32(IGC_TSIM);  		if (rq->perout.index == 1) { -			tsauxc &= ~(IGC_TSAUXC_EN_TT1 | IGC_TSAUXC_EN_CLK1); +			tsauxc &= ~(IGC_TSAUXC_EN_TT1 | IGC_TSAUXC_EN_CLK1 | +				    IGC_TSAUXC_ST1);  			tsim &= ~IGC_TSICR_TT1;  		} else { -			tsauxc &= ~(IGC_TSAUXC_EN_TT0 | IGC_TSAUXC_EN_CLK0); +			tsauxc &= ~(IGC_TSAUXC_EN_TT0 | IGC_TSAUXC_EN_CLK0 | +				    IGC_TSAUXC_ST0);  			tsim &= ~IGC_TSICR_TT0;  		}  		if (on) {  | 
