svn commit: r314687 - head/sys/dev/iwn
Adrian Chadd
adrian.chadd at gmail.com
Sun Mar 5 00:37:12 UTC 2017
hihi!
So the eventualy-ish attention is that if someone wanted to finish
p2p/tdls support they could use this function for either context. But
it don't think the feature was ever finished, because we don't have
p2p/tdls support yet.
Well, yet. It's coming. :)
-adrian
On 4 March 2017 at 15:07, Andriy Voskoboinyk <avos at freebsd.org> wrote:
> Author: avos
> Date: Sat Mar 4 23:07:54 2017
> New Revision: 314687
> URL: https://svnweb.freebsd.org/changeset/base/314687
>
> Log:
> iwn: drop 'channel' parameter from iwn*_set_txpower()
>
> For 4965 just extract 'is_chan_5ghz' flag from the RXON structure
> (like it was done in r281287); for others it was never used.
>
> Tested with Intel 6205, STA mode.
>
> Modified:
> head/sys/dev/iwn/if_iwn.c
> head/sys/dev/iwn/if_iwnvar.h
>
> Modified: head/sys/dev/iwn/if_iwn.c
> ==============================================================================
> --- head/sys/dev/iwn/if_iwn.c Sat Mar 4 22:58:34 2017 (r314686)
> +++ head/sys/dev/iwn/if_iwn.c Sat Mar 4 23:07:54 2017 (r314687)
> @@ -254,10 +254,8 @@ static void iwn_set_led(struct iwn_softc
> static int iwn_set_critical_temp(struct iwn_softc *);
> static int iwn_set_timing(struct iwn_softc *, struct ieee80211_node *);
> static void iwn4965_power_calibration(struct iwn_softc *, int);
> -static int iwn4965_set_txpower(struct iwn_softc *,
> - struct ieee80211_channel *, int);
> -static int iwn5000_set_txpower(struct iwn_softc *,
> - struct ieee80211_channel *, int);
> +static int iwn4965_set_txpower(struct iwn_softc *, int);
> +static int iwn5000_set_txpower(struct iwn_softc *, int);
> static int iwn4965_get_rssi(struct iwn_softc *, struct iwn_rx_stat *);
> static int iwn5000_get_rssi(struct iwn_softc *, struct iwn_rx_stat *);
> static int iwn_get_noise(const struct iwn_rx_general_stats *);
> @@ -5510,7 +5508,6 @@ iwn_set_timing(struct iwn_softc *sc, str
> static void
> iwn4965_power_calibration(struct iwn_softc *sc, int temp)
> {
> - struct ieee80211com *ic = &sc->sc_ic;
>
> DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__);
>
> @@ -5520,7 +5517,7 @@ iwn4965_power_calibration(struct iwn_sof
> if (abs(temp - sc->temp) >= 3) {
> /* Record temperature of last calibration. */
> sc->temp = temp;
> - (void)iwn4965_set_txpower(sc, ic->ic_bsschan, 1);
> + (void)iwn4965_set_txpower(sc, 1);
> }
> }
>
> @@ -5530,8 +5527,7 @@ iwn4965_power_calibration(struct iwn_sof
> * the current temperature and the current voltage.
> */
> static int
> -iwn4965_set_txpower(struct iwn_softc *sc, struct ieee80211_channel *ch,
> - int async)
> +iwn4965_set_txpower(struct iwn_softc *sc, int async)
> {
> /* Fixed-point arithmetic division using a n-bit fractional part. */
> #define fdivround(a, b, n) \
> @@ -5546,20 +5542,21 @@ iwn4965_set_txpower(struct iwn_softc *sc
> struct iwn4965_eeprom_chan_samples *chans;
> const uint8_t *rf_gain, *dsp_gain;
> int32_t vdiff, tdiff;
> - int i, c, grp, maxpwr;
> + int i, is_chan_5ghz, c, grp, maxpwr;
> uint8_t chan;
>
> sc->rxon = &sc->rx_on[IWN_RXON_BSS_CTX];
> /* Retrieve current channel from last RXON. */
> chan = sc->rxon->chan;
> + is_chan_5ghz = (sc->rxon->flags & htole32(IWN_RXON_24GHZ)) == 0;
> DPRINTF(sc, IWN_DEBUG_RESET, "setting TX power for channel %d\n",
> chan);
>
> memset(&cmd, 0, sizeof cmd);
> - cmd.band = IEEE80211_IS_CHAN_5GHZ(ch) ? 0 : 1;
> + cmd.band = is_chan_5ghz ? 0 : 1;
> cmd.chan = chan;
>
> - if (IEEE80211_IS_CHAN_5GHZ(ch)) {
> + if (is_chan_5ghz) {
> maxpwr = sc->maxpwr5GHz;
> rf_gain = iwn4965_rf_gain_5ghz;
> dsp_gain = iwn4965_dsp_gain_5ghz;
> @@ -5681,8 +5678,7 @@ iwn4965_set_txpower(struct iwn_softc *sc
> }
>
> static int
> -iwn5000_set_txpower(struct iwn_softc *sc, struct ieee80211_channel *ch,
> - int async)
> +iwn5000_set_txpower(struct iwn_softc *sc, int async)
> {
> struct iwn5000_cmd_txpower cmd;
> int cmdid;
> @@ -6693,7 +6689,7 @@ iwn_config(struct iwn_softc *sc)
> }
>
> /* Configuration has changed, set TX power accordingly. */
> - if ((error = ops->set_txpower(sc, ic->ic_curchan, 0)) != 0) {
> + if ((error = ops->set_txpower(sc, 0)) != 0) {
> device_printf(sc->sc_dev, "%s: could not set TX power\n",
> __func__);
> return error;
> @@ -7096,7 +7092,7 @@ iwn_auth(struct iwn_softc *sc, struct ie
> }
>
> /* Configuration has changed, set TX power accordingly. */
> - if ((error = ops->set_txpower(sc, ni->ni_chan, 1)) != 0) {
> + if ((error = ops->set_txpower(sc, 1)) != 0) {
> device_printf(sc->sc_dev,
> "%s: could not set TX power, error %d\n", __func__, error);
> return error;
> @@ -7180,7 +7176,7 @@ iwn_run(struct iwn_softc *sc, struct iee
> }
>
> /* Configuration has changed, set TX power accordingly. */
> - if ((error = ops->set_txpower(sc, ni->ni_chan, 1)) != 0) {
> + if ((error = ops->set_txpower(sc, 1)) != 0) {
> device_printf(sc->sc_dev,
> "%s: could not set TX power, error %d\n", __func__, error);
> return error;
>
> Modified: head/sys/dev/iwn/if_iwnvar.h
> ==============================================================================
> --- head/sys/dev/iwn/if_iwnvar.h Sat Mar 4 22:58:34 2017 (r314686)
> +++ head/sys/dev/iwn/if_iwnvar.h Sat Mar 4 23:07:54 2017 (r314687)
> @@ -206,8 +206,7 @@ struct iwn_ops {
> uint16_t);
> int (*get_temperature)(struct iwn_softc *);
> int (*get_rssi)(struct iwn_softc *, struct iwn_rx_stat *);
> - int (*set_txpower)(struct iwn_softc *,
> - struct ieee80211_channel *, int);
> + int (*set_txpower)(struct iwn_softc *, int);
> int (*init_gains)(struct iwn_softc *);
> int (*set_gains)(struct iwn_softc *);
> int (*add_node)(struct iwn_softc *, struct iwn_node_info *,
>
More information about the svn-src-head
mailing list