linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes
@ 2010-05-06 10:29 Helmut Schaa
  2010-05-06 10:51 ` Helmut Schaa
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Helmut Schaa @ 2010-05-06 10:29 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless, Ivo van Doorn, Gertjan van Wingerde

The SIFS value is a constant and doesn't need to be updated on erp changes.
Furthermore the code used 10us for both, the OFDM SIFS and CCK SIFS time
which broke CTS protected 11g connections (see patch "rt2x00: rt2800: update
initial SIFS values" for details).

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
---
 drivers/net/wireless/rt2x00/rt2800lib.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index f786068..858455f 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -640,8 +640,6 @@ void rt2800_config_erp(struct rt2x00_dev *rt2x00dev, struct rt2x00lib_erp *erp)
 	rt2800_register_write(rt2x00dev, BKOFF_SLOT_CFG, reg);
 
 	rt2800_register_read(rt2x00dev, XIFS_TIME_CFG, &reg);
-	rt2x00_set_field32(&reg, XIFS_TIME_CFG_CCKM_SIFS_TIME, erp->sifs);
-	rt2x00_set_field32(&reg, XIFS_TIME_CFG_OFDM_SIFS_TIME, erp->sifs);
 	rt2x00_set_field32(&reg, XIFS_TIME_CFG_EIFS, erp->eifs);
 	rt2800_register_write(rt2x00dev, XIFS_TIME_CFG, reg);
 
-- 
1.6.4.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes
  2010-05-06 10:29 [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes Helmut Schaa
@ 2010-05-06 10:51 ` Helmut Schaa
  2010-05-06 10:56   ` Helmut Schaa
  2010-05-06 16:59 ` Gertjan van Wingerde
  2010-05-06 17:02 ` Ivo Van Doorn
  2 siblings, 1 reply; 5+ messages in thread
From: Helmut Schaa @ 2010-05-06 10:51 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless, Ivo van Doorn, Gertjan van Wingerde

JFI, with this and the previous patch I can reliable transmit and receive
data at 11b and 11g rates with only sporadic retries. Before that I had a
huge amount of retries while transmitting with 11g rates (and enabled CTS
protection).

Nevertheless I don't get good transfer speeds. I didn't measure exactly but
just with scp. And I got ~600-700 KByte/s for TX and 400-500KByte/s for RX.
This is still quite low.

Helmut

Am Donnerstag 06 Mai 2010 schrieb Helmut Schaa:
> The SIFS value is a constant and doesn't need to be updated on erp changes.
> Furthermore the code used 10us for both, the OFDM SIFS and CCK SIFS time
> which broke CTS protected 11g connections (see patch "rt2x00: rt2800: update
> initial SIFS values" for details).
> 
> Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
> ---
>  drivers/net/wireless/rt2x00/rt2800lib.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index f786068..858455f 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -640,8 +640,6 @@ void rt2800_config_erp(struct rt2x00_dev *rt2x00dev, struct rt2x00lib_erp *erp)
>  	rt2800_register_write(rt2x00dev, BKOFF_SLOT_CFG, reg);
>  
>  	rt2800_register_read(rt2x00dev, XIFS_TIME_CFG, &reg);
> -	rt2x00_set_field32(&reg, XIFS_TIME_CFG_CCKM_SIFS_TIME, erp->sifs);
> -	rt2x00_set_field32(&reg, XIFS_TIME_CFG_OFDM_SIFS_TIME, erp->sifs);
>  	rt2x00_set_field32(&reg, XIFS_TIME_CFG_EIFS, erp->eifs);
>  	rt2800_register_write(rt2x00dev, XIFS_TIME_CFG, reg);
>  
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes
  2010-05-06 10:51 ` Helmut Schaa
@ 2010-05-06 10:56   ` Helmut Schaa
  0 siblings, 0 replies; 5+ messages in thread
From: Helmut Schaa @ 2010-05-06 10:56 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless, Ivo van Doorn, Gertjan van Wingerde

Am Donnerstag 06 Mai 2010 schrieb Helmut Schaa:
> Nevertheless I don't get good transfer speeds. I didn't measure exactly but
> just with scp. And I got ~600-700 KByte/s for TX and 400-500KByte/s for RX.
> This is still quite low.

Nevermind, tested on a MIPS board. So maybe it's not the wireless but the CPU
that's limiting scp performance.

When I find some time I'll try plain TCP connections.

Helmut

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes
  2010-05-06 10:29 [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes Helmut Schaa
  2010-05-06 10:51 ` Helmut Schaa
@ 2010-05-06 16:59 ` Gertjan van Wingerde
  2010-05-06 17:02 ` Ivo Van Doorn
  2 siblings, 0 replies; 5+ messages in thread
From: Gertjan van Wingerde @ 2010-05-06 16:59 UTC (permalink / raw)
  To: Helmut Schaa; +Cc: John Linville, linux-wireless, Ivo van Doorn

On 05/06/10 12:29, Helmut Schaa wrote:
> The SIFS value is a constant and doesn't need to be updated on erp changes.
> Furthermore the code used 10us for both, the OFDM SIFS and CCK SIFS time
> which broke CTS protected 11g connections (see patch "rt2x00: rt2800: update
> initial SIFS values" for details).
> 
> Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2800lib.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index f786068..858455f 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -640,8 +640,6 @@ void rt2800_config_erp(struct rt2x00_dev *rt2x00dev, struct rt2x00lib_erp *erp)
>  	rt2800_register_write(rt2x00dev, BKOFF_SLOT_CFG, reg);
>  
>  	rt2800_register_read(rt2x00dev, XIFS_TIME_CFG, &reg);
> -	rt2x00_set_field32(&reg, XIFS_TIME_CFG_CCKM_SIFS_TIME, erp->sifs);
> -	rt2x00_set_field32(&reg, XIFS_TIME_CFG_OFDM_SIFS_TIME, erp->sifs);
>  	rt2x00_set_field32(&reg, XIFS_TIME_CFG_EIFS, erp->eifs);
>  	rt2800_register_write(rt2x00dev, XIFS_TIME_CFG, reg);
>  


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes
  2010-05-06 10:29 [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes Helmut Schaa
  2010-05-06 10:51 ` Helmut Schaa
  2010-05-06 16:59 ` Gertjan van Wingerde
@ 2010-05-06 17:02 ` Ivo Van Doorn
  2 siblings, 0 replies; 5+ messages in thread
From: Ivo Van Doorn @ 2010-05-06 17:02 UTC (permalink / raw)
  To: Helmut Schaa; +Cc: John Linville, linux-wireless, Gertjan van Wingerde

On Thu, May 6, 2010 at 12:29 PM, Helmut Schaa
<helmut.schaa@googlemail.com> wrote:
> The SIFS value is a constant and doesn't need to be updated on erp changes.
> Furthermore the code used 10us for both, the OFDM SIFS and CCK SIFS time
> which broke CTS protected 11g connections (see patch "rt2x00: rt2800: update
> initial SIFS values" for details).
>
> Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

Acked-by: Ivo van Doorn <IvDoorn@gmail.com>

> ---
>  drivers/net/wireless/rt2x00/rt2800lib.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index f786068..858455f 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -640,8 +640,6 @@ void rt2800_config_erp(struct rt2x00_dev *rt2x00dev, struct rt2x00lib_erp *erp)
>        rt2800_register_write(rt2x00dev, BKOFF_SLOT_CFG, reg);
>
>        rt2800_register_read(rt2x00dev, XIFS_TIME_CFG, &reg);
> -       rt2x00_set_field32(&reg, XIFS_TIME_CFG_CCKM_SIFS_TIME, erp->sifs);
> -       rt2x00_set_field32(&reg, XIFS_TIME_CFG_OFDM_SIFS_TIME, erp->sifs);
>        rt2x00_set_field32(&reg, XIFS_TIME_CFG_EIFS, erp->eifs);
>        rt2800_register_write(rt2x00dev, XIFS_TIME_CFG, reg);
>
> --
> 1.6.4.2
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-05-06 17:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-06 10:29 [PATCH 2/3] rt2x00: rt2800: don't overwrite SIFS values on erp changes Helmut Schaa
2010-05-06 10:51 ` Helmut Schaa
2010-05-06 10:56   ` Helmut Schaa
2010-05-06 16:59 ` Gertjan van Wingerde
2010-05-06 17:02 ` Ivo Van Doorn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).