lkml.org 
[lkml]   [2022]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2 23/35] brcmfmac: cfg80211: Add support for scan params v2
From
On 1/4/2022 8:26 AM, Hector Martin wrote:
> This new API version is required for at least the BCM4387 firmware. Add
> support for it, with a fallback to the v1 API.

Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Hector Martin <marcan@marcan.st>
> ---
> .../broadcom/brcm80211/brcmfmac/cfg80211.c | 113 ++++++++++++++----
> .../broadcom/brcm80211/brcmfmac/feature.c | 1 +
> .../broadcom/brcm80211/brcmfmac/feature.h | 4 +-
> .../broadcom/brcm80211/brcmfmac/fwil_types.h | 49 +++++++-
> 4 files changed, 145 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index fb727778312c..71e932a8302c 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -769,12 +769,50 @@ void brcmf_set_mpc(struct brcmf_if *ifp, int mpc)
> }
> }
>
> +static void brcmf_escan_prep(struct brcmf_cfg80211_info *cfg,
> + struct brcmf_scan_params_v2_le *params_le,
> + struct cfg80211_scan_request *request);

I am not a fan of function prototypes so if it can be avoided by simply
moving the function that would be preferred over this.

> +static void brcmf_scan_params_v2_to_v1(struct brcmf_scan_params_v2_le *params_v2_le,
> + struct brcmf_scan_params_le *params_le)
> +{

[...]

> + if (!brcmf_feat_is_enabled(ifp, BRCMF_FEAT_SCAN_V2)) {

Okay. So it is not really a fallback. Phew!

> + struct brcmf_escan_params_le *params_v1;
> +
> + params_size -= BRCMF_SCAN_PARAMS_V2_FIXED_SIZE;
> + params_size += BRCMF_SCAN_PARAMS_FIXED_SIZE;
> + params_v1 = kzalloc(params_size, GFP_KERNEL);
> + params_v1->version = cpu_to_le32(BRCMF_ESCAN_REQ_VERSION);
> + brcmf_scan_params_v2_to_v1(&params->params_v2_le, &params_v1->params_le);
> + kfree(params);
> + params = params_v1;
> + }
> +
> params->action = cpu_to_le16(WL_ESCAN_ACTION_START);
> params->sync_id = cpu_to_le16(0x1234);
[unhandled content-type:application/pkcs7-signature]
\
 
 \ /
  Last update: 2022-01-11 09:51    [W:0.603 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site