Lines Matching refs:ifp
136 static void brcmf_feat_iovar_int_get(struct brcmf_if *ifp, in brcmf_feat_iovar_int_get() argument
143 ifp->fwil_fwerr = true; in brcmf_feat_iovar_int_get()
145 err = brcmf_fil_iovar_int_get(ifp, name, &data); in brcmf_feat_iovar_int_get()
148 ifp->drvr->feat_flags |= BIT(id); in brcmf_feat_iovar_int_get()
154 ifp->fwil_fwerr = false; in brcmf_feat_iovar_int_get()
157 static void brcmf_feat_iovar_data_set(struct brcmf_if *ifp, in brcmf_feat_iovar_data_set() argument
164 ifp->fwil_fwerr = true; in brcmf_feat_iovar_data_set()
166 err = brcmf_fil_iovar_data_set(ifp, name, data, len); in brcmf_feat_iovar_data_set()
169 ifp->drvr->feat_flags |= BIT(id); in brcmf_feat_iovar_data_set()
175 ifp->fwil_fwerr = false; in brcmf_feat_iovar_data_set()
179 static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp) in brcmf_feat_firmware_capabilities() argument
181 struct brcmf_pub *drvr = ifp->drvr; in brcmf_feat_firmware_capabilities()
186 err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps)); in brcmf_feat_firmware_capabilities()
199 ifp->drvr->feat_flags |= BIT(id); in brcmf_feat_firmware_capabilities()
214 struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0); in brcmf_feat_fwcap_debugfs_read() local
219 err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps)); in brcmf_feat_fwcap_debugfs_read()
242 struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0); in brcmf_feat_attach() local
248 brcmf_feat_firmware_capabilities(ifp); in brcmf_feat_attach()
254 brcmf_feat_iovar_data_set(ifp, BRCMF_FEAT_GSCAN, in brcmf_feat_attach()
257 brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_PNO, "pfn"); in brcmf_feat_attach()
259 brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_WOWL, "wowl"); in brcmf_feat_attach()
260 if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_WOWL)) { in brcmf_feat_attach()
261 err = brcmf_fil_iovar_int_get(ifp, "wowl_cap", &wowl_cap); in brcmf_feat_attach()
263 ifp->drvr->feat_flags |= BIT(BRCMF_FEAT_WOWL_ARP_ND); in brcmf_feat_attach()
265 ifp->drvr->feat_flags |= in brcmf_feat_attach()
268 ifp->drvr->feat_flags |= in brcmf_feat_attach()
276 ifp->drvr->feat_flags &= ~BIT(BRCMF_FEAT_MBSS); in brcmf_feat_attach()
281 brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_RSDB, "rsdb_mode"); in brcmf_feat_attach()
282 brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_TDLS, "tdls_enable"); in brcmf_feat_attach()
283 brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_MFP, "mfp"); in brcmf_feat_attach()
286 err = brcmf_fil_iovar_data_get(ifp, "pfn_macaddr", &pfn_mac, in brcmf_feat_attach()
289 ifp->drvr->feat_flags |= BIT(BRCMF_FEAT_SCAN_RANDOM_MAC); in brcmf_feat_attach()
291 brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_FWSUP, "sup_wpa"); in brcmf_feat_attach()
295 ifp->drvr->feat_flags, in brcmf_feat_attach()
297 ifp->drvr->feat_flags &= ~drvr->settings->feature_disable; in brcmf_feat_attach()
322 bool brcmf_feat_is_enabled(struct brcmf_if *ifp, enum brcmf_feat_id id) in brcmf_feat_is_enabled() argument
324 return (ifp->drvr->feat_flags & BIT(id)); in brcmf_feat_is_enabled()
327 bool brcmf_feat_is_quirk_enabled(struct brcmf_if *ifp, in brcmf_feat_is_quirk_enabled() argument
330 return (ifp->drvr->chip_quirks & BIT(quirk)); in brcmf_feat_is_quirk_enabled()