carl9170 firmware: update copyright boilerplate
[carl9170fw.git] / carlfw / include / dma.h
index 9ccdd945c61457bcc6bbb3241ec8ea6d10128cae..565c48ddcbc706d7e5667f3efd0eae24827cecba 100644 (file)
@@ -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 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
@@ -44,7 +44,7 @@ struct dma_desc {
                void *dataAddr;
        } __packed;
        struct dma_desc *nextAddr;      /* Next TD address */
-} __packed;
+} __packed __aligned(4);
 
 /* (Up, Dn, 5x Tx, Rx), USB Int, (5x delayed Tx + retry), CAB, BA */
 #define AR9170_TERMINATOR_NUMBER_B     8
@@ -169,8 +169,8 @@ struct ar9170_data_block {
 struct ar9170_dma_memory {
        struct dma_desc                 terminator[AR9170_TERMINATOR_NUMBER];
        struct dma_desc                 block[AR9170_BLOCK_NUMBER];
-       struct ar9170_data_block        data[AR9170_BLOCK_NUMBER] __attribute__((aligned(BLOCK_ALIGNMENT)));
-       struct carl9170_sram_reserved   reserved __attribute__((aligned(BLOCK_ALIGNMENT)));
+       struct ar9170_data_block        data[AR9170_BLOCK_NUMBER] __aligned(BLOCK_ALIGNMENT);
+       struct carl9170_sram_reserved   reserved __aligned(BLOCK_ALIGNMENT);
 };
 
 extern struct ar9170_dma_memory dma_mem;
@@ -223,8 +223,11 @@ void dma_init_descriptors(void);
 void dma_reclaim(struct dma_queue *q, struct dma_desc *desc);
 void dma_put(struct dma_queue *q, struct dma_desc *desc);
 void dma_queue_reclaim(struct dma_queue *dst, struct dma_queue *src);
-void queue_dump(void);
-void wlan_txq_hangfix(const unsigned int queue);
+
+static inline __inline bool is_terminator(struct dma_queue *q, struct dma_desc *desc)
+{
+       return q->terminator == desc;
+}
 
 static inline __inline bool queue_empty(struct dma_queue *q)
 {