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:2.369 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site