svn commit: r314687 - head/sys/dev/iwn
Andriy Voskoboinyk
avos at freebsd.org
Sun Mar 5 02:34:13 UTC 2017
Sun, 05 Mar 2017 02:37:09 +0200 було написано Adrian Chadd
<adrian.chadd at gmail.com>:
Hi!
Actually, the intention is simpler - redo all the work for wpi(4) here
to bring in everything what it can - ad-hoc, hostap, aes-ccm etc
> 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-all
mailing list