Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F177368212
D59137.1794213849.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
5 KB
Referenced Files
None
Subscribers
None
D59137.1794213849.diff
View Options
diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c
--- a/sys/dev/rtwn/if_rtwn.c
+++ b/sys/dev/rtwn/if_rtwn.c
@@ -1511,7 +1511,6 @@
if (res != 0) \
return (EIO); \
} while(0)
- uint16_t reg;
uint8_t tx_boundary;
int error;
@@ -1553,9 +1552,7 @@
/* Set queue to USB pipe mapping. */
/* Note: PCIe devices are using some magic number here. */
- reg = rtwn_get_qmap(sc);
- RTWN_CHK(rtwn_setbits_2(sc, R92C_TRXDMA_CTRL,
- R92C_TRXDMA_CTRL_QMAP_M, reg));
+ RTWN_CHK(rtwn_set_qmap(sc));
/* Configure Tx/Rx DMA (PCIe). */
rtwn_set_desc_addr(sc);
diff --git a/sys/dev/rtwn/if_rtwnvar.h b/sys/dev/rtwn/if_rtwnvar.h
--- a/sys/dev/rtwn/if_rtwnvar.h
+++ b/sys/dev/rtwn/if_rtwnvar.h
@@ -279,7 +279,7 @@
void (*sc_abort_xfers)(struct rtwn_softc *);
int (*sc_fw_write_block)(struct rtwn_softc *,
const uint8_t *, uint16_t, int);
- uint16_t (*sc_get_qmap)(struct rtwn_softc *);
+ int (*sc_set_qmap)(struct rtwn_softc *);
void (*sc_set_desc_addr)(struct rtwn_softc *);
void (*sc_drop_incorrect_tx)(struct rtwn_softc *);
void (*sc_beacon_update_begin)(struct rtwn_softc *,
@@ -464,8 +464,8 @@
(((_sc)->sc_abort_xfers)((_sc)))
#define rtwn_fw_write_block(_sc, _buf, _reg, _len) \
(((_sc)->sc_fw_write_block)((_sc), (_buf), (_reg), (_len)))
-#define rtwn_get_qmap(_sc) \
- (((_sc)->sc_get_qmap)((_sc)))
+#define rtwn_set_qmap(_sc) \
+ (((_sc)->sc_set_qmap)((_sc)))
#define rtwn_set_desc_addr(_sc) \
(((_sc)->sc_set_desc_addr)((_sc)))
#define rtwn_drop_incorrect_tx(_sc) \
diff --git a/sys/dev/rtwn/pci/rtwn_pci_attach.c b/sys/dev/rtwn/pci/rtwn_pci_attach.c
--- a/sys/dev/rtwn/pci/rtwn_pci_attach.c
+++ b/sys/dev/rtwn/pci/rtwn_pci_attach.c
@@ -80,7 +80,7 @@
struct ieee80211vap *);
static int rtwn_pci_fw_write_block(struct rtwn_softc *,
const uint8_t *, uint16_t, int);
-static uint16_t rtwn_pci_get_qmap(struct rtwn_softc *);
+static int rtwn_pci_set_qmap(struct rtwn_softc *);
static void rtwn_pci_set_desc_addr(struct rtwn_softc *);
static void rtwn_pci_beacon_update_begin(struct rtwn_softc *,
struct ieee80211vap *);
@@ -499,14 +499,15 @@
return (0);
}
-static uint16_t
-rtwn_pci_get_qmap(struct rtwn_softc *sc)
+static int
+rtwn_pci_set_qmap(struct rtwn_softc *sc)
{
struct rtwn_pci_softc *pc = RTWN_PCI_SOFTC(sc);
KASSERT(pc->pc_qmap != 0, ("%s: qmap is not set!\n", __func__));
- return (pc->pc_qmap);
+ return (rtwn_setbits_2(sc, R92C_TRXDMA_CTRL,
+ R92C_TRXDMA_CTRL_QMAP_M, pc->pc_qmap));
}
static void
@@ -584,7 +585,7 @@
sc->sc_reset_lists = rtwn_pci_reset_lists;
sc->sc_abort_xfers = rtwn_nop_softc;
sc->sc_fw_write_block = rtwn_pci_fw_write_block;
- sc->sc_get_qmap = rtwn_pci_get_qmap;
+ sc->sc_set_qmap = rtwn_pci_set_qmap;
sc->sc_set_desc_addr = rtwn_pci_set_desc_addr;
sc->sc_drop_incorrect_tx = rtwn_nop_softc;
sc->sc_beacon_update_begin = rtwn_pci_beacon_update_begin;
diff --git a/sys/dev/rtwn/rtl8192c/pci/r92ce_reg.h b/sys/dev/rtwn/rtl8192c/pci/r92ce_reg.h
--- a/sys/dev/rtwn/rtl8192c/pci/r92ce_reg.h
+++ b/sys/dev/rtwn/rtl8192c/pci/r92ce_reg.h
@@ -60,6 +60,9 @@
#define R92C_LEDCFG2_EN 0x60
#define R92C_LEDCFG2_DIS 0x68
+/* Bits for R92C_TRXDMA_CTRL. */
+#define R92C_TRXDMA_CTRL_QMAP_M 0xfff0
+
/* Bits for R92C_HIMR. */
#define R92C_IMR_ROK 0x00000001 /* receive DMA OK */
#define R92C_IMR_VODOK 0x00000002 /* AC_VO DMA OK */
diff --git a/sys/dev/rtwn/rtl8192c/r92c_reg.h b/sys/dev/rtwn/rtl8192c/r92c_reg.h
--- a/sys/dev/rtwn/rtl8192c/r92c_reg.h
+++ b/sys/dev/rtwn/rtl8192c/r92c_reg.h
@@ -453,7 +453,6 @@
#define R92C_TRXDMA_CTRL_QUEUE_LOW 1
#define R92C_TRXDMA_CTRL_QUEUE_NORMAL 2
#define R92C_TRXDMA_CTRL_QUEUE_HIGH 3
-#define R92C_TRXDMA_CTRL_QMAP_M 0xfff0
/* Shortcuts. */
#define R92C_TRXDMA_CTRL_QMAP_3EP 0xf5b0
#define R92C_TRXDMA_CTRL_QMAP_HQ_LQ 0xf5f0
diff --git a/sys/dev/rtwn/rtl8192c/usb/r92cu_reg.h b/sys/dev/rtwn/rtl8192c/usb/r92cu_reg.h
--- a/sys/dev/rtwn/rtl8192c/usb/r92cu_reg.h
+++ b/sys/dev/rtwn/rtl8192c/usb/r92cu_reg.h
@@ -28,6 +28,9 @@
/* System Configuration. */
#define R92C_USB_SIE_INTF 0x0e0
+/* Bits for R92C_TRXDMA_CTRL. */
+#define R92C_TRXDMA_CTRL_QMAP_M 0xfff8
+
/*
* USB registers.
*/
diff --git a/sys/dev/rtwn/usb/rtwn_usb_attach.c b/sys/dev/rtwn/usb/rtwn_usb_attach.c
--- a/sys/dev/rtwn/usb/rtwn_usb_attach.c
+++ b/sys/dev/rtwn/usb/rtwn_usb_attach.c
@@ -348,7 +348,7 @@
sc->sc_reset_lists = rtwn_usb_reset_lists;
sc->sc_abort_xfers = rtwn_usb_abort_xfers;
sc->sc_fw_write_block = rtwn_usb_fw_write_block;
- sc->sc_get_qmap = rtwn_usb_get_qmap;
+ sc->sc_set_qmap = rtwn_usb_set_qmap;
sc->sc_set_desc_addr = rtwn_nop_softc;
sc->sc_drop_incorrect_tx = rtwn_usb_drop_incorrect_tx;
sc->sc_beacon_update_begin = rtwn_nop_softc_vap;
diff --git a/sys/dev/rtwn/usb/rtwn_usb_ep.h b/sys/dev/rtwn/usb/rtwn_usb_ep.h
--- a/sys/dev/rtwn/usb/rtwn_usb_ep.h
+++ b/sys/dev/rtwn/usb/rtwn_usb_ep.h
@@ -19,6 +19,6 @@
int rtwn_usb_setup_endpoints(struct rtwn_usb_softc *,
const uint8_t iface_index);
-uint16_t rtwn_usb_get_qmap(struct rtwn_softc *);
+int rtwn_usb_set_qmap(struct rtwn_softc *);
#endif /* IF_RTWN_EP_H */
diff --git a/sys/dev/rtwn/usb/rtwn_usb_ep.c b/sys/dev/rtwn/usb/rtwn_usb_ep.c
--- a/sys/dev/rtwn/usb/rtwn_usb_ep.c
+++ b/sys/dev/rtwn/usb/rtwn_usb_ep.c
@@ -251,17 +251,23 @@
return (0);
}
-uint16_t
-rtwn_usb_get_qmap(struct rtwn_softc *sc)
+int
+rtwn_usb_set_qmap(struct rtwn_softc *sc)
{
struct rtwn_usb_softc *uc = RTWN_USB_SOFTC(sc);
+ uint16_t val;
switch (uc->ntx) {
case 1:
- return (R92C_TRXDMA_CTRL_QMAP_HQ);
+ val = R92C_TRXDMA_CTRL_QMAP_HQ;
+ break;
case 2:
- return (R92C_TRXDMA_CTRL_QMAP_HQ_NQ);
+ val = R92C_TRXDMA_CTRL_QMAP_HQ_NQ;
+ break;
default:
- return (R92C_TRXDMA_CTRL_QMAP_3EP);
+ val = R92C_TRXDMA_CTRL_QMAP_3EP;
}
+
+ return (rtwn_setbits_2(sc, R92C_TRXDMA_CTRL,
+ R92C_TRXDMA_CTRL_QMAP_M, val));
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Nov 9, 8:44 AM (6 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41610204
Default Alt Text
D59137.1794213849.diff (5 KB)
Attached To
Mode
D59137: rtwn: correct TRXDMA_CTRL_QMAP mask for USB chips
Attached
Detach File
Event Timeline