• Home
  • Raw
  • Download

Lines Matching refs:wilc

27 	struct wilc *wilc = user_data;  in isr_uh_routine()  local
29 if (wilc->close) { in isr_uh_routine()
38 struct wilc *wilc = userdata; in isr_bh_routine() local
40 if (wilc->close) { in isr_bh_routine()
45 wilc_handle_isr(wilc); in isr_bh_routine()
53 struct wilc *wl = vif->wilc; in init_irq()
72 struct wilc *wilc = vif->wilc; in deinit_irq() local
75 if (wilc->dev_irq_num) in deinit_irq()
76 free_irq(wilc->dev_irq_num, wilc); in deinit_irq()
79 void wilc_mac_indicate(struct wilc *wilc) in wilc_mac_indicate() argument
83 wilc_wlan_cfg_get_val(wilc, WID_STATUS, &status, 1); in wilc_mac_indicate()
84 if (wilc->mac_status == WILC_MAC_STATUS_INIT) { in wilc_mac_indicate()
85 wilc->mac_status = status; in wilc_mac_indicate()
86 complete(&wilc->sync_event); in wilc_mac_indicate()
88 wilc->mac_status = status; in wilc_mac_indicate()
92 static struct net_device *get_if_handler(struct wilc *wilc, u8 *mac_header) in get_if_handler() argument
98 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in get_if_handler()
126 int wilc_wlan_get_num_conn_ifcs(struct wilc *wilc) in wilc_wlan_get_num_conn_ifcs() argument
132 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_wlan_get_num_conn_ifcs()
133 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_wlan_get_num_conn_ifcs()
137 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_wlan_get_num_conn_ifcs()
145 struct wilc *wl = vp; in wilc_txq_task()
180 struct wilc *wilc = vif->wilc; in wilc_wlan_get_firmware() local
185 chip_id = wilc_get_chipid(wilc, false); in wilc_wlan_get_firmware()
191 wilc->dev); in wilc_wlan_get_firmware()
197 wilc->firmware = wilc_fw; in wilc_wlan_get_firmware()
205 struct wilc *wilc = vif->wilc; in wilc_start_firmware() local
208 ret = wilc_wlan_start(wilc); in wilc_start_firmware()
212 if (!wait_for_completion_timeout(&wilc->sync_event, in wilc_start_firmware()
222 struct wilc *wilc = vif->wilc; in wilc1000_firmware_download() local
225 if (!wilc->firmware) { in wilc1000_firmware_download()
230 ret = wilc_wlan_firmware_download(wilc, wilc->firmware->data, in wilc1000_firmware_download()
231 wilc->firmware->size); in wilc1000_firmware_download()
235 release_firmware(wilc->firmware); in wilc1000_firmware_download()
236 wilc->firmware = NULL; in wilc1000_firmware_download()
417 struct wilc *wl = vif->wilc; in wlan_deinitialize_threads()
432 struct wilc *wl = vif->wilc; in wilc_wlan_deinitialize()
467 struct wilc *wilc = vif->wilc; in wlan_initialize_threads() local
469 wilc->txq_thread = kthread_run(wilc_txq_task, (void *)wilc, in wlan_initialize_threads()
471 if (IS_ERR(wilc->txq_thread)) { in wlan_initialize_threads()
473 wilc->close = 0; in wlan_initialize_threads()
474 return PTR_ERR(wilc->txq_thread); in wlan_initialize_threads()
476 wait_for_completion(&wilc->txq_thread_started); in wlan_initialize_threads()
484 struct wilc *wl = vif->wilc; in wilc_wlan_initialize()
573 struct wilc *wl = vif->wilc; in wilc_mac_open()
633 struct wilc *wilc = vif->wilc; in wilc_set_mac_addr() local
649 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_set_mac_addr()
650 list_for_each_entry_rcu(tmp_vif, &wilc->vif_list, list) { in wilc_set_mac_addr()
654 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
657 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
661 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_set_mac_addr()
721 struct wilc *wilc = vif->wilc; in wilc_mac_xmit() local
752 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_mac_xmit()
753 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_mac_xmit()
757 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_mac_xmit()
766 struct wilc *wl = vif->wilc; in wilc_mac_close()
792 void wilc_frmw_to_host(struct wilc *wilc, u8 *buff, u32 size, in wilc_frmw_to_host() argument
802 if (!wilc) in wilc_frmw_to_host()
805 wilc_netdev = get_if_handler(wilc, buff); in wilc_frmw_to_host()
833 void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size) in wilc_wfi_mgmt_rx() argument
838 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_wfi_mgmt_rx()
839 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_wfi_mgmt_rx()
848 wilc_wfi_monitor_rx(wilc->monitor_dev, buff, size); in wilc_wfi_mgmt_rx()
850 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_wfi_mgmt_rx()
863 void wilc_netdev_cleanup(struct wilc *wilc) in wilc_netdev_cleanup() argument
868 if (!wilc) in wilc_netdev_cleanup()
871 if (wilc->firmware) { in wilc_netdev_cleanup()
872 release_firmware(wilc->firmware); in wilc_netdev_cleanup()
873 wilc->firmware = NULL; in wilc_netdev_cleanup()
876 srcu_idx = srcu_read_lock(&wilc->srcu); in wilc_netdev_cleanup()
877 list_for_each_entry_rcu(vif, &wilc->vif_list, list) { in wilc_netdev_cleanup()
881 srcu_read_unlock(&wilc->srcu, srcu_idx); in wilc_netdev_cleanup()
883 wilc_wfi_deinit_mon_interface(wilc, false); in wilc_netdev_cleanup()
884 flush_workqueue(wilc->hif_workqueue); in wilc_netdev_cleanup()
885 destroy_workqueue(wilc->hif_workqueue); in wilc_netdev_cleanup()
888 mutex_lock(&wilc->vif_mutex); in wilc_netdev_cleanup()
889 if (wilc->vif_num <= 0) { in wilc_netdev_cleanup()
890 mutex_unlock(&wilc->vif_mutex); in wilc_netdev_cleanup()
893 vif = wilc_get_wl_to_vif(wilc); in wilc_netdev_cleanup()
897 wilc->vif_num--; in wilc_netdev_cleanup()
898 mutex_unlock(&wilc->vif_mutex); in wilc_netdev_cleanup()
899 synchronize_srcu(&wilc->srcu); in wilc_netdev_cleanup()
903 wilc_wlan_cfg_deinit(wilc); in wilc_netdev_cleanup()
904 wlan_deinit_locks(wilc); in wilc_netdev_cleanup()
905 wiphy_unregister(wilc->wiphy); in wilc_netdev_cleanup()
906 wiphy_free(wilc->wiphy); in wilc_netdev_cleanup()
910 static u8 wilc_get_available_idx(struct wilc *wl) in wilc_get_available_idx()
927 struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name, in wilc_netdev_ifc_init()
942 vif->wilc = wl; in wilc_netdev_ifc_init()