aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/wpi
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2018-01-02 00:07:28 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2018-01-02 00:07:28 +0000
commit9fbe631a1ad7f8a1a2f45645d9c8dd50c2a8bb67 (patch)
treea5d7faed2a65fbf7d4faeb3ab70921425993d533 /sys/dev/wpi
parentcb1101afd7dcab548680a142d4a4b375a5a39b08 (diff)
downloadsrc-9fbe631a1ad7f8a1a2f45645d9c8dd50c2a8bb67.tar.gz
src-9fbe631a1ad7f8a1a2f45645d9c8dd50c2a8bb67.zip
[net80211] convert all of the WME use over to a temporary copy of WME info.
This removes the direct WME info access in the ieee80211com struct and instead provides a method of fetching the data. Right now it's a no-op but eventually it'll turn into a per-VAP method for drivers that support it (eg iwn, iwm, upcoming ath10k work) as things like p2p support require this kind of behaviour. Tested: * ath(4), STA and AP mode TODO: * yes, this is slightly stack size-y, but it is an important first step to get drivers migrated over to a sensible WME API. A lot of per-phy things need to be converted to per-VAP before P2P, 11ac firmware, etc stuff shows up.
Notes
Notes: svn path=/head/; revision=327479
Diffstat (limited to 'sys/dev/wpi')
-rw-r--r--sys/dev/wpi/if_wpi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/wpi/if_wpi.c b/sys/dev/wpi/if_wpi.c
index b4378d6eff45..b1198c96bbcf 100644
--- a/sys/dev/wpi/if_wpi.c
+++ b/sys/dev/wpi/if_wpi.c
@@ -3521,16 +3521,18 @@ wpi_updateedca(struct ieee80211com *ic)
{
#define WPI_EXP2(x) ((1 << (x)) - 1) /* CWmin = 2^ECWmin - 1 */
struct wpi_softc *sc = ic->ic_softc;
+ struct chanAccParams chp;
struct wpi_edca_params cmd;
int aci, error;
+ ieee80211_wme_ic_getparams(ic, &chp);
+
DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_BEGIN, __func__);
memset(&cmd, 0, sizeof cmd);
cmd.flags = htole32(WPI_EDCA_UPDATE);
for (aci = 0; aci < WME_NUM_AC; aci++) {
- const struct wmeParams *ac =
- &ic->ic_wme.wme_chanParams.cap_wmeParams[aci];
+ const struct wmeParams *ac = &chp.cap_wmeParams[aci];
cmd.ac[aci].aifsn = ac->wmep_aifsn;
cmd.ac[aci].cwmin = htole16(WPI_EXP2(ac->wmep_logcwmin));
cmd.ac[aci].cwmax = htole16(WPI_EXP2(ac->wmep_logcwmax));