Lines Matching refs:mac

42 	struct qtnf_wmac *mac = NULL;
50 mac = bus->mac[macid];
52 if (unlikely(!mac)) {
57 return mac;
84 queue_work(vif->mac->bus->hprio_workqueue, &vif->high_pri_tx_work);
93 struct qtnf_wmac *mac;
109 mac = vif->mac;
110 if (unlikely(!mac)) {
111 pr_err_ratelimited("%s: NULL mac pointer", ndev->name);
133 return qtnf_bus_data_tx(mac->bus, skb, mac->macid, vif->vifid);
141 struct qtnf_wmac *mac;
144 if (unlikely(!vif || !vif->mac || !vif->mac->bus))
147 mac = vif->mac;
148 bus = mac->bus;
150 pr_warn("VIF%u.%u: Tx timeout- %lu\n", mac->macid, vif->vifid, jiffies);
175 qtnf_scan_done(vif->mac, true);
191 const struct qtnf_bus *bus = vif->mac->bus;
210 struct qtnf_wmac *mac,
221 ret = qtnf_cmd_band_info_get(mac, wiphy->bands[band]);
224 mac->macid, band, ret);
233 static int qtnf_mac_init_bands(struct qtnf_wmac *mac)
235 struct wiphy *wiphy = priv_to_wiphy(mac);
238 if (mac->macinfo.bands_cap & QLINK_BAND_2GHZ) {
239 ret = qtnf_mac_init_single_band(wiphy, mac, NL80211_BAND_2GHZ);
244 if (mac->macinfo.bands_cap & QLINK_BAND_5GHZ) {
245 ret = qtnf_mac_init_single_band(wiphy, mac, NL80211_BAND_5GHZ);
250 if (mac->macinfo.bands_cap & QLINK_BAND_60GHZ)
251 ret = qtnf_mac_init_single_band(wiphy, mac, NL80211_BAND_60GHZ);
257 struct qtnf_vif *qtnf_mac_get_free_vif(struct qtnf_wmac *mac)
263 vif = &mac->iflist[i];
271 struct qtnf_vif *qtnf_mac_get_base_vif(struct qtnf_wmac *mac)
275 vif = &mac->iflist[QTNF_PRIMARY_VIF_IDX];
283 void qtnf_mac_iface_comb_free(struct qtnf_wmac *mac)
288 if (mac->macinfo.if_comb) {
289 for (i = 0; i < mac->macinfo.n_if_comb; i++) {
290 comb = &mac->macinfo.if_comb[i];
295 kfree(mac->macinfo.if_comb);
296 mac->macinfo.if_comb = NULL;
300 void qtnf_mac_ext_caps_free(struct qtnf_wmac *mac)
302 if (mac->macinfo.extended_capabilities_len) {
303 kfree(mac->macinfo.extended_capabilities);
304 mac->macinfo.extended_capabilities = NULL;
306 kfree(mac->macinfo.extended_capabilities_mask);
307 mac->macinfo.extended_capabilities_mask = NULL;
309 mac->macinfo.extended_capabilities_len = 0;
334 static void qtnf_mac_init_primary_intf(struct qtnf_wmac *mac)
336 struct qtnf_vif *vif = &mac->iflist[QTNF_PRIMARY_VIF_IDX];
340 vif->wdev.wiphy = priv_to_wiphy(mac);
345 static void qtnf_mac_scan_finish(struct qtnf_wmac *mac, bool aborted)
351 mutex_lock(&mac->mac_lock);
353 if (mac->scan_req) {
354 cfg80211_scan_done(mac->scan_req, &info);
355 mac->scan_req = NULL;
358 mutex_unlock(&mac->mac_lock);
361 void qtnf_scan_done(struct qtnf_wmac *mac, bool aborted)
363 cancel_delayed_work_sync(&mac->scan_timeout);
364 qtnf_mac_scan_finish(mac, aborted);
369 struct qtnf_wmac *mac =
372 pr_warn("MAC%d: scan timed out\n", mac->macid);
373 qtnf_mac_scan_finish(mac, true);
397 struct qtnf_wmac *mac;
417 mac = wiphy_priv(wiphy);
419 mac->macid = macid;
420 mac->pdev = pdev;
421 mac->bus = bus;
422 mutex_init(&mac->mac_lock);
423 INIT_DELAYED_WORK(&mac->scan_timeout, qtnf_mac_scan_timeout);
426 vif = &mac->iflist[i];
430 vif->mac = mac;
437 qtnf_mac_init_primary_intf(mac);
438 bus->mac[macid] = mac;
440 return mac;
447 int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
450 struct wiphy *wiphy = priv_to_wiphy(mac);
473 if (qtnf_hwcap_is_set(&mac->bus->hw_info, QLINK_HW_CAPAB_HW_BRIDGE))
492 struct qtnf_wmac *mac;
498 mac = bus->mac[macid];
500 if (!mac)
503 wiphy = priv_to_wiphy(mac);
506 vif = &mac->iflist[i];
517 if (mac->wiphy_registered)
534 platform_device_unregister(mac->pdev);
535 qtnf_mac_iface_comb_free(mac);
536 qtnf_mac_ext_caps_free(mac);
537 kfree(mac->macinfo.wowlan);
538 kfree(mac->rd);
539 mac->rd = NULL;
541 bus->mac[macid] = NULL;
546 struct qtnf_wmac *mac;
555 mac = qtnf_core_mac_alloc(bus, macid);
556 if (IS_ERR(mac)) {
558 return PTR_ERR(mac);
561 vif = qtnf_mac_get_base_vif(mac);
575 ret = qtnf_cmd_get_mac_info(mac);
582 if (is_zero_ether_addr(mac->bus->hw_id))
583 ether_addr_copy(mac->bus->hw_id, mac->macaddr);
585 ret = qtnf_mac_init_bands(mac);
591 ret = qtnf_wiphy_register(&bus->hw_info, mac);
597 mac->wiphy_registered = 1;
600 wiphy_lock(priv_to_wiphy(mac));
601 ret = qtnf_core_net_attach(mac, vif, "wlan%d", NET_NAME_ENUM);
602 wiphy_unlock(priv_to_wiphy(mac));
665 bus = vif->mac->bus;
676 vif->mac->macid, vif->vifid, netdev_name(brdev),
823 struct qtnf_wmac *mac;
839 pr_err_ratelimited("invalid mac(%u)\n", meta->macid);
848 mac = bus->mac[meta->macid];
850 if (unlikely(!mac)) {
851 pr_err_ratelimited("mac(%d) does not exist\n", meta->macid);
855 vif = &mac->iflist[meta->ifidx];
882 struct qtnf_wmac *mac;
887 if (unlikely(!vif || !vif->mac || !vif->mac->bus))
890 bus = vif->mac->bus;
896 mac = bus->mac[macid];
898 vif = &mac->iflist[i];