diff mbox

[V3,10/11] mv643xx_eth: enable transmit time stamping.

Message ID 96e6a2899b55ac1272cee8ce63e2549e24a10386.1308556146.git.richard.cochran@omicron.at
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Richard Cochran June 20, 2011, 7:51 a.m. UTC
This patch enables software (and phy device) transmit time stamping.
Compile tested only.

Cc: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
---
 drivers/net/mv643xx_eth.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Comments

Lennert Buytenhek June 20, 2011, 4:35 p.m. UTC | #1
On Mon, Jun 20, 2011 at 09:51:32AM +0200, Richard Cochran wrote:

> This patch enables software (and phy device) transmit time stamping.
> Compile tested only.
> 
> Cc: Lennert Buytenhek <buytenh@wantstofly.org>
> Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
> ---
>  drivers/net/mv643xx_eth.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
> index 1b7d2c1..3671714 100644
> --- a/drivers/net/mv643xx_eth.c
> +++ b/drivers/net/mv643xx_eth.c
> @@ -847,6 +847,8 @@ no_csum:
>  	/* clear TX_END status */
>  	mp->work_tx_end &= ~(1 << txq->index);
>  
> +	skb_tx_timestamp(skb);
> +
>  	/* ensure all descriptors are written before poking hardware */
>  	wmb();
>  	txq_enable(txq);

This only timestamps the skb _after_ writing the final (cmd_sts) HW TX
descriptor word, and so if your previous patch is correct (which I don't
think it is), this would be buggy as well.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller June 20, 2011, 8:55 p.m. UTC | #2
From: Lennert Buytenhek <buytenh@wantstofly.org>
Date: Mon, 20 Jun 2011 18:35:24 +0200

> On Mon, Jun 20, 2011 at 09:51:32AM +0200, Richard Cochran wrote:
> 
>> This patch enables software (and phy device) transmit time stamping.
>> Compile tested only.
>> 
>> Cc: Lennert Buytenhek <buytenh@wantstofly.org>
>> Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
>> ---
>>  drivers/net/mv643xx_eth.c |    2 ++
>>  1 files changed, 2 insertions(+), 0 deletions(-)
>> 
>> diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
>> index 1b7d2c1..3671714 100644
>> --- a/drivers/net/mv643xx_eth.c
>> +++ b/drivers/net/mv643xx_eth.c
>> @@ -847,6 +847,8 @@ no_csum:
>>  	/* clear TX_END status */
>>  	mp->work_tx_end &= ~(1 << txq->index);
>>  
>> +	skb_tx_timestamp(skb);
>> +
>>  	/* ensure all descriptors are written before poking hardware */
>>  	wmb();
>>  	txq_enable(txq);
> 
> This only timestamps the skb _after_ writing the final (cmd_sts) HW TX
> descriptor word, and so if your previous patch is correct (which I don't
> think it is), this would be buggy as well.

Agreed.

I'll apply the other patches and leave this one for now.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 1b7d2c1..3671714 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -847,6 +847,8 @@  no_csum:
 	/* clear TX_END status */
 	mp->work_tx_end &= ~(1 << txq->index);
 
+	skb_tx_timestamp(skb);
+
 	/* ensure all descriptors are written before poking hardware */
 	wmb();
 	txq_enable(txq);