All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Keller, Jacob E" <jacob.e.keller@intel.com>
To: "richardcochran@gmail.com" <richardcochran@gmail.com>
Cc: "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"baolin.wang@linaro.org" <baolin.wang@linaro.org>,
	"b45643@freescale.com" <b45643@freescale.com>,
	"sshah@solarflare.com" <sshah@solarflare.com>,
	"amirv@mellanox.com" <amirv@mellanox.com>,
	"ben@decadent.org.uk" <ben@decadent.org.uk>,
	"sonic.zhang@analog.com" <sonic.zhang@analog.com>,
	"peppe.cavallaro@st.com" <peppe.cavallaro@st.com>,
	"Allan, Bruce W" <bruce.w.allan@intel.com>,
	"rayagond@vayavyalabs.com" <rayagond@vayavyalabs.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"ariel.elior@qlogic.com" <ariel.elior@qlogic.com>,
	"cmetcalf@ezchip.com" <cmetcalf@ezchip.com>,
	"Vick, Matthew" <matthew.vick@intel.com>,
	"linux-net-drivers@solarflare.com"
	<linux-net-drivers@solarflare.com>,
	"arnd@linaro.org" <arnd@linaro.org>,
	"Frank.Li@freescale.com" <Frank.Li@freescale.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"mchan@broadcom.com" <mchan@broadcom.com>,
	"Wyborny, Carolyn" <carolyn.wyborny@intel.com>,
	"prashant@broadcom.com" <prashant@broadcom.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
	"stefan.sorensen@spectralink.com"
	<stefan.sorensen@spectralink.com>,
	"john.stultz@linaro.org" <john.stultz@linaro.org>
Subject: Re: [PATCH net-next V3 13/23] ptp: igb: convert to the 64 bit get/set time methods.
Date: Tue, 31 Mar 2015 21:08:10 +0000	[thread overview]
Message-ID: <1427836090.16312.27.camel@intel.com> (raw)
In-Reply-To: <67fa71b28f96b222c8027b49efee4144b3754bf7.1427662907.git.richardcochran@gmail.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 7010 bytes --]

On Sun, 2015-03-29 at 23:12 +0200, Richard Cochran wrote:
> For the 82576, the driver's clock is implemented using a timecounter,
> and so with this patch that device is ready for the year 2038.
> 
> However, in the case of the i210, the device stores the number of
> seconds in a 32 bit register.  Therefore, more work is needed on this
> driver before the year 2038 comes around.
> 
> Compile tested only.

I assume we would want to use a time counter wrapper here to resolve
this issue?

Regards,
Jake

> 
> Signed-off-by: Richard Cochran <richardcochran@gmail.com>
> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> ---
>  drivers/net/ethernet/intel/igb/igb_ptp.c |   41 +++++++++++++++---------------
>  1 file changed, 21 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c
> index 52d01b8..0348b7e 100644
> --- a/drivers/net/ethernet/intel/igb/igb_ptp.c
> +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
> @@ -116,7 +116,8 @@ static cycle_t igb_ptp_read_82580(const struct cyclecounter *cc)
>  }
>  
>  /* SYSTIM read access for I210/I211 */
> -static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
> +static void igb_ptp_read_i210(struct igb_adapter *adapter,
> +			      struct timespec64 *ts)
>  {
>  	struct e1000_hw *hw = &adapter->hw;
>  	u32 sec, nsec;
> @@ -134,7 +135,7 @@ static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
>  }
>  
>  static void igb_ptp_write_i210(struct igb_adapter *adapter,
> -			       const struct timespec *ts)
> +			       const struct timespec64 *ts)
>  {
>  	struct e1000_hw *hw = &adapter->hw;
>  
> @@ -269,13 +270,13 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
>  	unsigned long flags;
> -	struct timespec now, then = ns_to_timespec(delta);
> +	struct timespec64 now, then = ns_to_timespec64(delta);
>  
>  	spin_lock_irqsave(&igb->tmreg_lock, flags);
>  
>  	igb_ptp_read_i210(igb, &now);
> -	now = timespec_add(now, then);
> -	igb_ptp_write_i210(igb, (const struct timespec *)&now);
> +	now = timespec64_add(now, then);
> +	igb_ptp_write_i210(igb, (const struct timespec64 *)&now);
>  
>  	spin_unlock_irqrestore(&igb->tmreg_lock, flags);
>  
> @@ -283,7 +284,7 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
>  }
>  
>  static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
> -				 struct timespec *ts)
> +				 struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -304,7 +305,7 @@ static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
>  }
>  
>  static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
> -				struct timespec *ts)
> +				struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -320,7 +321,7 @@ static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
>  }
>  
>  static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
> -				 const struct timespec *ts)
> +				 const struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -340,7 +341,7 @@ static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
>  }
>  
>  static int igb_ptp_settime_i210(struct ptp_clock_info *ptp,
> -				const struct timespec *ts)
> +				const struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -627,11 +628,11 @@ static void igb_ptp_overflow_check(struct work_struct *work)
>  {
>  	struct igb_adapter *igb =
>  		container_of(work, struct igb_adapter, ptp_overflow_work.work);
> -	struct timespec ts;
> +	struct timespec64 ts;
>  
> -	igb->ptp_caps.gettime(&igb->ptp_caps, &ts);
> +	igb->ptp_caps.gettime64(&igb->ptp_caps, &ts);
>  
> -	pr_debug("igb overflow check at %ld.%09lu\n", ts.tv_sec, ts.tv_nsec);
> +	pr_debug("igb overflow check at %lld.%09lu\n", ts.tv_sec, ts.tv_nsec);
>  
>  	schedule_delayed_work(&igb->ptp_overflow_work,
>  			      IGB_SYSTIM_OVERFLOW_PERIOD);
> @@ -989,8 +990,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  		adapter->ptp_caps.pps = 0;
>  		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82576;
>  		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
> -		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
> -		adapter->ptp_caps.settime = igb_ptp_settime_82576;
> +		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
> +		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
>  		adapter->ptp_caps.enable = igb_ptp_feature_enable;
>  		adapter->cc.read = igb_ptp_read_82576;
>  		adapter->cc.mask = CYCLECOUNTER_MASK(64);
> @@ -1009,8 +1010,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  		adapter->ptp_caps.pps = 0;
>  		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
>  		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
> -		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
> -		adapter->ptp_caps.settime = igb_ptp_settime_82576;
> +		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
> +		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
>  		adapter->ptp_caps.enable = igb_ptp_feature_enable;
>  		adapter->cc.read = igb_ptp_read_82580;
>  		adapter->cc.mask = CYCLECOUNTER_MASK(IGB_NBITS_82580);
> @@ -1038,8 +1039,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  		adapter->ptp_caps.pin_config = adapter->sdp_config;
>  		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
>  		adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;
> -		adapter->ptp_caps.gettime = igb_ptp_gettime_i210;
> -		adapter->ptp_caps.settime = igb_ptp_settime_i210;
> +		adapter->ptp_caps.gettime64 = igb_ptp_gettime_i210;
> +		adapter->ptp_caps.settime64 = igb_ptp_settime_i210;
>  		adapter->ptp_caps.enable = igb_ptp_feature_enable_i210;
>  		adapter->ptp_caps.verify = igb_ptp_verify_pin;
>  		/* Enable the timer functions by clearing bit 31. */
> @@ -1057,7 +1058,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  
>  	/* Initialize the clock and overflow work for devices that need it. */
>  	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
> -		struct timespec ts = ktime_to_timespec(ktime_get_real());
> +		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
>  
>  		igb_ptp_settime_i210(&adapter->ptp_caps, &ts);
>  	} else {
> @@ -1171,7 +1172,7 @@ void igb_ptp_reset(struct igb_adapter *adapter)
>  
>  	/* Re-initialize the timer. */
>  	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
> -		struct timespec ts = ktime_to_timespec(ktime_get_real());
> +		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
>  
>  		igb_ptp_write_i210(adapter, &ts);
>  	} else {

ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

WARNING: multiple messages have this Message-ID (diff)
From: "Keller, Jacob E" <jacob.e.keller@intel.com>
To: "richardcochran@gmail.com" <richardcochran@gmail.com>
Cc: "thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"baolin.wang@linaro.org" <baolin.wang@linaro.org>,
	"b45643@freescale.com" <b45643@freescale.com>,
	"sshah@solarflare.com" <sshah@solarflare.com>,
	"amirv@mellanox.com" <amirv@mellanox.com>,
	"ben@decadent.org.uk" <ben@decadent.org.uk>,
	"sonic.zhang@analog.com" <sonic.zhang@analog.com>,
	"peppe.cavallaro@st.com" <peppe.cavallaro@st.com>,
	"Allan, Bruce W" <bruce.w.allan@intel.com>,
	"rayagond@vayavyalabs.com" <rayagond@vayavyalabs.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"ariel.elior@qlogic.com" <ariel.elior@qlogic.com>,
	"cmetcalf@ezchip.com" <cmetcalf@ezchip.com>,
	"Vick, Matthew" <matthew.vick@intel.com>,
	"linux-net-drivers@solarflare.com"
	<linux-net-drivers@solarflare.com>,
	"arnd@linaro.org" <arnd@linaro.org>,
	"Frank.Li@freescale.com" <Frank.Li@frees
Subject: Re: [PATCH net-next V3 13/23] ptp: igb: convert to the 64 bit get/set time methods.
Date: Tue, 31 Mar 2015 21:08:10 +0000	[thread overview]
Message-ID: <1427836090.16312.27.camel@intel.com> (raw)
In-Reply-To: <67fa71b28f96b222c8027b49efee4144b3754bf7.1427662907.git.richardcochran@gmail.com>

On Sun, 2015-03-29 at 23:12 +0200, Richard Cochran wrote:
> For the 82576, the driver's clock is implemented using a timecounter,
> and so with this patch that device is ready for the year 2038.
> 
> However, in the case of the i210, the device stores the number of
> seconds in a 32 bit register.  Therefore, more work is needed on this
> driver before the year 2038 comes around.
> 
> Compile tested only.

I assume we would want to use a time counter wrapper here to resolve
this issue?

Regards,
Jake

> 
> Signed-off-by: Richard Cochran <richardcochran@gmail.com>
> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> ---
>  drivers/net/ethernet/intel/igb/igb_ptp.c |   41 +++++++++++++++---------------
>  1 file changed, 21 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c
> index 52d01b8..0348b7e 100644
> --- a/drivers/net/ethernet/intel/igb/igb_ptp.c
> +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
> @@ -116,7 +116,8 @@ static cycle_t igb_ptp_read_82580(const struct cyclecounter *cc)
>  }
>  
>  /* SYSTIM read access for I210/I211 */
> -static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
> +static void igb_ptp_read_i210(struct igb_adapter *adapter,
> +			      struct timespec64 *ts)
>  {
>  	struct e1000_hw *hw = &adapter->hw;
>  	u32 sec, nsec;
> @@ -134,7 +135,7 @@ static void igb_ptp_read_i210(struct igb_adapter *adapter, struct timespec *ts)
>  }
>  
>  static void igb_ptp_write_i210(struct igb_adapter *adapter,
> -			       const struct timespec *ts)
> +			       const struct timespec64 *ts)
>  {
>  	struct e1000_hw *hw = &adapter->hw;
>  
> @@ -269,13 +270,13 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
>  	unsigned long flags;
> -	struct timespec now, then = ns_to_timespec(delta);
> +	struct timespec64 now, then = ns_to_timespec64(delta);
>  
>  	spin_lock_irqsave(&igb->tmreg_lock, flags);
>  
>  	igb_ptp_read_i210(igb, &now);
> -	now = timespec_add(now, then);
> -	igb_ptp_write_i210(igb, (const struct timespec *)&now);
> +	now = timespec64_add(now, then);
> +	igb_ptp_write_i210(igb, (const struct timespec64 *)&now);
>  
>  	spin_unlock_irqrestore(&igb->tmreg_lock, flags);
>  
> @@ -283,7 +284,7 @@ static int igb_ptp_adjtime_i210(struct ptp_clock_info *ptp, s64 delta)
>  }
>  
>  static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
> -				 struct timespec *ts)
> +				 struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -304,7 +305,7 @@ static int igb_ptp_gettime_82576(struct ptp_clock_info *ptp,
>  }
>  
>  static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
> -				struct timespec *ts)
> +				struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -320,7 +321,7 @@ static int igb_ptp_gettime_i210(struct ptp_clock_info *ptp,
>  }
>  
>  static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
> -				 const struct timespec *ts)
> +				 const struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -340,7 +341,7 @@ static int igb_ptp_settime_82576(struct ptp_clock_info *ptp,
>  }
>  
>  static int igb_ptp_settime_i210(struct ptp_clock_info *ptp,
> -				const struct timespec *ts)
> +				const struct timespec64 *ts)
>  {
>  	struct igb_adapter *igb = container_of(ptp, struct igb_adapter,
>  					       ptp_caps);
> @@ -627,11 +628,11 @@ static void igb_ptp_overflow_check(struct work_struct *work)
>  {
>  	struct igb_adapter *igb =
>  		container_of(work, struct igb_adapter, ptp_overflow_work.work);
> -	struct timespec ts;
> +	struct timespec64 ts;
>  
> -	igb->ptp_caps.gettime(&igb->ptp_caps, &ts);
> +	igb->ptp_caps.gettime64(&igb->ptp_caps, &ts);
>  
> -	pr_debug("igb overflow check at %ld.%09lu\n", ts.tv_sec, ts.tv_nsec);
> +	pr_debug("igb overflow check at %lld.%09lu\n", ts.tv_sec, ts.tv_nsec);
>  
>  	schedule_delayed_work(&igb->ptp_overflow_work,
>  			      IGB_SYSTIM_OVERFLOW_PERIOD);
> @@ -989,8 +990,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  		adapter->ptp_caps.pps = 0;
>  		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82576;
>  		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
> -		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
> -		adapter->ptp_caps.settime = igb_ptp_settime_82576;
> +		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
> +		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
>  		adapter->ptp_caps.enable = igb_ptp_feature_enable;
>  		adapter->cc.read = igb_ptp_read_82576;
>  		adapter->cc.mask = CYCLECOUNTER_MASK(64);
> @@ -1009,8 +1010,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  		adapter->ptp_caps.pps = 0;
>  		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
>  		adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
> -		adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
> -		adapter->ptp_caps.settime = igb_ptp_settime_82576;
> +		adapter->ptp_caps.gettime64 = igb_ptp_gettime_82576;
> +		adapter->ptp_caps.settime64 = igb_ptp_settime_82576;
>  		adapter->ptp_caps.enable = igb_ptp_feature_enable;
>  		adapter->cc.read = igb_ptp_read_82580;
>  		adapter->cc.mask = CYCLECOUNTER_MASK(IGB_NBITS_82580);
> @@ -1038,8 +1039,8 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  		adapter->ptp_caps.pin_config = adapter->sdp_config;
>  		adapter->ptp_caps.adjfreq = igb_ptp_adjfreq_82580;
>  		adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;
> -		adapter->ptp_caps.gettime = igb_ptp_gettime_i210;
> -		adapter->ptp_caps.settime = igb_ptp_settime_i210;
> +		adapter->ptp_caps.gettime64 = igb_ptp_gettime_i210;
> +		adapter->ptp_caps.settime64 = igb_ptp_settime_i210;
>  		adapter->ptp_caps.enable = igb_ptp_feature_enable_i210;
>  		adapter->ptp_caps.verify = igb_ptp_verify_pin;
>  		/* Enable the timer functions by clearing bit 31. */
> @@ -1057,7 +1058,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
>  
>  	/* Initialize the clock and overflow work for devices that need it. */
>  	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
> -		struct timespec ts = ktime_to_timespec(ktime_get_real());
> +		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
>  
>  		igb_ptp_settime_i210(&adapter->ptp_caps, &ts);
>  	} else {
> @@ -1171,7 +1172,7 @@ void igb_ptp_reset(struct igb_adapter *adapter)
>  
>  	/* Re-initialize the timer. */
>  	if ((hw->mac.type == e1000_i210) || (hw->mac.type == e1000_i211)) {
> -		struct timespec ts = ktime_to_timespec(ktime_get_real());
> +		struct timespec64 ts = ktime_to_timespec64(ktime_get_real());
>  
>  		igb_ptp_write_i210(adapter, &ts);
>  	} else {


  reply	other threads:[~2015-03-31 21:08 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-29 21:11 [PATCH net-next V3 00/23] ptp: get ready for 2038 Richard Cochran
2015-03-29 21:11 ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 01/23] ptp: introduce get/set time methods with explicit 64 bit seconds Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 02/23] ptp: use the 64 bit gettime method for the SYS_OFFSET ioctl Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 03/23] ptp: use the 64 bit get/set time methods for the posix clock Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 04/23] ptp: blackfin: convert to the 64 bit get/set time methods Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 05/23] ptp: xgbe: " Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 06/23] ptp: bnx2x: " Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-30 21:13   ` Sony Chacko
2015-03-30 21:13     ` Sony Chacko
2015-03-29 21:11 ` [PATCH net-next V3 07/23] ptp: tg3: " Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 08/23] ptp: fec: " Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:11 ` [PATCH net-next V3 09/23] ptp: gianfar: " Richard Cochran
2015-03-29 21:11   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 10/23] ptp: e1000e: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-31 21:48   ` Richard Cochran
2015-03-31 21:48     ` Richard Cochran
2015-03-31 23:26     ` David Miller
2015-03-29 21:12 ` [PATCH net-next V3 11/23] ptp: fm10k: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 12/23] ptp: i40e: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 13/23] ptp: igb: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-31 21:08   ` Keller, Jacob E [this message]
2015-03-31 21:08     ` Keller, Jacob E
2015-03-31 21:37     ` Richard Cochran
2015-03-31 21:37       ` Richard Cochran
2015-04-02  0:08       ` Keller, Jacob E
2015-04-02  0:08         ` Keller, Jacob E
2015-03-31 21:53   ` Richard Cochran
2015-03-31 21:53     ` Richard Cochran
2015-04-02  0:06     ` Keller, Jacob E
2015-04-02  0:06       ` Keller, Jacob E
2015-04-02  6:33       ` Richard Cochran
2015-04-02  6:33         ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 14/23] ptp: ixgbe: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 15/23] ptp: mlx4: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 16/23] ptp: sfc: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 17/23] ptp: stmmac: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 18/23] ptp: cpts: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 19/23] ptp: tilegx: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:32   ` Chris Metcalf
2015-03-29 21:32     ` Chris Metcalf
2015-03-29 21:12 ` [PATCH net-next V3 20/23] ptp: dp83640: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 21/23] ptp: ixp46x: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 22/23] ptp: pch: " Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-29 21:12 ` [PATCH net-next V3 23/23] ptp: remove 32 bit get/set methods Richard Cochran
2015-03-29 21:12   ` Richard Cochran
2015-03-31 16:01 ` [PATCH net-next V3 00/23] ptp: get ready for 2038 David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1427836090.16312.27.camel@intel.com \
    --to=jacob.e.keller@intel.com \
    --cc=Frank.Li@freescale.com \
    --cc=amirv@mellanox.com \
    --cc=ariel.elior@qlogic.com \
    --cc=arnd@linaro.org \
    --cc=b45643@freescale.com \
    --cc=baolin.wang@linaro.org \
    --cc=ben@decadent.org.uk \
    --cc=bruce.w.allan@intel.com \
    --cc=carolyn.wyborny@intel.com \
    --cc=cmetcalf@ezchip.com \
    --cc=davem@davemloft.net \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-net-drivers@solarflare.com \
    --cc=matthew.vick@intel.com \
    --cc=mchan@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=peppe.cavallaro@st.com \
    --cc=prashant@broadcom.com \
    --cc=rayagond@vayavyalabs.com \
    --cc=richardcochran@gmail.com \
    --cc=sonic.zhang@analog.com \
    --cc=sshah@solarflare.com \
    --cc=stefan.sorensen@spectralink.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.