Browse Source

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>
Vasanthakumar Thiagarajan 14 years ago
parent
commit
fcb820589f

+ 2 - 2
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) {

+ 2 - 0
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);

+ 3 - 3
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

+ 0 - 1
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;
 };