git: 05635ccc575b - main - iwm: add qenablemsk to track enabled TXQs

From: Adrian Chadd <adrian_at_FreeBSD.org>
Date: Fri, 16 Oct 2026 03:54:17 UTC
The branch main has been updated by adrian:

URL: https://cgit.FreeBSD.org/src/commit/?id=05635ccc575bcd395e3f2bf23dee7f91778f1c73

commit 05635ccc575bcd395e3f2bf23dee7f91778f1c73
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2026-10-16 03:52:57 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-10-16 03:52:58 +0000

    iwm: add qenablemsk to track enabled TXQs
    
    This isn't yet used by anything; it's a precursor to TX queue
    tracking needed for dynamically assigned TX aggregate queues.
    
    Tested:
    
    * 3160, 7260, 8260, 9260, STA mode
    
    Obtained from: OpenBSD a6e25c727a2214219715b51ba6af2221d7e0d674
    
    Differential Revision:  https://reviews.freebsd.org/D60286
---
 sys/dev/iwm/if_iwm.c    | 2 ++
 sys/dev/iwm/if_iwmvar.h | 1 +
 2 files changed, 3 insertions(+)

diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c
index e67aad2af7e4..ae00187d7819 100644
--- a/sys/dev/iwm/if_iwm.c
+++ b/sys/dev/iwm/if_iwm.c
@@ -1244,6 +1244,7 @@ iwm_reset_tx_ring(struct iwm_softc *sc, struct iwm_tx_ring *ring)
 	bus_dmamap_sync(ring->desc_dma.tag, ring->desc_dma.map,
 	    BUS_DMASYNC_PREWRITE);
 	sc->qfullmsk &= ~(1 << ring->qid);
+	sc->qenablemsk &= ~(1 << ring->qid);
 	ring->queued = 0;
 	ring->cur = 0;
 
@@ -1795,6 +1796,7 @@ iwm_enable_txq(struct iwm_softc *sc, int sta_id, int qid, int fifo)
 	IWM_DPRINTF(sc, IWM_DEBUG_XMIT, "%s: enabled txq %d FIFO %d\n",
 	    __func__, qid, fifo);
 
+	sc->qenablemsk |= (1 << qid);
 	return 0;
 }
 
diff --git a/sys/dev/iwm/if_iwmvar.h b/sys/dev/iwm/if_iwmvar.h
index 55a1ec427482..0d61aee37d8e 100644
--- a/sys/dev/iwm/if_iwmvar.h
+++ b/sys/dev/iwm/if_iwmvar.h
@@ -455,6 +455,7 @@ struct iwm_softc {
 	struct iwm_tx_ring	txq[IWM_MAX_QUEUES];
 	struct iwm_rx_ring	rxq;
 	int			qfullmsk;
+	int			qenablemsk;
 	int			cmdqid;
 
 	/* ICT table. */