From: Arend van Spriel <arend.vanspriel@broadcom.com>
To: Jaap Jan Meijer <jjmeijer88@gmail.com>, linux-wireless@vger.kernel.org
Cc: kvalo@codeaurora.org, brcm80211-dev-list@broadcom.com
Subject: Re: [PATCH] brcmfmac: add fallback for devices that do not report per-chain values
Date: Wed, 11 May 2016 22:55:55 +0200 [thread overview]
Message-ID: <57339C5B.1050307@broadcom.com> (raw)
In-Reply-To: <1462995634-24602-1-git-send-email-jjmeijer88@gmail.com>
On 11-05-16 21:40, Jaap Jan Meijer wrote:
> If brcmf_cfg80211_get_station fails to determine the RSSI from the
> per-chain values get all values individually as a fallback.
That commit message looks good.
> Signed-off-by: Jaap Jan Meijer <jjmeijer88@gmail.com>
> ---
> .../broadcom/brcm80211/brcmfmac/cfg80211.c | 42 ++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index d5c2a27..60229c8 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -2480,12 +2480,16 @@ brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
> const u8 *mac, struct station_info *sinfo)
> {
> struct brcmf_if *ifp = netdev_priv(ndev);
> + struct brcmf_scb_val_le scb_val;
> s32 err = 0;
> struct brcmf_sta_info_le sta_info_le;
> u32 sta_flags;
> u32 is_tdls_peer;
> s32 total_rssi;
> s32 count_rssi;
> + int rssi;
> + u32 beacon_period;
> + u32 dtim_period;
> u32 i;
>
> brcmf_dbg(TRACE, "Enter, MAC %pM\n", mac);
> @@ -2569,6 +2573,44 @@ brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev,
> sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
> total_rssi /= count_rssi;
> sinfo->signal = total_rssi;
> + } else if (test_bit(BRCMF_VIF_STATUS_CONNECTED,
> + &ifp->vif->sme_state)) {
> + memset(&scb_val, 0, sizeof(scb_val));
> + err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_RSSI,
> + &scb_val, sizeof(scb_val));
> + if (err) {
> + brcmf_err("Could not get rssi (%d)\n", err);
> + goto done;
> + } else {
> + rssi = le32_to_cpu(scb_val.val);
> + sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
> + sinfo->signal = rssi;
> + brcmf_dbg(CONN, "RSSI %d dBm\n", rssi);
> + }
However, this patch changes more. I did not get back on your question
regarding beacon period and dtim. Sorry for that as it means this patch
still need rework. Those values are obtained differently and filled in
by the function brcmf_fill_bss_param() (called in line 2530). When you
do that make sure the subject prefix is 'PATCH v2' iso 'PATCH' (using
git format-patch option --subject-prefix=..) and add a changelog after
your signed-off line as shown below:
Signed-off-by: Jaap Jan Meijer <jjmeijer88@gmail.com>
---
change log:
v2:
- bla...
---
.../broadcom/brcm80211/brcmfmac/cfg80211.c | 42
++++++++++++++++++++++
Don't get discouraged :-D Nederlander?
Regards,
Arend
> + err = brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_BCNPRD,
> + &beacon_period);
> + if (err) {
> + brcmf_err("Could not get beacon period (%d)\n",
> + err);
> + goto done;
> + } else {
> + sinfo->bss_param.beacon_interval =
> + beacon_period;
> + brcmf_dbg(CONN, "Beacon peroid %d\n",
> + beacon_period);
> + }
> + err = brcmf_fil_cmd_int_get(ifp, BRCMF_C_GET_DTIMPRD,
> + &dtim_period);
> + if (err) {
> + brcmf_err("Could not get DTIM period (%d)\n",
> + err);
> + goto done;
> + } else {
> + sinfo->bss_param.dtim_period = dtim_period;
> + brcmf_dbg(CONN, "DTIM peroid %d\n",
> + dtim_period);
> + }
> + sinfo->filled |= BIT(NL80211_STA_INFO_BSS_PARAM);
> }
> }
> done:
>
next prev parent reply other threads:[~2016-05-11 20:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-11 19:40 [PATCH] brcmfmac: add fallback for devices that do not report per-chain values Jaap Jan Meijer
2016-05-11 20:55 ` Arend van Spriel [this message]
2016-05-12 6:32 ` Kalle Valo
2016-05-12 16:19 ` Jaap Jan Meijer
2016-05-12 16:25 ` [PATCH v2] " Jaap Jan Meijer
2016-05-12 21:37 ` Arend van Spriel
2016-05-13 10:42 ` Kalle Valo
2016-05-27 17:52 ` [v2] " Kalle Valo
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=57339C5B.1050307@broadcom.com \
--to=arend.vanspriel@broadcom.com \
--cc=brcm80211-dev-list@broadcom.com \
--cc=jjmeijer88@gmail.com \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.