* [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor
@ 2010-05-07 9:03 Helmut Schaa
2010-05-07 9:06 ` Ivo Van Doorn
2010-05-07 11:04 ` Gertjan van Wingerde
0 siblings, 2 replies; 6+ messages in thread
From: Helmut Schaa @ 2010-05-07 9:03 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless, Ivo van Doorn, Gertjan van Wingerde
rt2800 devices use a different enumeration to specify what IFS values should
be used on frame transmission compared to the other rt2x00 devices. Hence,
create a new enum called txop that contains the valid values.
Furthermore use the appropriate txop values as found in the ralink drivers:
- TXOP_BACKOFF for management frames
- TXOP_SIFS for subsequent fragments in a burst
- TXOP_HTTXOP for all data frames
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 2 +-
drivers/net/wireless/rt2x00/rt2800usb.c | 2 +-
drivers/net/wireless/rt2x00/rt2x00ht.c | 17 +++++++++++++++++
drivers/net/wireless/rt2x00/rt2x00queue.h | 2 ++
drivers/net/wireless/rt2x00/rt2x00reg.h | 10 ++++++++++
5 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index f08b6a3..df2c3fb 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -643,7 +643,7 @@ static int rt2800pci_write_tx_data(struct queue_entry* entry,
rt2x00_set_field32(&word, TXWI_W0_AMPDU,
test_bit(ENTRY_TXD_HT_AMPDU, &txdesc->flags));
rt2x00_set_field32(&word, TXWI_W0_MPDU_DENSITY, txdesc->mpdu_density);
- rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->ifs);
+ rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->txop);
rt2x00_set_field32(&word, TXWI_W0_MCS, txdesc->mcs);
rt2x00_set_field32(&word, TXWI_W0_BW,
test_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags));
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index e3f3a97..c9e1320 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -417,7 +417,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32(&word, TXWI_W0_AMPDU,
test_bit(ENTRY_TXD_HT_AMPDU, &txdesc->flags));
rt2x00_set_field32(&word, TXWI_W0_MPDU_DENSITY, txdesc->mpdu_density);
- rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->ifs);
+ rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->txop);
rt2x00_set_field32(&word, TXWI_W0_MCS, txdesc->mcs);
rt2x00_set_field32(&word, TXWI_W0_BW,
test_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags));
diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
index 1056c92..5a40760 100644
--- a/drivers/net/wireless/rt2x00/rt2x00ht.c
+++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
@@ -35,6 +35,7 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
{
struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
+ struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)entry->skb->data;
if (tx_info->control.sta)
txdesc->mpdu_density =
@@ -66,4 +67,20 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
__set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
__set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
+
+ /*
+ * Determine IFS values
+ * - Use TXOP_BACKOFF for management frames
+ * - Use TXOP_SIFS for fragment bursts
+ * - Use TXOP_HTTXOP for everything else
+ *
+ * Note: rt2800 devices won't use CTS protection (if used)
+ * for frames not transmitted with TXOP_HTTXOP
+ */
+ if (ieee80211_is_mgmt(hdr->frame_control))
+ txdesc->txop = TXOP_BACKOFF;
+ else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
+ txdesc->txop = TXOP_SIFS;
+ else
+ txdesc->txop = TXOP_HTTXOP;
}
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
index 94a48c1..36a957a 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.h
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
@@ -299,6 +299,7 @@ enum txentry_desc_flags {
* @retry_limit: Max number of retries.
* @aifs: AIFS value.
* @ifs: IFS value.
+ * @txop: IFS value for 11n capable chips.
* @cw_min: cwmin value.
* @cw_max: cwmax value.
* @cipher: Cipher type used for encryption.
@@ -328,6 +329,7 @@ struct txentry_desc {
short retry_limit;
short aifs;
short ifs;
+ short txop;
short cw_min;
short cw_max;
diff --git a/drivers/net/wireless/rt2x00/rt2x00reg.h b/drivers/net/wireless/rt2x00/rt2x00reg.h
index 603bfc0..b9fe948 100644
--- a/drivers/net/wireless/rt2x00/rt2x00reg.h
+++ b/drivers/net/wireless/rt2x00/rt2x00reg.h
@@ -101,6 +101,16 @@ enum ifs {
};
/*
+ * IFS backoff values for HT devices
+ */
+enum txop {
+ TXOP_HTTXOP = 0,
+ TXOP_PIFS = 1,
+ TXOP_SIFS = 2,
+ TXOP_BACKOFF = 3,
+};
+
+/*
* Cipher types for hardware encryption
*/
enum cipher {
--
1.6.4.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor
2010-05-07 9:03 [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor Helmut Schaa
@ 2010-05-07 9:06 ` Ivo Van Doorn
2010-05-07 9:48 ` Helmut Schaa
2010-05-07 11:04 ` Gertjan van Wingerde
1 sibling, 1 reply; 6+ messages in thread
From: Ivo Van Doorn @ 2010-05-07 9:06 UTC (permalink / raw)
To: Helmut Schaa; +Cc: John Linville, linux-wireless, Gertjan van Wingerde
Hi,
> diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
> index 1056c92..5a40760 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00ht.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
> @@ -35,6 +35,7 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
> {
> struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
> struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
> + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)entry->skb->data;
>
> if (tx_info->control.sta)
> txdesc->mpdu_density =
> @@ -66,4 +67,20 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
> __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
> if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
> __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
> +
> + /*
> + * Determine IFS values
> + * - Use TXOP_BACKOFF for management frames
> + * - Use TXOP_SIFS for fragment bursts
> + * - Use TXOP_HTTXOP for everything else
> + *
> + * Note: rt2800 devices won't use CTS protection (if used)
> + * for frames not transmitted with TXOP_HTTXOP
> + */
> + if (ieee80211_is_mgmt(hdr->frame_control))
> + txdesc->txop = TXOP_BACKOFF;
> + else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
> + txdesc->txop = TXOP_SIFS;
> + else
> + txdesc->txop = TXOP_HTTXOP;
I can't check it right now, but I am sure this function contains
exactly the same checks
for determining the correct ifs value. It would be easier to move the
assignment to txop
to the same if-statements.
Ivo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor
2010-05-07 9:06 ` Ivo Van Doorn
@ 2010-05-07 9:48 ` Helmut Schaa
2010-05-07 10:33 ` Ivo Van Doorn
0 siblings, 1 reply; 6+ messages in thread
From: Helmut Schaa @ 2010-05-07 9:48 UTC (permalink / raw)
To: Ivo Van Doorn; +Cc: John Linville, linux-wireless, Gertjan van Wingerde
Am Freitag 07 Mai 2010 schrieb Ivo Van Doorn:
> Hi,
>
>
> > diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
> > index 1056c92..5a40760 100644
> > --- a/drivers/net/wireless/rt2x00/rt2x00ht.c
> > +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
> > @@ -35,6 +35,7 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
> > {
> > struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
> > struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
> > + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)entry->skb->data;
> >
> > if (tx_info->control.sta)
> > txdesc->mpdu_density =
> > @@ -66,4 +67,20 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
> > __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
> > if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
> > __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
> > +
> > + /*
> > + * Determine IFS values
> > + * - Use TXOP_BACKOFF for management frames
> > + * - Use TXOP_SIFS for fragment bursts
> > + * - Use TXOP_HTTXOP for everything else
> > + *
> > + * Note: rt2800 devices won't use CTS protection (if used)
> > + * for frames not transmitted with TXOP_HTTXOP
> > + */
> > + if (ieee80211_is_mgmt(hdr->frame_control))
> > + txdesc->txop = TXOP_BACKOFF;
> > + else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
> > + txdesc->txop = TXOP_SIFS;
> > + else
> > + txdesc->txop = TXOP_HTTXOP;
>
> I can't check it right now, but I am sure this function contains
> exactly the same checks
> for determining the correct ifs value. It would be easier to move the
> assignment to txop
> to the same if-statements.
I guess you mean rt2x00queue_create_tx_descriptor in rt2x00queue.c, right?
It's not exactly the same but at least the check for the first fragment are
there already. We could also move it there. Why I've decided to put it in
rt2x00ht.c is because it only applies to HT devices ;)
If you'd prefer to have it in rt2x00queue I'm glad to resend.
Helmut
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor
2010-05-07 9:48 ` Helmut Schaa
@ 2010-05-07 10:33 ` Ivo Van Doorn
2010-05-07 10:48 ` Helmut Schaa
0 siblings, 1 reply; 6+ messages in thread
From: Ivo Van Doorn @ 2010-05-07 10:33 UTC (permalink / raw)
To: Helmut Schaa; +Cc: John Linville, linux-wireless, Gertjan van Wingerde
On Fri, May 7, 2010 at 11:48 AM, Helmut Schaa
<helmut.schaa@googlemail.com> wrote:
> Am Freitag 07 Mai 2010 schrieb Ivo Van Doorn:
>> Hi,
>>
>>
>> > diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
>> > index 1056c92..5a40760 100644
>> > --- a/drivers/net/wireless/rt2x00/rt2x00ht.c
>> > +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
>> > @@ -35,6 +35,7 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
>> > {
>> > struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
>> > struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
>> > + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)entry->skb->data;
>> >
>> > if (tx_info->control.sta)
>> > txdesc->mpdu_density =
>> > @@ -66,4 +67,20 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
>> > __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
>> > if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
>> > __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
>> > +
>> > + /*
>> > + * Determine IFS values
>> > + * - Use TXOP_BACKOFF for management frames
>> > + * - Use TXOP_SIFS for fragment bursts
>> > + * - Use TXOP_HTTXOP for everything else
>> > + *
>> > + * Note: rt2800 devices won't use CTS protection (if used)
>> > + * for frames not transmitted with TXOP_HTTXOP
>> > + */
>> > + if (ieee80211_is_mgmt(hdr->frame_control))
>> > + txdesc->txop = TXOP_BACKOFF;
>> > + else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
>> > + txdesc->txop = TXOP_SIFS;
>> > + else
>> > + txdesc->txop = TXOP_HTTXOP;
>>
>> I can't check it right now, but I am sure this function contains
>> exactly the same checks
>> for determining the correct ifs value. It would be easier to move the
>> assignment to txop
>> to the same if-statements.
>
> I guess you mean rt2x00queue_create_tx_descriptor in rt2x00queue.c, right?
> It's not exactly the same but at least the check for the first fragment are
> there already. We could also move it there. Why I've decided to put it in
> rt2x00ht.c is because it only applies to HT devices ;)
>
> If you'd prefer to have it in rt2x00queue I'm glad to resend.
Ah true this is HT stuff only. I'll look into the exact code later, and perhaps
I'll update it later. But this patch can be merged:
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor
2010-05-07 10:33 ` Ivo Van Doorn
@ 2010-05-07 10:48 ` Helmut Schaa
0 siblings, 0 replies; 6+ messages in thread
From: Helmut Schaa @ 2010-05-07 10:48 UTC (permalink / raw)
To: Ivo Van Doorn; +Cc: John Linville, linux-wireless, Gertjan van Wingerde
Am Freitag 07 Mai 2010 schrieb Ivo Van Doorn:
> On Fri, May 7, 2010 at 11:48 AM, Helmut Schaa
> <helmut.schaa@googlemail.com> wrote:
> > I guess you mean rt2x00queue_create_tx_descriptor in rt2x00queue.c, right?
> > It's not exactly the same but at least the check for the first fragment are
> > there already. We could also move it there. Why I've decided to put it in
> > rt2x00ht.c is because it only applies to HT devices ;)
> >
> > If you'd prefer to have it in rt2x00queue I'm glad to resend.
>
> Ah true this is HT stuff only. I'll look into the exact code later, and perhaps
> I'll update it later. But this patch can be merged:
>
> Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Ok, thanks for the quick review.
Helmut
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor
2010-05-07 9:03 [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor Helmut Schaa
2010-05-07 9:06 ` Ivo Van Doorn
@ 2010-05-07 11:04 ` Gertjan van Wingerde
1 sibling, 0 replies; 6+ messages in thread
From: Gertjan van Wingerde @ 2010-05-07 11:04 UTC (permalink / raw)
To: Helmut Schaa, John Linville; +Cc: linux-wireless, Ivo van Doorn
On 05/07/10 11:03, Helmut Schaa wrote:
> rt2800 devices use a different enumeration to specify what IFS values should
> be used on frame transmission compared to the other rt2x00 devices. Hence,
> create a new enum called txop that contains the valid values.
>
> Furthermore use the appropriate txop values as found in the ralink drivers:
> - TXOP_BACKOFF for management frames
> - TXOP_SIFS for subsequent fragments in a burst
> - TXOP_HTTXOP for all data frames
>
> Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Thanks for doing the proper patch.
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
> ---
> drivers/net/wireless/rt2x00/rt2800pci.c | 2 +-
> drivers/net/wireless/rt2x00/rt2800usb.c | 2 +-
> drivers/net/wireless/rt2x00/rt2x00ht.c | 17 +++++++++++++++++
> drivers/net/wireless/rt2x00/rt2x00queue.h | 2 ++
> drivers/net/wireless/rt2x00/rt2x00reg.h | 10 ++++++++++
> 5 files changed, 31 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
> index f08b6a3..df2c3fb 100644
> --- a/drivers/net/wireless/rt2x00/rt2800pci.c
> +++ b/drivers/net/wireless/rt2x00/rt2800pci.c
> @@ -643,7 +643,7 @@ static int rt2800pci_write_tx_data(struct queue_entry* entry,
> rt2x00_set_field32(&word, TXWI_W0_AMPDU,
> test_bit(ENTRY_TXD_HT_AMPDU, &txdesc->flags));
> rt2x00_set_field32(&word, TXWI_W0_MPDU_DENSITY, txdesc->mpdu_density);
> - rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->ifs);
> + rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->txop);
> rt2x00_set_field32(&word, TXWI_W0_MCS, txdesc->mcs);
> rt2x00_set_field32(&word, TXWI_W0_BW,
> test_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags));
> diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
> index e3f3a97..c9e1320 100644
> --- a/drivers/net/wireless/rt2x00/rt2800usb.c
> +++ b/drivers/net/wireless/rt2x00/rt2800usb.c
> @@ -417,7 +417,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,
> rt2x00_set_field32(&word, TXWI_W0_AMPDU,
> test_bit(ENTRY_TXD_HT_AMPDU, &txdesc->flags));
> rt2x00_set_field32(&word, TXWI_W0_MPDU_DENSITY, txdesc->mpdu_density);
> - rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->ifs);
> + rt2x00_set_field32(&word, TXWI_W0_TX_OP, txdesc->txop);
> rt2x00_set_field32(&word, TXWI_W0_MCS, txdesc->mcs);
> rt2x00_set_field32(&word, TXWI_W0_BW,
> test_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags));
> diff --git a/drivers/net/wireless/rt2x00/rt2x00ht.c b/drivers/net/wireless/rt2x00/rt2x00ht.c
> index 1056c92..5a40760 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00ht.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00ht.c
> @@ -35,6 +35,7 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
> {
> struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
> struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
> + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)entry->skb->data;
>
> if (tx_info->control.sta)
> txdesc->mpdu_density =
> @@ -66,4 +67,20 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
> __set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
> if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
> __set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
> +
> + /*
> + * Determine IFS values
> + * - Use TXOP_BACKOFF for management frames
> + * - Use TXOP_SIFS for fragment bursts
> + * - Use TXOP_HTTXOP for everything else
> + *
> + * Note: rt2800 devices won't use CTS protection (if used)
> + * for frames not transmitted with TXOP_HTTXOP
> + */
> + if (ieee80211_is_mgmt(hdr->frame_control))
> + txdesc->txop = TXOP_BACKOFF;
> + else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
> + txdesc->txop = TXOP_SIFS;
> + else
> + txdesc->txop = TXOP_HTTXOP;
> }
> diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
> index 94a48c1..36a957a 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00queue.h
> +++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
> @@ -299,6 +299,7 @@ enum txentry_desc_flags {
> * @retry_limit: Max number of retries.
> * @aifs: AIFS value.
> * @ifs: IFS value.
> + * @txop: IFS value for 11n capable chips.
> * @cw_min: cwmin value.
> * @cw_max: cwmax value.
> * @cipher: Cipher type used for encryption.
> @@ -328,6 +329,7 @@ struct txentry_desc {
> short retry_limit;
> short aifs;
> short ifs;
> + short txop;
> short cw_min;
> short cw_max;
>
> diff --git a/drivers/net/wireless/rt2x00/rt2x00reg.h b/drivers/net/wireless/rt2x00/rt2x00reg.h
> index 603bfc0..b9fe948 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00reg.h
> +++ b/drivers/net/wireless/rt2x00/rt2x00reg.h
> @@ -101,6 +101,16 @@ enum ifs {
> };
>
> /*
> + * IFS backoff values for HT devices
> + */
> +enum txop {
> + TXOP_HTTXOP = 0,
> + TXOP_PIFS = 1,
> + TXOP_SIFS = 2,
> + TXOP_BACKOFF = 3,
> +};
> +
> +/*
> * Cipher types for hardware encryption
> */
> enum cipher {
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-05-07 11:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-07 9:03 [PATCHv2] rt2x00: rt2800: use correct txop value in tx descriptor Helmut Schaa
2010-05-07 9:06 ` Ivo Van Doorn
2010-05-07 9:48 ` Helmut Schaa
2010-05-07 10:33 ` Ivo Van Doorn
2010-05-07 10:48 ` Helmut Schaa
2010-05-07 11:04 ` Gertjan van Wingerde
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).