ath10k: rename board_data in struct ath10k
[cascardo/linux.git] / drivers / net / wireless / ath / ath10k / core.h
index e2a2658..90d9399 100644 (file)
 /* Antenna noise floor */
 #define ATH10K_DEFAULT_NOISE_FLOOR -95
 
 /* Antenna noise floor */
 #define ATH10K_DEFAULT_NOISE_FLOOR -95
 
+#define ATH10K_MAX_NUM_MGMT_PENDING 16
+
 struct ath10k;
 
 struct ath10k_skb_cb {
        dma_addr_t paddr;
        bool is_mapped;
        bool is_aborted;
 struct ath10k;
 
 struct ath10k_skb_cb {
        dma_addr_t paddr;
        bool is_mapped;
        bool is_aborted;
+       u8 vdev_id;
 
        struct {
 
        struct {
-               u8 vdev_id;
                u8 tid;
                bool is_offchan;
 
                u8 tid;
                bool is_offchan;
 
@@ -117,6 +119,8 @@ struct ath10k_wmi {
        struct completion unified_ready;
        wait_queue_head_t tx_credits_wq;
        struct wmi_cmd_map *cmd;
        struct completion unified_ready;
        wait_queue_head_t tx_credits_wq;
        struct wmi_cmd_map *cmd;
+       struct wmi_vdev_param_map *vdev_param;
+       struct wmi_pdev_param_map *pdev_param;
 
        u32 num_mem_chunks;
        struct ath10k_mem_chunk mem_chunks[ATH10K_MAX_MEM_REQS];
 
        u32 num_mem_chunks;
        struct ath10k_mem_chunk mem_chunks[ATH10K_MAX_MEM_REQS];
@@ -284,6 +288,9 @@ enum ath10k_fw_features {
        /* firmware from 10X branch */
        ATH10K_FW_FEATURE_WMI_10X = 1,
 
        /* firmware from 10X branch */
        ATH10K_FW_FEATURE_WMI_10X = 1,
 
+       /* firmware support tx frame management over WMI, otherwise it's HTT */
+       ATH10K_FW_FEATURE_HAS_WMI_MGMT_TX = 2,
+
        /* keep last */
        ATH10K_FW_FEATURE_COUNT,
 };
        /* keep last */
        ATH10K_FW_FEATURE_COUNT,
 };
@@ -340,7 +347,7 @@ struct ath10k {
                } fw;
        } hw_params;
 
                } fw;
        } hw_params;
 
-       const struct firmware *board_data;
+       const struct firmware *board;
        const struct firmware *otp;
        const struct firmware *firmware;
 
        const struct firmware *otp;
        const struct firmware *firmware;
 
@@ -393,6 +400,9 @@ struct ath10k {
        struct completion offchan_tx_completed;
        struct sk_buff *offchan_tx_skb;
 
        struct completion offchan_tx_completed;
        struct sk_buff *offchan_tx_skb;
 
+       struct work_struct wmi_mgmt_tx_work;
+       struct sk_buff_head wmi_mgmt_tx_queue;
+
        enum ath10k_state state;
 
        struct work_struct restart_work;
        enum ath10k_state state;
 
        struct work_struct restart_work;