projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ieee80211: Support parsing TPC report element in action frames
[carl9170fw.git]
/
carlfw
/
include
/
dma.h
diff --git
a/carlfw/include/dma.h
b/carlfw/include/dma.h
index 07d06d607f9bc2fea7429fede6e6799ac94fdd50..477c2a2ca2a1ebe7214a7b9e8b29c6b640757262 100644
(file)
--- a/
carlfw/include/dma.h
+++ b/
carlfw/include/dma.h
@@
-19,8
+19,7
@@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * with this program; If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __CARL9170FW_DMA_H
*/
#ifndef __CARL9170FW_DMA_H
@@
-51,11
+50,7
@@
struct dma_desc {
#define AR9170_TERMINATOR_NUMBER_INT 1
#define AR9170_TERMINATOR_NUMBER_INT 1
-#ifdef CONFIG_CARL9170FW_CAB_QUEUE
#define AR9170_TERMINATOR_NUMBER_CAB CARL9170_INTF_NUM
#define AR9170_TERMINATOR_NUMBER_CAB CARL9170_INTF_NUM
-#else
-#define AR9170_TERMINATOR_NUMBER_CAB 0
-#endif /* CONFIG_CARL9170FW_CAB_QUEUE */
#define AR9170_TERMINATOR_NUMBER (AR9170_TERMINATOR_NUMBER_B + \
AR9170_TERMINATOR_NUMBER_INT + \
#define AR9170_TERMINATOR_NUMBER (AR9170_TERMINATOR_NUMBER_B + \
AR9170_TERMINATOR_NUMBER_INT + \
@@
-75,6
+70,16
@@
struct carl9170_tx_ba_superframe {
struct ar9170_tx_ba_frame f;
} __packed;
struct ar9170_tx_ba_frame f;
} __packed;
+struct ar9170_tx_null_frame {
+ struct ar9170_tx_hwdesc hdr;
+ struct ieee80211_hdr null;
+} __packed;
+
+struct carl9170_tx_null_superframe {
+ struct carl9170_tx_superdesc s;
+ struct ar9170_tx_null_frame f;
+} __packed;
+
#define CARL9170_BA_BUFFER_LEN (__roundup(sizeof(struct carl9170_tx_ba_superframe), 16))
#define CARL9170_RSP_BUFFER_LEN AR9170_BLOCK_SIZE
#define CARL9170_BA_BUFFER_LEN (__roundup(sizeof(struct carl9170_tx_ba_superframe), 16))
#define CARL9170_RSP_BUFFER_LEN AR9170_BLOCK_SIZE
@@
-87,6
+92,10
@@
struct carl9170_sram_reserved {
union {
uint32_t buf[CARL9170_MAX_CMD_LEN / sizeof(uint32_t)];
struct carl9170_cmd cmd;
union {
uint32_t buf[CARL9170_MAX_CMD_LEN / sizeof(uint32_t)];
struct carl9170_cmd cmd;
+
+#ifdef CONFIG_CARL9170FW_WOL
+ struct carl9170_tx_null_superframe null;
+#endif /* CONFIG_CARL9170FW_WOL */
} cmd;
union {
} cmd;
union {
@@
-123,6
+132,7
@@
struct carl9170_sram_reserved {
* | BA buffer (128 bytes)
* +--
* | CMD buffer (128 bytes)
* | BA buffer (128 bytes)
* +--
* | CMD buffer (128 bytes)
+ * | - used as NULLFRAME buffer (128 bytes) for WOL
* +--
* | RSP buffer (320 bytes)
* +--
* +--
* | RSP buffer (320 bytes)
* +--
@@
-268,7
+278,7
@@
static inline __inline struct dma_desc *dma_dequeue_not_bits(struct dma_queue *q
desc = (queue)->head)
#define __for_each_desc_continue(desc, queue) \
desc = (queue)->head)
#define __for_each_desc_continue(desc, queue) \
- for (;
desc != (queue)->terminator;
\
+ for (;
desc != (queue)->terminator;
\
desc = (desc)->lastAddr->nextAddr)
#define __for_each_desc(desc, queue) \
desc = (desc)->lastAddr->nextAddr)
#define __for_each_desc(desc, queue) \
@@
-328,6
+338,7
@@
static inline void __check_desc(void)
BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, cmd.buf) & (BLOCK_ALIGNMENT - 1));
BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, rsp.buf) & (BLOCK_ALIGNMENT - 1));
BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, bcn.buf) & (BLOCK_ALIGNMENT - 1));
BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, cmd.buf) & (BLOCK_ALIGNMENT - 1));
BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, rsp.buf) & (BLOCK_ALIGNMENT - 1));
BUILD_BUG_ON(offsetof(struct carl9170_sram_reserved, bcn.buf) & (BLOCK_ALIGNMENT - 1));
+ BUILD_BUG_ON(sizeof(struct carl9170_tx_null_superframe) > CARL9170_MAX_CMD_LEN);
}
#endif /* __CARL9170FW_DMA_H */
}
#endif /* __CARL9170FW_DMA_H */