From: Simon Wunderlich <sw@simonwunderlich.de>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>,
"Giori, Kathy" <kgiori@qca.qualcomm.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
Sven Eckelmann <sven@narfation.org>,
"ath10k@lists.infradead.org" <ath10k@lists.infradead.org>
Subject: Re: [PATCH 2/2] ath10k: add spectral scan feature
Date: Mon, 21 Jul 2014 11:59:25 +0200 [thread overview]
Message-ID: <201407211159.26103.sw@simonwunderlich.de> (raw)
In-Reply-To: <CA+BoTQmrn0ddGe=p_d9+vCpMUMQ6dKhL+DmZ76OicacmxoYVMA@mail.gmail.com>
Hey Michal,
thanks for the review! I agree to most points and will fixed them in the next
revision, for the rest I'm putting comments below:
[...]
> > + nf_list1 = __le32_to_cpu(event->hdr.nf_list_1);
> > + nf_list2 = __le32_to_cpu(event->hdr.nf_list_2);
> > + chain_idx = MS(reg0, SEARCH_FFT_REPORT_REG0_FFT_CHN_IDX);
> > + switch (chain_idx) {
> > + case 0:
> > + fft_sample->noise = __cpu_to_be16(nf_list1 & 0xffffu);
>
> Are you sure you want to & nf_list1 itself *before* the byte swap? You
> probably won't see a difference with an intel host system which is
> little-endian just like the target device.
That is intended as written: with le32_to_cpu() above we get the data into
host order to process it, then we get the 16-bit noise values according to the
chain index, and finally convert it to big endian as this is our exchange
format to userspace - as you can see, we do the same for the other 16bit
members of fft_sample as well.
[...]
> > + arvif = ath10k_get_spectral_vdev(ar);
> > + if (!arvif)
> > + return -ENODEV;
> > + vdev_id = arvif->vdev_id;
> > +
> > + if (ar->spectral_mode == SPECTRAL_DISABLED)
> > + return 0;
> > +
> > + res = ath10k_wmi_vdev_spectral_enable(ar, vdev_id,
> > +
> > WMI_SPECTRAL_TRIGGER_CMD_CLEAR, +
> > WMI_SPECTRAL_ENABLE_CMD_ENABLE); + if (res < 0)
> > + return res;
> > +
> > + res = ath10k_wmi_vdev_spectral_enable(ar, vdev_id,
> > +
> > WMI_SPECTRAL_TRIGGER_CMD_TRIGGER, +
> > WMI_SPECTRAL_ENABLE_CMD_ENABLE); + if (res < 0)
> > + return res;
> > +
> > + return 0;
> > +}
> > +static int ath10k_spectral_scan_config(struct ath10k *ar,
> > + enum ath10k_spectral_mode mode)
> > +{
> > + struct wmi_vdev_spectral_conf_arg arg;
> > + struct ath10k_vif *arvif;
> > + int vdev_id, count, res = 0;
> > +
>
> Ditto. lockdep_assert_held().
Actually both functions are calling ath10k_get_spectral_vdev() which already
has that assert, but it doesn't hurt to put it here as well. Will do. :)
[...]
>
> Did you test this against a firmware crash while spectral scan is
> enabled? ar->spectral_mode will be left as-is when restart is
> performed but no spectral scan will be actually configured. You either
> need to restart spectral scan (better from user perspective) or clear
> out the old mode (easier to code, but bad from user perspective
> because suddenly spectral scan would be stopped implicitly by device
> crash).
No, I didn't test that against a firmware crash yet ... Restarting spectral
would probably a good idea in endless mode, but not if "count" has been set.
I'll look into that and propose something in the next iteration.
Thanks. :)
Simon
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
next prev parent reply other threads:[~2014-07-21 9:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-18 13:26 [PATCH 0/2] ath10k spectral scan support Simon Wunderlich
2014-07-18 13:26 ` [PATCH 1/2] ath: Move spectral debugfs structs to shared header Simon Wunderlich
2014-07-18 13:26 ` [PATCH 2/2] ath10k: add spectral scan feature Simon Wunderlich
2014-07-21 4:15 ` Yeoh Chun-Yeow
2014-07-21 9:43 ` Simon Wunderlich
2014-07-22 4:59 ` Yeoh Chun-Yeow
2014-07-22 5:02 ` Yeoh Chun-Yeow
2014-07-21 6:56 ` Michal Kazior
2014-07-21 9:59 ` Simon Wunderlich [this message]
2014-07-21 10:15 ` Michal Kazior
2014-07-21 12:13 ` Simon Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201407211159.26103.sw@simonwunderlich.de \
--to=sw@simonwunderlich.de \
--cc=ath10k@lists.infradead.org \
--cc=kgiori@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=mathias.kretschmer@fokus.fraunhofer.de \
--cc=michal.kazior@tieto.com \
--cc=sven@narfation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox