summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ti/wl18xx
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2012-05-10 09:13:18 (GMT)
committerLuciano Coelho <coelho@ti.com>2012-06-05 12:54:55 (GMT)
commitfb0f2e4ac0635549ce035c461d5050643ea5684c (patch)
tree6375f6e7163f2cdb2aa30efccd1d2630ee766a59 /drivers/net/wireless/ti/wl18xx
parent624845b31cae0bf6671c3d0cbbec8214cf7d8584 (diff)
downloadlinux-fsl-qoriq-fb0f2e4ac0635549ce035c461d5050643ea5684c.tar.xz
wl18xx: implement hw op for setting blocks in hw_tx_desc
Add the 18xx variant to the HW Tx descriptor union and set the 18xx specific values during Tx. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx')
-rw-r--r--drivers/net/wireless/ti/wl18xx/main.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index 055b194..c85492e 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -26,6 +26,7 @@
#include "../wlcore/debug.h"
#include "../wlcore/io.h"
#include "../wlcore/acx.h"
+#include "../wlcore/tx.h"
#include "../wlcore/boot.h"
#include "reg.h"
@@ -312,12 +313,21 @@ static u32 wl18xx_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks)
return (len + blk_size - 1) / blk_size + spare_blks;
}
+static void
+wl18xx_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
+ u32 blks, u32 spare_blks)
+{
+ desc->wl18xx_mem.total_mem_blocks = blks;
+ desc->wl18xx_mem.reserved = 0;
+}
+
static struct wlcore_ops wl18xx_ops = {
.identify_chip = wl18xx_identify_chip,
.boot = wl18xx_boot,
.trigger_cmd = wl18xx_trigger_cmd,
.ack_event = wl18xx_ack_event,
.calc_tx_blocks = wl18xx_calc_tx_blocks,
+ .set_tx_desc_blocks = wl18xx_set_tx_desc_blocks,
};
int __devinit wl18xx_probe(struct platform_device *pdev)