summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rsi
diff options
context:
space:
mode:
authorJahnavi Meher <jahnavi.meher@gmail.com>2014-06-16 18:13:54 +0400
committerJohn W. Linville <linville@tuxdriver.com>2014-06-19 23:49:22 +0400
commit2bfa6969d9b332ce43d03d679bf178ecb19b23c0 (patch)
tree8abde4d1a608fae10fc0a4347b7ce509ca363af9 /drivers/net/wireless/rsi
parentbe876b299e12bae2b38cba3f48324fe5913a250b (diff)
downloadlinux-2bfa6969d9b332ce43d03d679bf178ecb19b23c0.tar.xz
rsi: Use SGI if configured for fixed rate transmission.
Use SGI if configured while sending data packets at a fixed rate. Signed-off-by: Jahnavi Meher <jahnavi.meher@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rsi')
-rw-r--r--drivers/net/wireless/rsi/rsi_91x_pkt.c6
-rw-r--r--drivers/net/wireless/rsi/rsi_mgmt.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/rsi/rsi_91x_pkt.c b/drivers/net/wireless/rsi/rsi_91x_pkt.c
index 8e48e72bae20..229ef3aeaaaf 100644
--- a/drivers/net/wireless/rsi/rsi_91x_pkt.c
+++ b/drivers/net/wireless/rsi/rsi_91x_pkt.c
@@ -81,6 +81,12 @@ int rsi_send_data_pkt(struct rsi_common *common, struct sk_buff *skb)
/* Send fixed rate */
frame_desc[3] = cpu_to_le16(RATE_INFO_ENABLE);
frame_desc[4] = cpu_to_le16(common->min_rate);
+ if (common->vif_info[0].sgi) {
+ if (common->min_rate & 0x100) /* Only MCS rates */
+ frame_desc[4] |=
+ cpu_to_le16(ENABLE_SHORTGI_RATE);
+ }
+
}
frame_desc[6] |= cpu_to_le16(seq_num & 0xfff);
diff --git a/drivers/net/wireless/rsi/rsi_mgmt.h b/drivers/net/wireless/rsi/rsi_mgmt.h
index 6ccf9d935e4b..8bff6640dd10 100644
--- a/drivers/net/wireless/rsi/rsi_mgmt.h
+++ b/drivers/net/wireless/rsi/rsi_mgmt.h
@@ -69,6 +69,7 @@
#define RSI_LMAC_CLOCK_80MHZ 0x1
#define RSI_ENABLE_40MHZ (0x1 << 3)
+#define ENABLE_SHORTGI_RATE BIT(9)
#define RX_BA_INDICATION 1
#define RSI_TBL_SZ 40