struct firmware_context_struct {
/* timer / clocks */
- unsigned int bogoclock; /* supposed to be CPU clock in KHz */
+ unsigned int ticks_per_msec;
unsigned int counter; /* main() cycles */
/* misc */
/* Hardware DMA queue unstuck/fix detection */
unsigned int last_tx_desc_num[__AR9170_NUM_TX_QUEUES];
struct dma_desc *last_tx_desc[__AR9170_NUM_TX_QUEUES];
+ unsigned int mac_reset;
+ unsigned int soft_int;
+
+ /* rx filter */
+ unsigned int rx_filter;
+
+ /* rx statistics */
unsigned int rx_total;
unsigned int rx_overruns;
- unsigned int mac_reset;
+
+#ifdef CONFIG_CARL9170FW_TX_AMPDU
+ /* tx aggregate scheduling */
+ struct carl9170_tx_superframe *ampdu_prev[__AR9170_NUM_TX_QUEUES];
+#endif /* CONFIG_CARL9170FW_TX_AMPDU */
#ifdef CONFIG_CARL9170FW_CAB_QUEUE
/* CAB */
- struct dma_queue cab_queue;
- unsigned int cab_queue_len,
- cab_flush_time;
- enum carl9170_cab_trigger cab_flush_trigger;
+ struct dma_queue cab_queue[CARL9170_INTF_NUM];
+ unsigned int cab_queue_len[CARL9170_INTF_NUM];
+ unsigned int cab_flush_time;
+ enum carl9170_cab_trigger cab_flush_trigger[CARL9170_INTF_NUM];
#endif /* CONFIG_CARL9170FW_CAB_QUEUE */
/* tx status */
uint8_t put_buffer[CARL9170_MAX_CMD_PAYLOAD_LEN];
#endif /* CONFIG_CARL9170FW_DEBUG_USB */
-#ifdef CONFIG_CARL9170FW_USB_WATCHDOG
- struct carl9170_watchdog_cmd watchdog;
-#endif /* CONFIG CARL9170FW_USB_WATCHDOG */
} usb;
struct {