Lines Matching full:local
13 int drv_start(struct ieee80211_local *local) in drv_start() argument
19 if (WARN_ON(local->started)) in drv_start()
22 trace_drv_start(local); in drv_start()
23 local->started = true; in drv_start()
26 ret = local->ops->start(&local->hw); in drv_start()
27 trace_drv_return_int(local, ret); in drv_start()
30 local->started = false; in drv_start()
35 void drv_stop(struct ieee80211_local *local) in drv_stop() argument
39 if (WARN_ON(!local->started)) in drv_stop()
42 trace_drv_stop(local); in drv_stop()
43 local->ops->stop(&local->hw); in drv_stop()
44 trace_drv_return_void(local); in drv_stop()
47 tasklet_disable(&local->tasklet); in drv_stop()
48 tasklet_enable(&local->tasklet); in drv_stop()
52 local->started = false; in drv_stop()
55 int drv_add_interface(struct ieee80211_local *local, in drv_add_interface() argument
64 !ieee80211_hw_check(&local->hw, WANT_MONITOR_VIF) && in drv_add_interface()
68 trace_drv_add_interface(local, sdata); in drv_add_interface()
69 ret = local->ops->add_interface(&local->hw, &sdata->vif); in drv_add_interface()
70 trace_drv_return_int(local, ret); in drv_add_interface()
78 int drv_change_interface(struct ieee80211_local *local, in drv_change_interface() argument
89 trace_drv_change_interface(local, sdata, type, p2p); in drv_change_interface()
90 ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p); in drv_change_interface()
91 trace_drv_return_int(local, ret); in drv_change_interface()
95 void drv_remove_interface(struct ieee80211_local *local, in drv_remove_interface() argument
103 trace_drv_remove_interface(local, sdata); in drv_remove_interface()
104 local->ops->remove_interface(&local->hw, &sdata->vif); in drv_remove_interface()
106 trace_drv_return_void(local); in drv_remove_interface()
110 int drv_sta_state(struct ieee80211_local *local, in drv_sta_state() argument
124 trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state); in drv_sta_state()
125 if (local->ops->sta_state) { in drv_sta_state()
126 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, in drv_sta_state()
130 ret = drv_sta_add(local, sdata, &sta->sta); in drv_sta_state()
134 drv_sta_rate_tbl_update(local, sdata, &sta->sta); in drv_sta_state()
138 drv_sta_remove(local, sdata, &sta->sta); in drv_sta_state()
140 trace_drv_return_int(local, ret); in drv_sta_state()
145 int drv_sta_set_txpwr(struct ieee80211_local *local, in drv_sta_set_txpwr() argument
157 trace_drv_sta_set_txpwr(local, sdata, &sta->sta); in drv_sta_set_txpwr()
158 if (local->ops->sta_set_txpwr) in drv_sta_set_txpwr()
159 ret = local->ops->sta_set_txpwr(&local->hw, &sdata->vif, in drv_sta_set_txpwr()
161 trace_drv_return_int(local, ret); in drv_sta_set_txpwr()
165 void drv_sta_rc_update(struct ieee80211_local *local, in drv_sta_rc_update() argument
177 trace_drv_sta_rc_update(local, sdata, sta, changed); in drv_sta_rc_update()
178 if (local->ops->sta_rc_update) in drv_sta_rc_update()
179 local->ops->sta_rc_update(&local->hw, &sdata->vif, in drv_sta_rc_update()
182 trace_drv_return_void(local); in drv_sta_rc_update()
185 int drv_conf_tx(struct ieee80211_local *local, in drv_conf_tx() argument
206 WARN_ONCE(local->ops->conf_tx, in drv_conf_tx()
212 trace_drv_conf_tx(local, sdata, link->link_id, ac, params); in drv_conf_tx()
213 if (local->ops->conf_tx) in drv_conf_tx()
214 ret = local->ops->conf_tx(&local->hw, &sdata->vif, in drv_conf_tx()
216 trace_drv_return_int(local, ret); in drv_conf_tx()
220 u64 drv_get_tsf(struct ieee80211_local *local, in drv_get_tsf() argument
230 trace_drv_get_tsf(local, sdata); in drv_get_tsf()
231 if (local->ops->get_tsf) in drv_get_tsf()
232 ret = local->ops->get_tsf(&local->hw, &sdata->vif); in drv_get_tsf()
233 trace_drv_return_u64(local, ret); in drv_get_tsf()
237 void drv_set_tsf(struct ieee80211_local *local, in drv_set_tsf() argument
246 trace_drv_set_tsf(local, sdata, tsf); in drv_set_tsf()
247 if (local->ops->set_tsf) in drv_set_tsf()
248 local->ops->set_tsf(&local->hw, &sdata->vif, tsf); in drv_set_tsf()
249 trace_drv_return_void(local); in drv_set_tsf()
252 void drv_offset_tsf(struct ieee80211_local *local, in drv_offset_tsf() argument
261 trace_drv_offset_tsf(local, sdata, offset); in drv_offset_tsf()
262 if (local->ops->offset_tsf) in drv_offset_tsf()
263 local->ops->offset_tsf(&local->hw, &sdata->vif, offset); in drv_offset_tsf()
264 trace_drv_return_void(local); in drv_offset_tsf()
267 void drv_reset_tsf(struct ieee80211_local *local, in drv_reset_tsf() argument
275 trace_drv_reset_tsf(local, sdata); in drv_reset_tsf()
276 if (local->ops->reset_tsf) in drv_reset_tsf()
277 local->ops->reset_tsf(&local->hw, &sdata->vif); in drv_reset_tsf()
278 trace_drv_return_void(local); in drv_reset_tsf()
281 int drv_assign_vif_chanctx(struct ieee80211_local *local, in drv_assign_vif_chanctx() argument
296 trace_drv_assign_vif_chanctx(local, sdata, link_conf, ctx); in drv_assign_vif_chanctx()
297 if (local->ops->assign_vif_chanctx) { in drv_assign_vif_chanctx()
299 ret = local->ops->assign_vif_chanctx(&local->hw, in drv_assign_vif_chanctx()
304 trace_drv_return_int(local, ret); in drv_assign_vif_chanctx()
309 void drv_unassign_vif_chanctx(struct ieee80211_local *local, in drv_unassign_vif_chanctx() argument
324 trace_drv_unassign_vif_chanctx(local, sdata, link_conf, ctx); in drv_unassign_vif_chanctx()
325 if (local->ops->unassign_vif_chanctx) { in drv_unassign_vif_chanctx()
327 local->ops->unassign_vif_chanctx(&local->hw, in drv_unassign_vif_chanctx()
332 trace_drv_return_void(local); in drv_unassign_vif_chanctx()
335 int drv_switch_vif_chanctx(struct ieee80211_local *local, in drv_switch_vif_chanctx() argument
344 if (!local->ops->switch_vif_chanctx) in drv_switch_vif_chanctx()
364 trace_drv_switch_vif_chanctx(local, vifs, n_vifs, mode); in drv_switch_vif_chanctx()
365 ret = local->ops->switch_vif_chanctx(&local->hw, in drv_switch_vif_chanctx()
367 trace_drv_return_int(local, ret); in drv_switch_vif_chanctx()
388 int drv_ampdu_action(struct ieee80211_local *local, in drv_ampdu_action() argument
400 trace_drv_ampdu_action(local, sdata, params); in drv_ampdu_action()
402 if (local->ops->ampdu_action) in drv_ampdu_action()
403 ret = local->ops->ampdu_action(&local->hw, &sdata->vif, params); in drv_ampdu_action()
405 trace_drv_return_int(local, ret); in drv_ampdu_action()
410 void drv_link_info_changed(struct ieee80211_local *local, in drv_link_info_changed() argument
439 trace_drv_link_info_changed(local, sdata, info, changed); in drv_link_info_changed()
440 if (local->ops->link_info_changed) in drv_link_info_changed()
441 local->ops->link_info_changed(&local->hw, &sdata->vif, in drv_link_info_changed()
443 else if (local->ops->bss_info_changed) in drv_link_info_changed()
444 local->ops->bss_info_changed(&local->hw, &sdata->vif, in drv_link_info_changed()
446 trace_drv_return_void(local); in drv_link_info_changed()
449 int drv_set_key(struct ieee80211_local *local, in drv_set_key() argument
467 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key()
468 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key()
469 trace_drv_return_int(local, ret); in drv_set_key()
473 int drv_change_vif_links(struct ieee80211_local *local, in drv_change_vif_links() argument
501 trace_drv_change_vif_links(local, sdata, old_links, new_links); in drv_change_vif_links()
502 if (local->ops->change_vif_links) in drv_change_vif_links()
503 ret = local->ops->change_vif_links(&local->hw, &sdata->vif, in drv_change_vif_links()
505 trace_drv_return_int(local, ret); in drv_change_vif_links()
510 if (!local->in_reconfig) { in drv_change_vif_links()
522 int drv_change_sta_links(struct ieee80211_local *local, in drv_change_sta_links() argument
550 lockdep_is_held(&local->sta_mtx)); in drv_change_sta_links()
555 trace_drv_change_sta_links(local, sdata, sta, old_links, new_links); in drv_change_sta_links()
556 if (local->ops->change_sta_links) in drv_change_sta_links()
557 ret = local->ops->change_sta_links(&local->hw, &sdata->vif, sta, in drv_change_sta_links()
559 trace_drv_return_int(local, ret); in drv_change_sta_links()
565 if (local->in_reconfig) in drv_change_sta_links()
570 lockdep_is_held(&local->sta_mtx)); in drv_change_sta_links()