projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ath10k: rename board_data in struct ath10k
[cascardo/linux.git]
/
drivers
/
net
/
wireless
/
ath
/
ath10k
/
core.h
diff --git
a/drivers/net/wireless/ath/ath10k/core.h
b/drivers/net/wireless/ath/ath10k/core.h
index
c2b6a76
..
90d9399
100644
(file)
--- a/
drivers/net/wireless/ath/ath10k/core.h
+++ b/
drivers/net/wireless/ath/ath10k/core.h
@@
-43,27
+43,23
@@
/* 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;
- u16 msdu_id;
u8 tid;
bool is_offchan;
u8 tid;
bool is_offchan;
- bool is_conf;
- bool discard;
- bool no_ack;
- u8 refcount;
- struct sk_buff *txfrag;
- struct sk_buff *msdu;
- } __packed htt;
- /* 4 bytes left on 64bit arch */
+ u8 frag_len;
+ u8 pad_len;
+ } __packed htt;
} __packed;
static inline struct ath10k_skb_cb *ATH10K_SKB_CB(struct sk_buff *skb)
} __packed;
static inline struct ath10k_skb_cb *ATH10K_SKB_CB(struct sk_buff *skb)
@@
-108,14
+104,26
@@
struct ath10k_bmi {
bool done_sent;
};
bool done_sent;
};
+#define ATH10K_MAX_MEM_REQS 16
+
+struct ath10k_mem_chunk {
+ void *vaddr;
+ dma_addr_t paddr;
+ u32 len;
+ u32 req_id;
+};
+
struct ath10k_wmi {
enum ath10k_htc_ep_id eid;
struct completion service_ready;
struct completion unified_ready;
wait_queue_head_t tx_credits_wq;
struct ath10k_wmi {
enum ath10k_htc_ep_id eid;
struct completion service_ready;
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;
-
struct sk_buff_head wmi_event_list
;
- struct
work_struct wmi_event_work
;
+
u32 num_mem_chunks
;
+ struct
ath10k_mem_chunk mem_chunks[ATH10K_MAX_MEM_REQS]
;
};
struct ath10k_peer_stat {
};
struct ath10k_peer_stat {
@@
-277,6
+285,12
@@
enum ath10k_fw_features {
/* wmi_mgmt_rx_hdr contains extra RSSI information */
ATH10K_FW_FEATURE_EXT_WMI_MGMT_RX = 0,
/* wmi_mgmt_rx_hdr contains extra RSSI information */
ATH10K_FW_FEATURE_EXT_WMI_MGMT_RX = 0,
+ /* 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,
};
@@
-333,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;
@@
-386,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;