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

Commit 8d60ee87 authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

ath10k: minimize coherent dma accesses



It doesn't make much sense to calculate the ring
size fill count because it already is memoized in
a separate variable.

Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 2f5280da
Loading
Loading
Loading
Loading
+4 −11
Original line number Original line Diff line number Diff line
@@ -225,12 +225,6 @@ static void ath10k_htt_rx_ring_refill_retry(unsigned long arg)
	ath10k_htt_rx_msdu_buff_replenish(htt);
	ath10k_htt_rx_msdu_buff_replenish(htt);
}
}


static unsigned ath10k_htt_rx_ring_elems(struct ath10k_htt *htt)
{
	return (__le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr) -
		htt->rx_ring.sw_rd_idx.msdu_payld) & htt->rx_ring.size_mask;
}

void ath10k_htt_rx_detach(struct ath10k_htt *htt)
void ath10k_htt_rx_detach(struct ath10k_htt *htt)
{
{
	int sw_rd_idx = htt->rx_ring.sw_rd_idx.msdu_payld;
	int sw_rd_idx = htt->rx_ring.sw_rd_idx.msdu_payld;
@@ -276,8 +270,10 @@ static inline struct sk_buff *ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)


	lockdep_assert_held(&htt->rx_ring.lock);
	lockdep_assert_held(&htt->rx_ring.lock);


	if (ath10k_htt_rx_ring_elems(htt) == 0)
	if (htt->rx_ring.fill_cnt == 0) {
		ath10k_warn("htt rx ring is empty!\n");
		ath10k_warn("tried to pop sk_buff from an empty rx ring\n");
		return NULL;
	}


	idx = htt->rx_ring.sw_rd_idx.msdu_payld;
	idx = htt->rx_ring.sw_rd_idx.msdu_payld;
	msdu = htt->rx_ring.netbufs_ring[idx];
	msdu = htt->rx_ring.netbufs_ring[idx];
@@ -312,9 +308,6 @@ static int ath10k_htt_rx_amsdu_pop(struct ath10k_htt *htt,


	lockdep_assert_held(&htt->rx_ring.lock);
	lockdep_assert_held(&htt->rx_ring.lock);


	if (ath10k_htt_rx_ring_elems(htt) == 0)
		ath10k_warn("htt rx ring is empty!\n");

	if (htt->rx_confused) {
	if (htt->rx_confused) {
		ath10k_warn("htt is confused. refusing rx\n");
		ath10k_warn("htt is confused. refusing rx\n");
		return 0;
		return 0;