All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw
@ 2022-01-10 22:30 Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 2/5] ath5k: remove unused ah_txq_isr_qcburn " Peter Seiderer
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Peter Seiderer @ 2022-01-10 22:30 UTC (permalink / raw)
  To: linux-wireless
  Cc: Jiri Slaby, Nick Kossifidis, Luis Chamberlain, Kalle Valo,
	David S . Miller, Jakub Kicinski, netdev, linux-kernel

Remove unused ah_txq_isr_qtrig member from struct ath5k_hw (set in
ath5k_hw_get_isr() but never used anywhere).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 drivers/net/wireless/ath/ath5k/ath5k.h | 1 -
 drivers/net/wireless/ath/ath5k/dma.c   | 5 +----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index 234ea939d316..db6ba433c05d 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -1398,7 +1398,6 @@ struct ath5k_hw {
 	u32			ah_txq_isr_txurn;
 	u32			ah_txq_isr_qcborn;
 	u32			ah_txq_isr_qcburn;
-	u32			ah_txq_isr_qtrig;
 
 	u32			*ah_rf_banks;
 	size_t			ah_rf_banks_size;
diff --git a/drivers/net/wireless/ath/ath5k/dma.c b/drivers/net/wireless/ath/ath5k/dma.c
index e6c52f7c26e7..78b87372da95 100644
--- a/drivers/net/wireless/ath/ath5k/dma.c
+++ b/drivers/net/wireless/ath/ath5k/dma.c
@@ -723,11 +723,8 @@ ath5k_hw_get_isr(struct ath5k_hw *ah, enum ath5k_int *interrupt_mask)
 		}
 
 		/* A queue got triggered */
-		if (unlikely(pisr & (AR5K_ISR_QTRIG))) {
+		if (unlikely(pisr & (AR5K_ISR_QTRIG)))
 			*interrupt_mask |= AR5K_INT_QTRIG;
-			ah->ah_txq_isr_qtrig |= AR5K_REG_MS(sisr4,
-						AR5K_SISR4_QTRIG);
-		}
 
 		data = pisr;
 	}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v1 2/5] ath5k: remove unused ah_txq_isr_qcburn member from struct ath5k_hw
  2022-01-10 22:30 [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Peter Seiderer
@ 2022-01-10 22:30 ` Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 3/5] ath5k: remove unused ah_txq_isr_qcborn " Peter Seiderer
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Seiderer @ 2022-01-10 22:30 UTC (permalink / raw)
  To: linux-wireless
  Cc: Jiri Slaby, Nick Kossifidis, Luis Chamberlain, Kalle Valo,
	David S . Miller, Jakub Kicinski, netdev, linux-kernel

Remove unused ah_txq_isr_qcburn member from struct ath5k_hw (set in
ath5k_hw_get_isr() but never used anywhere).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 drivers/net/wireless/ath/ath5k/ath5k.h | 1 -
 drivers/net/wireless/ath/ath5k/dma.c   | 5 +----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index db6ba433c05d..72ba36a04837 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -1397,7 +1397,6 @@ struct ath5k_hw {
 	u32			ah_txq_isr_txok_all;
 	u32			ah_txq_isr_txurn;
 	u32			ah_txq_isr_qcborn;
-	u32			ah_txq_isr_qcburn;
 
 	u32			*ah_rf_banks;
 	size_t			ah_rf_banks_size;
diff --git a/drivers/net/wireless/ath/ath5k/dma.c b/drivers/net/wireless/ath/ath5k/dma.c
index 78b87372da95..faea3262368f 100644
--- a/drivers/net/wireless/ath/ath5k/dma.c
+++ b/drivers/net/wireless/ath/ath5k/dma.c
@@ -716,11 +716,8 @@ ath5k_hw_get_isr(struct ath5k_hw *ah, enum ath5k_int *interrupt_mask)
 		}
 
 		/* A queue got CBR underrun */
-		if (unlikely(pisr & (AR5K_ISR_QCBRURN))) {
+		if (unlikely(pisr & (AR5K_ISR_QCBRURN)))
 			*interrupt_mask |= AR5K_INT_QCBRURN;
-			ah->ah_txq_isr_qcburn |= AR5K_REG_MS(sisr3,
-						AR5K_SISR3_QCBRURN);
-		}
 
 		/* A queue got triggered */
 		if (unlikely(pisr & (AR5K_ISR_QTRIG)))
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v1 3/5] ath5k: remove unused ah_txq_isr_qcborn member from struct ath5k_hw
  2022-01-10 22:30 [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 2/5] ath5k: remove unused ah_txq_isr_qcburn " Peter Seiderer
@ 2022-01-10 22:30 ` Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 4/5] ath5k: remove unused ah_txq_isr_txurn " Peter Seiderer
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Seiderer @ 2022-01-10 22:30 UTC (permalink / raw)
  To: linux-wireless
  Cc: Jiri Slaby, Nick Kossifidis, Luis Chamberlain, Kalle Valo,
	David S . Miller, Jakub Kicinski, netdev, linux-kernel

Remove unused ah_txq_isr_qcborn member from struct ath5k_hw (set in
ath5k_hw_get_isr() but never used anywhere).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 drivers/net/wireless/ath/ath5k/ath5k.h | 1 -
 drivers/net/wireless/ath/ath5k/dma.c   | 5 +----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index 72ba36a04837..ac3211b1eb0c 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -1396,7 +1396,6 @@ struct ath5k_hw {
 
 	u32			ah_txq_isr_txok_all;
 	u32			ah_txq_isr_txurn;
-	u32			ah_txq_isr_qcborn;
 
 	u32			*ah_rf_banks;
 	size_t			ah_rf_banks_size;
diff --git a/drivers/net/wireless/ath/ath5k/dma.c b/drivers/net/wireless/ath/ath5k/dma.c
index faea3262368f..0ee46f8118bb 100644
--- a/drivers/net/wireless/ath/ath5k/dma.c
+++ b/drivers/net/wireless/ath/ath5k/dma.c
@@ -709,11 +709,8 @@ ath5k_hw_get_isr(struct ath5k_hw *ah, enum ath5k_int *interrupt_mask)
 			*interrupt_mask |= AR5K_INT_BNR;
 
 		/* A queue got CBR overrun */
-		if (unlikely(pisr & (AR5K_ISR_QCBRORN))) {
+		if (unlikely(pisr & (AR5K_ISR_QCBRORN)))
 			*interrupt_mask |= AR5K_INT_QCBRORN;
-			ah->ah_txq_isr_qcborn |= AR5K_REG_MS(sisr3,
-						AR5K_SISR3_QCBRORN);
-		}
 
 		/* A queue got CBR underrun */
 		if (unlikely(pisr & (AR5K_ISR_QCBRURN)))
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v1 4/5] ath5k: remove unused ah_txq_isr_txurn member from struct ath5k_hw
  2022-01-10 22:30 [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 2/5] ath5k: remove unused ah_txq_isr_qcburn " Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 3/5] ath5k: remove unused ah_txq_isr_qcborn " Peter Seiderer
@ 2022-01-10 22:30 ` Peter Seiderer
  2022-01-10 22:30 ` [PATCH v1 5/5] ath5k: fix ah_txq_isr_txok_all setting Peter Seiderer
  2022-01-17 12:38 ` [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Kalle Valo
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Seiderer @ 2022-01-10 22:30 UTC (permalink / raw)
  To: linux-wireless
  Cc: Jiri Slaby, Nick Kossifidis, Luis Chamberlain, Kalle Valo,
	David S . Miller, Jakub Kicinski, netdev, linux-kernel

Remove unused ah_txq_isr_txurn member from struct ath5k_hw (set in
ath5k_hw_get_isr() but never used anywhere).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 drivers/net/wireless/ath/ath5k/ath5k.h | 1 -
 drivers/net/wireless/ath/ath5k/dma.c   | 7 -------
 2 files changed, 8 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index ac3211b1eb0c..f595204f493d 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -1395,7 +1395,6 @@ struct ath5k_hw {
 	u32			ah_txq_imr_nofrm;
 
 	u32			ah_txq_isr_txok_all;
-	u32			ah_txq_isr_txurn;
 
 	u32			*ah_rf_banks;
 	size_t			ah_rf_banks_size;
diff --git a/drivers/net/wireless/ath/ath5k/dma.c b/drivers/net/wireless/ath/ath5k/dma.c
index 0ee46f8118bb..2b135a6284a0 100644
--- a/drivers/net/wireless/ath/ath5k/dma.c
+++ b/drivers/net/wireless/ath/ath5k/dma.c
@@ -670,13 +670,6 @@ ath5k_hw_get_isr(struct ath5k_hw *ah, enum ath5k_int *interrupt_mask)
 			ah->ah_txq_isr_txok_all |= AR5K_REG_MS(sisr1,
 						AR5K_SISR1_QCU_TXEOL);
 
-		/* Currently this is not much useful since we treat
-		 * all queues the same way if we get a TXURN (update
-		 * tx trigger level) but we might need it later on*/
-		if (pisr & AR5K_ISR_TXURN)
-			ah->ah_txq_isr_txurn |= AR5K_REG_MS(sisr2,
-						AR5K_SISR2_QCU_TXURN);
-
 		/* Misc Beacon related interrupts */
 
 		/* For AR5211 */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v1 5/5] ath5k: fix ah_txq_isr_txok_all setting
  2022-01-10 22:30 [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Peter Seiderer
                   ` (2 preceding siblings ...)
  2022-01-10 22:30 ` [PATCH v1 4/5] ath5k: remove unused ah_txq_isr_txurn " Peter Seiderer
@ 2022-01-10 22:30 ` Peter Seiderer
  2022-01-17 12:38 ` [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Kalle Valo
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Seiderer @ 2022-01-10 22:30 UTC (permalink / raw)
  To: linux-wireless
  Cc: Jiri Slaby, Nick Kossifidis, Luis Chamberlain, Kalle Valo,
	David S . Miller, Jakub Kicinski, netdev, linux-kernel

The struct ath5k_hw member ah_txq_isr_txok_all is never reset/assigned
outside of ath5k_hw_get_isr() and with the used bitwise-or in the
interrupt handling accumulates all ever set interrupt flags.

Fix this by clearing ah_txq_isr_txok_all before assigning.

Patch tested with Senao NMP-8602 card

  Qualcomm Atheros AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] (rev 01)
  ath5k: phy6: Atheros AR5413 chip found (MAC: 0xa4, PHY: 0x61)

running IBSS mode against Atheros (ath9k) card using
ping and iperf traffic.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 drivers/net/wireless/ath/ath5k/dma.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/ath/ath5k/dma.c b/drivers/net/wireless/ath/ath5k/dma.c
index 2b135a6284a0..d9e376eb040e 100644
--- a/drivers/net/wireless/ath/ath5k/dma.c
+++ b/drivers/net/wireless/ath/ath5k/dma.c
@@ -650,6 +650,7 @@ ath5k_hw_get_isr(struct ath5k_hw *ah, enum ath5k_int *interrupt_mask)
 		 */
 		*interrupt_mask = (pisr & AR5K_INT_COMMON) & ah->ah_imr;
 
+		ah->ah_txq_isr_txok_all = 0;
 
 		/* We treat TXOK,TXDESC, TXERR and TXEOL
 		 * the same way (schedule the tx tasklet)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw
  2022-01-10 22:30 [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Peter Seiderer
                   ` (3 preceding siblings ...)
  2022-01-10 22:30 ` [PATCH v1 5/5] ath5k: fix ah_txq_isr_txok_all setting Peter Seiderer
@ 2022-01-17 12:38 ` Kalle Valo
  4 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2022-01-17 12:38 UTC (permalink / raw)
  To: Peter Seiderer
  Cc: linux-wireless, Jiri Slaby, Nick Kossifidis, Luis Chamberlain,
	David S . Miller, Jakub Kicinski, netdev, linux-kernel

Peter Seiderer <ps.report@gmx.net> wrote:

> Remove unused ah_txq_isr_qtrig member from struct ath5k_hw (set in
> ath5k_hw_get_isr() but never used anywhere).
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

5 patches applied to ath-next branch of ath.git, thanks.

5b747459477b ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw
bcc08e05041e ath5k: remove unused ah_txq_isr_qcburn member from struct ath5k_hw
0feb4052ad47 ath5k: remove unused ah_txq_isr_qcborn member from struct ath5k_hw
3296fe1a8339 ath5k: remove unused ah_txq_isr_txurn member from struct ath5k_hw
dff39ad93de8 ath5k: fix ah_txq_isr_txok_all setting

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20220110223021.17655-1-ps.report@gmx.net/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-17 12:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-10 22:30 [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Peter Seiderer
2022-01-10 22:30 ` [PATCH v1 2/5] ath5k: remove unused ah_txq_isr_qcburn " Peter Seiderer
2022-01-10 22:30 ` [PATCH v1 3/5] ath5k: remove unused ah_txq_isr_qcborn " Peter Seiderer
2022-01-10 22:30 ` [PATCH v1 4/5] ath5k: remove unused ah_txq_isr_txurn " Peter Seiderer
2022-01-10 22:30 ` [PATCH v1 5/5] ath5k: fix ah_txq_isr_txok_all setting Peter Seiderer
2022-01-17 12:38 ` [PATCH v1 1/5] ath5k: remove unused ah_txq_isr_qtrig member from struct ath5k_hw Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.