Date: Sat, 4 Mar 2017 16:37:09 -0800 From: Adrian Chadd <adrian.chadd@gmail.com> To: Andriy Voskoboinyk <avos@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r314687 - head/sys/dev/iwn Message-ID: <CAJ-VmonNg5pjFq6AetmkkOW_vjEKzUTmgrziLNh0veSKrMY8Nw@mail.gmail.com> In-Reply-To: <201703042307.v24N7sSx021021@repo.freebsd.org> References: <201703042307.v24N7sSx021021@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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 *, >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmonNg5pjFq6AetmkkOW_vjEKzUTmgrziLNh0veSKrMY8Nw>