svn commit: r318226 - head/sys/dev/iwm
Adrian Chadd
adrian at FreeBSD.org
Fri May 12 06:30:08 UTC 2017
Author: adrian
Date: Fri May 12 06:30:06 2017
New Revision: 318226
URL: https://svnweb.freebsd.org/changeset/base/318226
Log:
[iwm] Switch arguments from iwm_node* to iwm_vap* in if_iwm_power.c.
* Power management handling is per-vap, not per-node, so we should pass
the iwm_vap in these arguments.
Obtained from: dragonflybsd.git 62a4e7957a736b4de38938b02fa7eb9b45bc5d0d
Modified:
head/sys/dev/iwm/if_iwm.c
head/sys/dev/iwm/if_iwm_power.c
head/sys/dev/iwm/if_iwm_power.h
Modified: head/sys/dev/iwm/if_iwm.c
==============================================================================
--- head/sys/dev/iwm/if_iwm.c Fri May 12 06:21:03 2017 (r318225)
+++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:30:06 2017 (r318226)
@@ -4462,7 +4462,7 @@ iwm_newstate(struct ieee80211vap *vap, e
"%s: failed to update MAC: %d\n", __func__, error);
}
- iwm_mvm_enable_beacon_filter(sc, in);
+ iwm_mvm_enable_beacon_filter(sc, ivp);
iwm_mvm_power_update_mac(sc);
iwm_mvm_update_quotas(sc, ivp);
iwm_setrates(sc, in);
Modified: head/sys/dev/iwm/if_iwm_power.c
==============================================================================
--- head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:21:03 2017 (r318225)
+++ head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:30:06 2017 (r318226)
@@ -201,7 +201,7 @@ iwm_mvm_beacon_filter_send_cmd(struct iw
static void
iwm_mvm_beacon_filter_set_cqm_params(struct iwm_softc *sc,
- struct iwm_node *in, struct iwm_beacon_filter_cmd *cmd)
+ struct iwm_vap *ivp, struct iwm_beacon_filter_cmd *cmd)
{
cmd->ba_enable_beacon_abort = htole32(sc->sc_bf.ba_enabled);
}
@@ -278,15 +278,14 @@ iwm_mvm_power_config_skip_dtim(struct iw
}
static void
-iwm_mvm_power_build_cmd(struct iwm_softc *sc, struct iwm_node *in,
+iwm_mvm_power_build_cmd(struct iwm_softc *sc, struct iwm_vap *ivp,
struct iwm_mac_power_cmd *cmd)
{
- struct ieee80211_node *ni = &in->in_ni;
+ struct ieee80211_node *ni = ivp->iv_vap.iv_bss;
int dtimper, dtimper_msec;
int keep_alive;
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps);
- struct iwm_vap *ivp = IWM_VAP(vap);
cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(ivp->id,
ivp->color));
@@ -319,11 +318,11 @@ iwm_mvm_power_build_cmd(struct iwm_softc
}
static int
-iwm_mvm_power_send_cmd(struct iwm_softc *sc, struct iwm_node *in)
+iwm_mvm_power_send_cmd(struct iwm_softc *sc, struct iwm_vap *ivp)
{
struct iwm_mac_power_cmd cmd = {};
- iwm_mvm_power_build_cmd(sc, in, &cmd);
+ iwm_mvm_power_build_cmd(sc, ivp, &cmd);
iwm_mvm_power_log(sc, &cmd);
return iwm_mvm_send_cmd_pdu(sc, IWM_MAC_PM_POWER_TABLE, 0,
@@ -331,12 +330,12 @@ iwm_mvm_power_send_cmd(struct iwm_softc
}
static int
-_iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_node *in,
+_iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_vap *ivp,
struct iwm_beacon_filter_cmd *cmd)
{
int ret;
- iwm_mvm_beacon_filter_set_cqm_params(sc, in, cmd);
+ iwm_mvm_beacon_filter_set_cqm_params(sc, ivp, cmd);
ret = iwm_mvm_beacon_filter_send_cmd(sc, cmd);
if (!ret)
@@ -346,14 +345,14 @@ _iwm_mvm_enable_beacon_filter(struct iwm
}
int
-iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_node *in)
+iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_vap *ivp)
{
struct iwm_beacon_filter_cmd cmd = {
IWM_BF_CMD_CONFIG_DEFAULTS,
.bf_enable_beacon_filter = htole32(1),
};
- return _iwm_mvm_enable_beacon_filter(sc, in, &cmd);
+ return _iwm_mvm_enable_beacon_filter(sc, ivp, &cmd);
}
int
@@ -398,7 +397,7 @@ iwm_mvm_power_set_ps(struct iwm_softc *s
}
static int
-iwm_mvm_power_set_ba(struct iwm_softc *sc, struct iwm_node *in)
+iwm_mvm_power_set_ba(struct iwm_softc *sc, struct iwm_vap *ivp)
{
struct iwm_beacon_filter_cmd cmd = {
IWM_BF_CMD_CONFIG_DEFAULTS,
@@ -410,7 +409,7 @@ iwm_mvm_power_set_ba(struct iwm_softc *s
sc->sc_bf.ba_enabled = !sc->sc_ps_disabled;
- return _iwm_mvm_enable_beacon_filter(sc, in, &cmd);
+ return _iwm_mvm_enable_beacon_filter(sc, ivp, &cmd);
}
int
@@ -424,7 +423,7 @@ iwm_mvm_power_update_ps(struct iwm_softc
return ret;
if (vap != NULL)
- return iwm_mvm_power_set_ba(sc, IWM_NODE(vap->iv_bss));
+ return iwm_mvm_power_set_ba(sc, IWM_VAP(vap));
return 0;
}
@@ -440,13 +439,13 @@ iwm_mvm_power_update_mac(struct iwm_soft
return ret;
if (vap != NULL) {
- ret = iwm_mvm_power_send_cmd(sc, IWM_NODE(vap->iv_bss));
+ ret = iwm_mvm_power_send_cmd(sc, IWM_VAP(vap));
if (ret)
return ret;
}
if (vap != NULL)
- return iwm_mvm_power_set_ba(sc, IWM_NODE(vap->iv_bss));
+ return iwm_mvm_power_set_ba(sc, IWM_VAP(vap));
return 0;
}
Modified: head/sys/dev/iwm/if_iwm_power.h
==============================================================================
--- head/sys/dev/iwm/if_iwm_power.h Fri May 12 06:21:03 2017 (r318225)
+++ head/sys/dev/iwm/if_iwm_power.h Fri May 12 06:30:06 2017 (r318226)
@@ -94,7 +94,7 @@ extern int iwm_mvm_power_update_device(s
extern int iwm_mvm_power_update_mac(struct iwm_softc *sc);
extern int iwm_mvm_power_update_ps(struct iwm_softc *sc);
extern int iwm_mvm_enable_beacon_filter(struct iwm_softc *sc,
- struct iwm_node *in);
+ struct iwm_vap *ivp);
extern int iwm_mvm_disable_beacon_filter(struct iwm_softc *sc);
#endif /* __IF_IWM_POWER_H__ */
More information about the svn-src-head
mailing list