Commit 2f5280da authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo

ath10k: remove pci completion list

One of the premises was to guarantee serialized
completion handling for upper layers
(HTC/WMI/HTT). Since quite some time now it is no
longer necessary.

The other premise was to batch up tx/rx
completions to take advantage of hot caches.
However frame tx/rx completion indications come in
on a single pipe already so they are already
batched up. More meaningful batching is done in
HTT itself.

This means PCI completion is no longer necessary
to keep around. It just wastes memory, cycles and
SLOC.
Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 45967089
This diff is collapsed.
...@@ -43,23 +43,6 @@ struct bmi_xfer { ...@@ -43,23 +43,6 @@ struct bmi_xfer {
u32 resp_len; u32 resp_len;
}; };
enum ath10k_pci_compl_state {
ATH10K_PCI_COMPL_FREE = 0,
ATH10K_PCI_COMPL_SEND,
ATH10K_PCI_COMPL_RECV,
};
struct ath10k_pci_compl {
struct list_head list;
enum ath10k_pci_compl_state state;
struct ath10k_ce_pipe *ce_state;
struct ath10k_pci_pipe *pipe_info;
struct sk_buff *skb;
unsigned int nbytes;
unsigned int transfer_id;
unsigned int flags;
};
/* /*
* PCI-specific Target state * PCI-specific Target state
* *
...@@ -175,9 +158,6 @@ struct ath10k_pci_pipe { ...@@ -175,9 +158,6 @@ struct ath10k_pci_pipe {
/* protects compl_free and num_send_allowed */ /* protects compl_free and num_send_allowed */
spinlock_t pipe_lock; spinlock_t pipe_lock;
/* List of free CE completion slots */
struct list_head compl_free;
struct ath10k_pci *ar_pci; struct ath10k_pci *ar_pci;
struct tasklet_struct intr; struct tasklet_struct intr;
}; };
...@@ -205,14 +185,6 @@ struct ath10k_pci { ...@@ -205,14 +185,6 @@ struct ath10k_pci {
atomic_t keep_awake_count; atomic_t keep_awake_count;
bool verified_awake; bool verified_awake;
/* List of CE completions to be processed */
struct list_head compl_process;
/* protects compl_processing and compl_process */
spinlock_t compl_lock;
bool compl_processing;
struct ath10k_pci_pipe pipe_info[CE_COUNT_MAX]; struct ath10k_pci_pipe pipe_info[CE_COUNT_MAX];
struct ath10k_hif_cb msg_callbacks_current; struct ath10k_hif_cb msg_callbacks_current;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment