summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rtl818x/rtl8180/rtl8180.h
diff options
context:
space:
mode:
authorAndrea Merello <andrea.merello@gmail.com>2014-03-26 23:59:52 +0400
committerJohn W. Linville <linville@tuxdriver.com>2014-03-27 22:20:07 +0400
commit21025920ccb2f0bc2870391467ba3ac7ab5f86cc (patch)
tree6b2a02a6277ac253a4874ba63233a7c55fb1f68a /drivers/net/wireless/rtl818x/rtl8180/rtl8180.h
parentd209f3b473e0135ee7d800b5fde50955dbdfc246 (diff)
downloadlinux-21025920ccb2f0bc2870391467ba3ac7ab5f86cc.tar.xz
rtl8180: support for rtl8187se RX descriptors
Currently RX status descriptor and RX command descriptor are represented using the same struct type. This patch splits this by introducing different types for rx status and command descriptor. Doing this make it possible to handle rtl8187se RX descriptors easier. This patch do also this by adding specific cases where needed. Signed-off-by: Andrea Merello <andrea.merello@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtl818x/rtl8180/rtl8180.h')
-rw-r--r--drivers/net/wireless/rtl818x/rtl8180/rtl8180.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/drivers/net/wireless/rtl818x/rtl8180/rtl8180.h b/drivers/net/wireless/rtl818x/rtl8180/rtl8180.h
index 47a084ccc555..d866cc6a845f 100644
--- a/drivers/net/wireless/rtl818x/rtl8180/rtl8180.h
+++ b/drivers/net/wireless/rtl818x/rtl8180/rtl8180.h
@@ -55,13 +55,25 @@ struct rtl8180_tx_desc {
__le16 frag_qsize;
} __packed;
+struct rtl818x_rx_cmd_desc {
+ __le32 flags;
+ u32 reserved;
+ __le32 rx_buf;
+} __packed;
+
struct rtl8180_rx_desc {
__le32 flags;
__le32 flags2;
- union {
- __le32 rx_buf;
- __le64 tsft;
- };
+ __le64 tsft;
+
+} __packed;
+
+struct rtl8187se_rx_desc {
+ __le32 flags;
+ __le64 tsft;
+ __le32 flags2;
+ __le32 flags3;
+ u32 reserved[3];
} __packed;
struct rtl8180_tx_ring {
@@ -88,7 +100,8 @@ struct rtl8180_priv {
/* rtl8180 driver specific */
spinlock_t lock;
- struct rtl8180_rx_desc *rx_ring;
+ void *rx_ring;
+ u8 rx_ring_sz;
dma_addr_t rx_ring_dma;
unsigned int rx_idx;
struct sk_buff *rx_buf[32];