projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
carl9170 firmware: correct use of memset
[carl9170fw.git]
/
carlfw
/
include
/
wl.h
diff --git
a/carlfw/include/wl.h
b/carlfw/include/wl.h
index fa3cb229afeb41e0d1ab6f70b344268755172315..9064dcb2c6af35e28691f1f147e27a86be293aec 100644
(file)
--- a/
carlfw/include/wl.h
+++ b/
carlfw/include/wl.h
@@
-6,7
+6,7
@@
* Copyright (c) 2000-2005 ZyDAS Technology Corporation
* Copyright (c) 2007-2009 Atheros Communications, Inc.
* Copyright 2009 Johannes Berg <johannes@sipsolutions.net>
* Copyright (c) 2000-2005 ZyDAS Technology Corporation
* Copyright (c) 2007-2009 Atheros Communications, Inc.
* Copyright 2009 Johannes Berg <johannes@sipsolutions.net>
- * Copyright 2009
, 2010
Christian Lamparter <chunkeey@googlemail.com>
+ * Copyright 2009
-2011
Christian Lamparter <chunkeey@googlemail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-42,32
+42,25
@@
static inline __inline void set_wlan_txq_dma_curr_addr(const unsigned int q, con
set(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3), v);
}
set(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3), v);
}
-static inline __inline struct dma_desc *get_wlan_txq_dma_addr(const unsigned int q)
+static inline __inline
volatile
struct dma_desc *get_wlan_txq_dma_addr(const unsigned int q)
{
return getp(AR9170_MAC_REG_DMA_TXQ_ADDR + (q << 3));
}
{
return getp(AR9170_MAC_REG_DMA_TXQ_ADDR + (q << 3));
}
-static inline __inline struct dma_desc *get_wlan_txq_addr(const unsigned int q)
+static inline __inline
volatile
struct dma_desc *get_wlan_txq_addr(const unsigned int q)
{
return getp(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3));
}
{
return getp(AR9170_MAC_REG_DMA_TXQ_CURR_ADDR + (q << 3));
}
-static inline __inline vo
id _wlan_trigger(const uint32_t queue_bit
)
+static inline __inline vo
latile struct dma_desc *get_wlan_txq_last_addr(const unsigned int q
)
{
{
-
set(AR9170_MAC_REG_DMA_TRIGGER, queue_bit
);
+
return getp(AR9170_MAC_REG_DMA_TXQ_LAST_ADDR + (q << 2)
);
}
}
-#ifdef CONFIG_CARL9170FW_DELAYED_TX
static inline __inline void wlan_trigger(const uint32_t queue_bit)
{
static inline __inline void wlan_trigger(const uint32_t queue_bit)
{
- fw.wlan.tx_trigger |= queue_bit;
-}
-#else
-static inline __inline void wlan_trigger(const uint32_t queue_bit)
-{
- _wlan_trigger(queue_bit);
+ set(AR9170_MAC_REG_DMA_TRIGGER, queue_bit);
}
}
-#endif /* CONFIG_CARL9170FW_DELAYED_TX */
static inline __inline uint8_t ar9170_get_rx_macstatus_status(struct dma_desc *desc)
{
static inline __inline uint8_t ar9170_get_rx_macstatus_status(struct dma_desc *desc)
{
@@
-222,6
+215,11
@@
static inline __inline struct carl9170_tx_superframe *get_super(struct dma_desc
f);
}
f);
}
+static inline __inline struct carl9170_tx_superframe *__get_super(struct dma_desc *desc)
+{
+ return DESC_PAYLOAD(desc);
+}
+
static inline __inline void hide_super(struct dma_desc *desc)
{
desc->dataAddr = (uint8_t *)
static inline __inline void hide_super(struct dma_desc *desc)
{
desc->dataAddr = (uint8_t *)
@@
-259,19
+257,31
@@
static inline __inline __hot void read_tsf(uint32_t *tsf)
void wlan_tx(struct dma_desc *desc);
void wlan_timer(void);
void handle_wlan(void);
void wlan_tx(struct dma_desc *desc);
void wlan_timer(void);
void handle_wlan(void);
-void wlan_tx_stuck(const struct carl9170_cmd *cmd, struct carl9170_rsp *rsp);
void wlan_cab_flush_queue(const unsigned int vif);
void wlan_cab_flush_queue(const unsigned int vif);
-void wlan_cab_modify_dtim_beacon(const unsigned int vif);
+void wlan_modify_beacon(const unsigned int vif,
+ const unsigned int bcn_addr,
+ const unsigned int bcn_len);
+
+void wlan_tx_complete(struct carl9170_tx_superframe *super,
+ bool txs);
+
+void wlan_prepare_wol(void);
static inline void __check_wlantx(void)
{
static inline void __check_wlantx(void)
{
+ BUILD_BUG_ON(CARL9170_TX_SUPERDESC_LEN & 3);
BUILD_BUG_ON(sizeof(struct carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN);
BUILD_BUG_ON(sizeof(struct carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN);
+ BUILD_BUG_ON(sizeof(struct _carl9170_tx_superdesc) != CARL9170_TX_SUPERDESC_LEN);
+ BUILD_BUG_ON(sizeof(struct _carl9170_tx_superframe) != CARL9170_TX_SUPERFRAME_LEN);
BUILD_BUG_ON((offsetof(struct carl9170_tx_superframe, f) & 3) != 0);
BUILD_BUG_ON((offsetof(struct carl9170_tx_superframe, f) & 3) != 0);
+ BUILD_BUG_ON(offsetof(struct _carl9170_tx_superframe, f) !=
+ (offsetof(struct _carl9170_tx_superframe, f)));
BUILD_BUG_ON(sizeof(struct ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN);
BUILD_BUG_ON(sizeof(struct ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN);
- BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != 12);
- BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != 20);
- BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != 4);
+ BUILD_BUG_ON(sizeof(struct _ar9170_tx_hwdesc) != AR9170_TX_HWDESC_LEN);
+ BUILD_BUG_ON(sizeof(struct ar9170_rx_head) != AR9170_RX_HEAD_LEN);
+ BUILD_BUG_ON(sizeof(struct ar9170_rx_phystatus) != AR9170_RX_PHYSTATUS_LEN);
+ BUILD_BUG_ON(sizeof(struct ar9170_rx_macstatus) != AR9170_RX_MACSTATUS_LEN);
}
#endif /* __CARL9170FW_WLAN_H */
}
#endif /* __CARL9170FW_WLAN_H */