Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fcb82058 authored by Vasanthakumar Thiagarajan's avatar Vasanthakumar Thiagarajan Committed by Kalle Valo
Browse files

ath6kl: Move chk_irq_status_cnt from ath6kl_device to htc_target

parent 7520ceb7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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 @@ static int proc_pending_irqs(struct ath6kl_device *dev, bool *done)
	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
Original line number Diff line number Diff line
@@ -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;
};