Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F107105912
D47979.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D47979.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
@@ -232,6 +232,7 @@
| IEEE80211_C_WME /* 802.11e */
| IEEE80211_C_SWAMSDUTX /* Do software A-MSDU TX */
| IEEE80211_C_FF /* Atheros fast-frames */
+ | IEEE80211_C_TXPMGT /* TX power control */
;
if (sc->sc_hwcrypto != RTWN_CRYPTO_SW) {
@@ -696,6 +697,14 @@
case IEEE80211_IOC_LDPC:
error = 0;
break;
+ case IEEE80211_IOC_TXPOWER:
+ {
+ struct rtwn_softc *sc = vap->iv_ic->ic_softc;
+ RTWN_LOCK(sc);
+ error = rtwn_set_tx_power(sc, vap);
+ RTWN_UNLOCK(sc);
+ }
+ break;
default:
error = ENETRESET;
break;
diff --git a/sys/dev/rtwn/if_rtwn_nop.h b/sys/dev/rtwn/if_rtwn_nop.h
--- a/sys/dev/rtwn/if_rtwn_nop.h
+++ b/sys/dev/rtwn/if_rtwn_nop.h
@@ -54,6 +54,12 @@
{
}
+static __inline int
+rtwn_nop_int_softc_vap(struct rtwn_softc *sc, struct ieee80211vap *vap)
+{
+ return (0);
+}
+
static __inline void
rtwn_nop_softc_uint8_int(struct rtwn_softc *sc, uint8_t *buf, int len)
{
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
@@ -366,6 +366,8 @@
void (*sc_init_antsel)(struct rtwn_softc *);
void (*sc_post_init)(struct rtwn_softc *);
int (*sc_init_bcnq1_boundary)(struct rtwn_softc *);
+ int (*sc_set_tx_power)(struct rtwn_softc *,
+ struct ieee80211vap *);
const uint8_t *chan_list_5ghz[3];
int chan_num_5ghz[3];
@@ -590,6 +592,8 @@
(((_sc)->sc_post_init)((_sc)))
#define rtwn_init_bcnq1_boundary(_sc) \
(((_sc)->sc_init_bcnq1_boundary)((_sc)))
+#define rtwn_set_tx_power(_sc, _vap) \
+ (((_sc)->sc_set_tx_power)((_sc), (_vap)))
/*
* Methods to access subfields in registers.
diff --git a/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c b/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c
--- a/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c
+++ b/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c
@@ -191,6 +191,7 @@
sc->sc_init_antsel = rtwn_nop_softc;
sc->sc_post_init = r88ee_post_init;
sc->sc_init_bcnq1_boundary = rtwn_nop_int_softc;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->mac_prog = &rtl8188e_mac[0];
sc->mac_size = nitems(rtl8188e_mac);
diff --git a/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c b/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c
--- a/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c
+++ b/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c
@@ -184,6 +184,7 @@
sc->sc_init_antsel = rtwn_nop_softc;
sc->sc_post_init = r88eu_post_init;
sc->sc_init_bcnq1_boundary = rtwn_nop_int_softc;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->mac_prog = &rtl8188e_mac[0];
sc->mac_size = nitems(rtl8188e_mac);
diff --git a/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c b/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c
--- a/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c
+++ b/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c
@@ -221,6 +221,7 @@
sc->sc_init_antsel = rtwn_nop_softc;
sc->sc_post_init = r92ce_post_init;
sc->sc_init_bcnq1_boundary = rtwn_nop_int_softc;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->mac_prog = &rtl8192ce_mac[0];
sc->mac_size = nitems(rtl8192ce_mac);
diff --git a/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c b/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c
--- a/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c
+++ b/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c
@@ -213,6 +213,7 @@
sc->sc_init_antsel = r92c_init_antsel;
sc->sc_post_init = r92cu_post_init;
sc->sc_init_bcnq1_boundary = rtwn_nop_int_softc;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->mac_prog = &rtl8192cu_mac[0];
sc->mac_size = nitems(rtl8192cu_mac);
diff --git a/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c b/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c
--- a/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c
+++ b/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c
@@ -164,6 +164,7 @@
sc->sc_init_antsel = rtwn_nop_softc;
sc->sc_post_init = r92eu_post_init;
sc->sc_init_bcnq1_boundary = rtwn_nop_int_softc;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->mac_prog = &rtl8192eu_mac[0];
sc->mac_size = nitems(rtl8192eu_mac);
diff --git a/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c b/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c
--- a/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c
+++ b/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c
@@ -251,6 +251,7 @@
sc->sc_init_antsel = r12a_init_antsel;
sc->sc_post_init = r12au_post_init;
sc->sc_init_bcnq1_boundary = rtwn_nop_int_softc;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->chan_list_5ghz[0] = r12a_chan_5ghz_0;
sc->chan_list_5ghz[1] = r12a_chan_5ghz_1;
diff --git a/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c b/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c
--- a/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c
+++ b/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c
@@ -237,6 +237,7 @@
sc->sc_init_antsel = r12a_init_antsel;
sc->sc_post_init = r12au_post_init;
sc->sc_init_bcnq1_boundary = r21a_init_bcnq1_boundary;
+ sc->sc_set_tx_power = rtwn_nop_int_softc_vap;
sc->chan_list_5ghz[0] = r12a_chan_5ghz_0;
sc->chan_list_5ghz[1] = r12a_chan_5ghz_1;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jan 11, 5:03 AM (18 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15750479
Default Alt Text
D47979.diff (4 KB)
Attached To
Mode
D47979: rtwn: add APIs for setting transmit power
Attached
Detach File
Event Timeline
Log In to Comment