X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Finclude%2Fcarl9170.h;h=b57993d2d7e70abafc582aa86f64fee80564416e;hb=6476369c2c6d4ba487408cb5daff8df0480d6b4a;hp=c85a4f31c529ce737e7da8fdefe284ae5196b65e;hpb=1dbab55a460484fd655c44c99fc192b9e3702485;p=carl9170fw.git diff --git a/carlfw/include/carl9170.h b/carlfw/include/carl9170.h index c85a4f3..b57993d 100644 --- a/carlfw/include/carl9170.h +++ b/carlfw/include/carl9170.h @@ -63,6 +63,12 @@ enum carl9170_mac_reset_state { CARL9170_MAC_RESET_FORCE, }; +enum carl9170_suspend_mode { + CARL9170_HOST_AWAKE = 0, + CARL9170_HOST_SUSPENDED, + CARL9170_AWAKE_HOST, +}; + /* * This platform - being an odd 32-bit architecture - prefers to * have 32-Bit variables. @@ -70,12 +76,13 @@ enum carl9170_mac_reset_state { 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 */ unsigned int watchdog_enable; unsigned int reboot; + unsigned int suspend_mode; struct { /* Host Interface DMA queues */ @@ -97,16 +104,27 @@ struct firmware_context_struct { /* 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 */ @@ -128,7 +146,8 @@ struct firmware_context_struct { struct { unsigned int config, interface_setting, - alternate_interface_setting; + alternate_interface_setting, + device_feature; enum carl9170_ep0_action ep0_action; void *ep0_txrx_buffer; @@ -157,9 +176,6 @@ struct firmware_context_struct { 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 {