Skip site navigation (1)Skip section navigation (2)
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>