summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wlcore/wlcore.h
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-12-12 12:11:43 +0200
committerLuciano Coelho <coelho@ti.com>2012-04-12 08:43:59 +0300
commitcd70f6a48b3fbb841a127361ee4ac0752f9d29a2 (patch)
treefebdd2ba7cafd3115837b70c028e6f39b59d9493 /drivers/net/wireless/ti/wlcore/wlcore.h
parent5766435e2f704d0b2ec071639dcfd8f039aeb674 (diff)
downloadlinux-cd70f6a48b3fbb841a127361ee4ac0752f9d29a2.tar.bz2
wlcore/wl12xx: add hw op for getting rx buffer data alignment
An aligned data buffer is such where the Ethernet portion of the packet starts on a 4-byte boundary. Some chip families support padding the Rx data buffer to achieve such alignment, others rely on the host to perform it. Implement the HW op for getting alignment state in wl12xx. Add support for HW-padded alignment in the Rx flow. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti/wlcore/wlcore.h')
-rw-r--r--drivers/net/wireless/ti/wlcore/wlcore.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h
index 9fc57e863eb5..3c2ded57c0d9 100644
--- a/drivers/net/wireless/ti/wlcore/wlcore.h
+++ b/drivers/net/wireless/ti/wlcore/wlcore.h
@@ -27,11 +27,12 @@
#include "wl12xx.h"
#include "event.h"
-struct wl1271_tx_hw_descr;
-
/* The maximum number of Tx descriptors in all chip families */
#define WLCORE_MAX_TX_DESCRIPTORS 32
+/* forward declaration */
+struct wl1271_tx_hw_descr;
+enum wl_rx_buf_align;
struct wlcore_ops {
int (*identify_chip)(struct wl1271 *wl);
int (*boot)(struct wl1271 *wl);
@@ -44,6 +45,8 @@ struct wlcore_ops {
void (*set_tx_desc_data_len)(struct wl1271 *wl,
struct wl1271_tx_hw_descr *desc,
struct sk_buff *skb);
+ enum wl_rx_buf_align (*get_rx_buf_align)(struct wl1271 *wl,
+ u32 rx_desc);
s8 (*get_pg_ver)(struct wl1271 *wl);
void (*get_mac)(struct wl1271 *wl);
};