summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan2011-07-18 10:53:31 +0200
committerKalle Valo2011-08-09 18:45:21 +0200
commitfcb820589f61592d47e8dbe707993bc923000021 (patch)
treef8619a1e7b20c4e46ad76d4013cfd428df1be520
parentath6kl: Bypass reading irq status based on chk_irq_status_cnt (diff)
downloadkernel-qcow2-linux-fcb820589f61592d47e8dbe707993bc923000021.tar.gz
kernel-qcow2-linux-fcb820589f61592d47e8dbe707993bc923000021.tar.xz
kernel-qcow2-linux-fcb820589f61592d47e8dbe707993bc923000021.zip
ath6kl: Move chk_irq_status_cnt from ath6kl_device to htc_target
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
-rw-r--r--drivers/net/wireless/ath/ath6kl/htc.c4
-rw-r--r--drivers/net/wireless/ath/ath6kl/htc.h2
-rw-r--r--drivers/net/wireless/ath/ath6kl/htc_hif.c6
-rw-r--r--drivers/net/wireless/ath/ath6kl/htc_hif.h1
4 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/htc.c b/drivers/net/wireless/ath/ath6kl/htc.c
index ea87a19cda99..836797947805 100644
--- a/drivers/net/wireless/ath/ath6kl/htc.c
+++ b/drivers/net/wireless/ath/ath6kl/htc.c
@@ -1774,7 +1774,7 @@ int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[],
* A recv bundle was detected, force IRQ status
* re-check again
*/
- target->dev->chk_irq_status_cnt = 1;
+ target->chk_irq_status_cnt = 1;
n_fetched += get_queue_depth(&rx_pktq);
@@ -1799,7 +1799,7 @@ int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[],
* before leaving IRQ processing, this can net better
* performance in high throughput situations.
*/
- target->dev->chk_irq_status_cnt = 1;
+ target->chk_irq_status_cnt = 1;
}
if (status) {
diff --git a/drivers/net/wireless/ath/ath6kl/htc.h b/drivers/net/wireless/ath/ath6kl/htc.h
index bf9c72569887..d844d36e40cf 100644
--- a/drivers/net/wireless/ath/ath6kl/htc.h
+++ b/drivers/net/wireless/ath/ath6kl/htc.h
@@ -536,6 +536,8 @@ struct htc_target {
int max_scat_entries;
int max_xfer_szper_scatreq;
+
+ int chk_irq_status_cnt;
};
void *htc_create(struct ath6kl *ar);
diff --git a/drivers/net/wireless/ath/ath6kl/htc_hif.c b/drivers/net/wireless/ath/ath6kl/htc_hif.c
index 7ab40c1d3157..5d397b5c5efb 100644
--- a/drivers/net/wireless/ath/ath6kl/htc_hif.c
+++ b/drivers/net/wireless/ath/ath6kl/htc_hif.c
@@ -426,7 +426,7 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
* HTC could not pull any messages out due to lack
* of resources.
*/
- dev->chk_irq_status_cnt = 0;
+ dev->htc_cnxt->chk_irq_status_cnt = 0;
}
/* now handle the rest of them */
@@ -469,7 +469,7 @@ out:
ath6kl_dbg(ATH6KL_DBG_IRQ,
"bypassing irq status re-check, forcing done\n");
- if (!dev->chk_irq_status_cnt)
+ if (!dev->htc_cnxt->chk_irq_status_cnt)
*done = true;
ath6kl_dbg(ATH6KL_DBG_IRQ,
@@ -489,7 +489,7 @@ int ath6kldev_intr_bh_handler(struct ath6kl *ar)
* Reset counter used to flag a re-scan of IRQ status registers on
* the target.
*/
- dev->chk_irq_status_cnt = 0;
+ dev->htc_cnxt->chk_irq_status_cnt = 0;
/*
* IRQ processing is synchronous, interrupt status registers can be
diff --git a/drivers/net/wireless/ath/ath6kl/htc_hif.h b/drivers/net/wireless/ath/ath6kl/htc_hif.h
index 47f086c5bc3c..498701f25ae5 100644
--- a/drivers/net/wireless/ath/ath6kl/htc_hif.h
+++ b/drivers/net/wireless/ath/ath6kl/htc_hif.h
@@ -80,7 +80,6 @@ struct ath6kl_device {
struct ath6kl_irq_enable_reg irq_en_reg;
u8 pad3[A_CACHE_LINE_PAD];
struct htc_target *htc_cnxt;
- int chk_irq_status_cnt;
struct ath6kl *ar;
};