Lines Matching defs:ieee80211_hw
1238 * @tx_power_idx An idx into the ieee80211_hw->tx_power_levels list of the
2746 * struct ieee80211_hw - hardware information and state
2873 struct ieee80211_hw {
2912 static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
2919 static inline void _ieee80211_hw_set(struct ieee80211_hw *hw,
2970 * &struct ieee80211_hw. Drivers wishing to get to their own private
2977 struct ieee80211_hw *wiphy_to_ieee80211_hw(struct wiphy *wiphy);
2982 * @hw: the &struct ieee80211_hw to set the device for
2985 static inline void SET_IEEE80211_DEV(struct ieee80211_hw *hw, struct device *dev)
2993 * @hw: the &struct ieee80211_hw to set the MAC address for
2996 static inline void SET_IEEE80211_PERM_ADDR(struct ieee80211_hw *hw, const u8 *addr)
3002 ieee80211_get_tx_rate(const struct ieee80211_hw *hw,
3011 ieee80211_get_rts_cts_rate(const struct ieee80211_hw *hw,
3020 ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw,
3036 void ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb);
3407 * and the offchannel queue in &struct ieee80211_hw. In response, mac80211 will
4274 void (*tx)(struct ieee80211_hw *hw,
4277 int (*start)(struct ieee80211_hw *hw);
4278 void (*stop)(struct ieee80211_hw *hw);
4280 int (*suspend)(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan);
4281 int (*resume)(struct ieee80211_hw *hw);
4282 void (*set_wakeup)(struct ieee80211_hw *hw, bool enabled);
4284 int (*add_interface)(struct ieee80211_hw *hw,
4286 int (*change_interface)(struct ieee80211_hw *hw,
4289 void (*remove_interface)(struct ieee80211_hw *hw,
4291 int (*config)(struct ieee80211_hw *hw, u32 changed);
4292 void (*bss_info_changed)(struct ieee80211_hw *hw,
4296 void (*vif_cfg_changed)(struct ieee80211_hw *hw,
4299 void (*link_info_changed)(struct ieee80211_hw *hw,
4304 int (*start_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4306 void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4309 u64 (*prepare_multicast)(struct ieee80211_hw *hw,
4311 void (*configure_filter)(struct ieee80211_hw *hw,
4315 void (*config_iface_filter)(struct ieee80211_hw *hw,
4319 int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
4321 int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd,
4324 void (*update_tkip_key)(struct ieee80211_hw *hw,
4329 void (*set_rekey_data)(struct ieee80211_hw *hw,
4332 void (*set_default_unicast_key)(struct ieee80211_hw *hw,
4334 int (*hw_scan)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4336 void (*cancel_hw_scan)(struct ieee80211_hw *hw,
4338 int (*sched_scan_start)(struct ieee80211_hw *hw,
4342 int (*sched_scan_stop)(struct ieee80211_hw *hw,
4344 void (*sw_scan_start)(struct ieee80211_hw *hw,
4347 void (*sw_scan_complete)(struct ieee80211_hw *hw,
4349 int (*get_stats)(struct ieee80211_hw *hw,
4351 void (*get_key_seq)(struct ieee80211_hw *hw,
4354 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value);
4355 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value);
4356 int (*sta_add)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4358 int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4361 void (*link_add_debugfs)(struct ieee80211_hw *hw,
4365 void (*sta_add_debugfs)(struct ieee80211_hw *hw,
4369 void (*link_sta_add_debugfs)(struct ieee80211_hw *hw,
4374 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4376 int (*sta_set_txpwr)(struct ieee80211_hw *hw,
4379 int (*sta_state)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4383 void (*sta_pre_rcu_remove)(struct ieee80211_hw *hw,
4386 void (*sta_rc_update)(struct ieee80211_hw *hw,
4390 void (*sta_rate_tbl_update)(struct ieee80211_hw *hw,
4393 void (*sta_statistics)(struct ieee80211_hw *hw,
4397 int (*conf_tx)(struct ieee80211_hw *hw,
4401 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
4402 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4404 void (*offset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4406 void (*reset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
4407 int (*tx_last_beacon)(struct ieee80211_hw *hw);
4440 int (*ampdu_action)(struct ieee80211_hw *hw,
4443 int (*get_survey)(struct ieee80211_hw *hw, int idx,
4445 void (*rfkill_poll)(struct ieee80211_hw *hw);
4446 void (*set_coverage_class)(struct ieee80211_hw *hw, s16 coverage_class);
4448 int (*testmode_cmd)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4450 int (*testmode_dump)(struct ieee80211_hw *hw, struct sk_buff *skb,
4454 void (*flush)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4456 void (*flush_sta)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4458 void (*channel_switch)(struct ieee80211_hw *hw,
4461 int (*set_antenna)(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant);
4462 int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);
4464 int (*remain_on_channel)(struct ieee80211_hw *hw,
4469 int (*cancel_remain_on_channel)(struct ieee80211_hw *hw,
4471 int (*set_ringparam)(struct ieee80211_hw *hw, u32 tx, u32 rx);
4472 void (*get_ringparam)(struct ieee80211_hw *hw,
4474 bool (*tx_frames_pending)(struct ieee80211_hw *hw);
4475 int (*set_bitrate_mask)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4477 void (*event_callback)(struct ieee80211_hw *hw,
4481 void (*allow_buffered_frames)(struct ieee80211_hw *hw,
4486 void (*release_buffered_frames)(struct ieee80211_hw *hw,
4492 int (*get_et_sset_count)(struct ieee80211_hw *hw,
4494 void (*get_et_stats)(struct ieee80211_hw *hw,
4497 void (*get_et_strings)(struct ieee80211_hw *hw,
4501 void (*mgd_prepare_tx)(struct ieee80211_hw *hw,
4504 void (*mgd_complete_tx)(struct ieee80211_hw *hw,
4508 void (*mgd_protect_tdls_discover)(struct ieee80211_hw *hw,
4511 int (*add_chanctx)(struct ieee80211_hw *hw,
4513 void (*remove_chanctx)(struct ieee80211_hw *hw,
4515 void (*change_chanctx)(struct ieee80211_hw *hw,
4518 int (*assign_vif_chanctx)(struct ieee80211_hw *hw,
4522 void (*unassign_vif_chanctx)(struct ieee80211_hw *hw,
4526 int (*switch_vif_chanctx)(struct ieee80211_hw *hw,
4531 void (*reconfig_complete)(struct ieee80211_hw *hw,
4535 void (*ipv6_addr_change)(struct ieee80211_hw *hw,
4539 void (*channel_switch_beacon)(struct ieee80211_hw *hw,
4542 int (*pre_channel_switch)(struct ieee80211_hw *hw,
4546 int (*post_channel_switch)(struct ieee80211_hw *hw,
4548 void (*abort_channel_switch)(struct ieee80211_hw *hw,
4550 void (*channel_switch_rx_beacon)(struct ieee80211_hw *hw,
4554 int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
4555 void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
4556 u32 (*get_expected_throughput)(struct ieee80211_hw *hw,
4558 int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4561 int (*tdls_channel_switch)(struct ieee80211_hw *hw,
4566 void (*tdls_cancel_channel_switch)(struct ieee80211_hw *hw,
4569 void (*tdls_recv_channel_switch)(struct ieee80211_hw *hw,
4573 void (*wake_tx_queue)(struct ieee80211_hw *hw,
4575 void (*sync_rx_queues)(struct ieee80211_hw *hw);
4577 int (*start_nan)(struct ieee80211_hw *hw,
4580 int (*stop_nan)(struct ieee80211_hw *hw,
4582 int (*nan_change_conf)(struct ieee80211_hw *hw,
4585 int (*add_nan_func)(struct ieee80211_hw *hw,
4588 void (*del_nan_func)(struct ieee80211_hw *hw,
4591 bool (*can_aggregate_in_amsdu)(struct ieee80211_hw *hw,
4594 int (*get_ftm_responder_stats)(struct ieee80211_hw *hw,
4597 int (*start_pmsr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4599 void (*abort_pmsr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4601 int (*set_tid_config)(struct ieee80211_hw *hw,
4605 int (*reset_tid_config)(struct ieee80211_hw *hw,
4608 void (*update_vif_offload)(struct ieee80211_hw *hw,
4610 void (*sta_set_4addr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4612 int (*set_sar_specs)(struct ieee80211_hw *hw,
4614 void (*sta_set_decap_offload)(struct ieee80211_hw *hw,
4617 void (*add_twt_setup)(struct ieee80211_hw *hw,
4620 void (*twt_teardown_request)(struct ieee80211_hw *hw,
4622 int (*set_radar_background)(struct ieee80211_hw *hw,
4624 int (*net_fill_forward_path)(struct ieee80211_hw *hw,
4629 int (*change_vif_links)(struct ieee80211_hw *hw,
4633 int (*change_sta_links)(struct ieee80211_hw *hw,
4637 int (*set_hw_timestamp)(struct ieee80211_hw *hw,
4640 int (*net_setup_tc)(struct ieee80211_hw *hw,
4653 * @priv in &struct ieee80211_hw, the size of this area is given as
4663 struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
4673 * @priv in &struct ieee80211_hw, the size of this area is given as
4682 struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
4699 int ieee80211_register_hw(struct ieee80211_hw *hw);
4726 const char *__ieee80211_get_tx_led_name(struct ieee80211_hw *hw);
4727 const char *__ieee80211_get_rx_led_name(struct ieee80211_hw *hw);
4728 const char *__ieee80211_get_assoc_led_name(struct ieee80211_hw *hw);
4729 const char *__ieee80211_get_radio_led_name(struct ieee80211_hw *hw);
4731 __ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw,
4748 static inline const char *ieee80211_get_tx_led_name(struct ieee80211_hw *hw)
4769 static inline const char *ieee80211_get_rx_led_name(struct ieee80211_hw *hw)
4790 static inline const char *ieee80211_get_assoc_led_name(struct ieee80211_hw *hw)
4811 static inline const char *ieee80211_get_radio_led_name(struct ieee80211_hw *hw)
4833 ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw, unsigned int flags,
4853 void ieee80211_unregister_hw(struct ieee80211_hw *hw);
4864 void ieee80211_free_hw(struct ieee80211_hw *hw);
4878 void ieee80211_restart_hw(struct ieee80211_hw *hw);
4902 void ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
4927 void ieee80211_rx_napi(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
4950 static inline void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb)
4968 void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb);
4983 static inline void ieee80211_rx_ni(struct ieee80211_hw *hw,
5149 void ieee80211_tx_rate_update(struct ieee80211_hw *hw,
5169 void ieee80211_tx_status(struct ieee80211_hw *hw,
5186 void ieee80211_tx_status_ext(struct ieee80211_hw *hw,
5205 static inline void ieee80211_tx_status_noskb(struct ieee80211_hw *hw,
5229 static inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw,
5249 void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw,
5304 ieee80211_beacon_get_template(struct ieee80211_hw *hw,
5325 ieee80211_beacon_get_template_ema_index(struct ieee80211_hw *hw,
5364 ieee80211_beacon_get_template_ema_list(struct ieee80211_hw *hw,
5401 struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
5417 static inline struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw,
5491 struct sk_buff *ieee80211_proberesp_get(struct ieee80211_hw *hw,
5508 struct sk_buff *ieee80211_pspoll_get(struct ieee80211_hw *hw,
5533 struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
5550 struct sk_buff *ieee80211_probereq_get(struct ieee80211_hw *hw,
5569 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
5587 __le16 ieee80211_rts_duration(struct ieee80211_hw *hw,
5605 void ieee80211_ctstoself_get(struct ieee80211_hw *hw,
5624 __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw,
5642 __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw,
5670 ieee80211_get_buffered_bc(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
5870 void ieee80211_wake_queue(struct ieee80211_hw *hw, int queue);
5879 void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue);
5891 int ieee80211_queue_stopped(struct ieee80211_hw *hw, int queue);
5899 void ieee80211_stop_queues(struct ieee80211_hw *hw);
5907 void ieee80211_wake_queues(struct ieee80211_hw *hw);
5920 void ieee80211_scan_completed(struct ieee80211_hw *hw,
5931 void ieee80211_sched_scan_results(struct ieee80211_hw *hw);
5943 void ieee80211_sched_scan_stopped(struct ieee80211_hw *hw);
5979 void ieee80211_iterate_interfaces(struct ieee80211_hw *hw, u32 iter_flags,
6000 ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, u32 iter_flags,
6024 void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw,
6043 void ieee80211_iterate_active_interfaces_mtx(struct ieee80211_hw *hw,
6062 void ieee80211_iterate_stations_atomic(struct ieee80211_hw *hw,
6075 void ieee80211_queue_work(struct ieee80211_hw *hw, struct work_struct *work);
6087 void ieee80211_queue_delayed_work(struct ieee80211_hw *hw,
6195 struct ieee80211_sta *ieee80211_find_sta_by_ifaddr(struct ieee80211_hw *hw,
6210 ieee80211_find_sta_by_link_addrs(struct ieee80211_hw *hw,
6244 void ieee80211_sta_block_awake(struct ieee80211_hw *hw,
6341 ieee80211_txq_airtime_check(struct ieee80211_hw *hw, struct ieee80211_txq *txq);
6361 void ieee80211_iter_keys(struct ieee80211_hw *hw,
6363 void (*iter)(struct ieee80211_hw *hw,
6385 void ieee80211_iter_keys_rcu(struct ieee80211_hw *hw,
6387 void (*iter)(struct ieee80211_hw *hw,
6414 struct ieee80211_hw *hw,
6415 void (*iter)(struct ieee80211_hw *hw,
6434 struct sk_buff *ieee80211_ap_probereq_get(struct ieee80211_hw *hw,
6539 void ieee80211_radar_detected(struct ieee80211_hw *hw);
6580 void ieee80211_ready_on_channel(struct ieee80211_hw *hw);
6586 void ieee80211_remain_on_channel_expired(struct ieee80211_hw *hw);
6727 struct ieee80211_hw *hw;
6760 void *(*alloc)(struct ieee80211_hw *hw);
6761 void (*add_debugfs)(struct ieee80211_hw *hw, void *priv,
6839 int rate_control_set_rates(struct ieee80211_hw *hw,
7000 bool ieee80211_tx_prepare_skb(struct ieee80211_hw *hw,
7136 struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
7150 static inline struct sk_buff *ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw,
7171 void ieee80211_handle_wake_tx_queue(struct ieee80211_hw *hw,
7184 struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac);
7195 void ieee80211_txq_schedule_start(struct ieee80211_hw *hw, u8 ac);
7198 static inline void ieee80211_txq_schedule_end(struct ieee80211_hw *hw, u8 ac)
7202 void __ieee80211_schedule_txq(struct ieee80211_hw *hw,
7218 ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
7234 ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq,
7264 bool ieee80211_txq_may_transmit(struct ieee80211_hw *hw,
7324 u32 ieee80211_calc_rx_airtime(struct ieee80211_hw *hw,
7338 u32 ieee80211_calc_tx_airtime(struct ieee80211_hw *hw,
7362 struct sk_buff *ieee80211_get_fils_discovery_tmpl(struct ieee80211_hw *hw,
7376 ieee80211_get_unsol_bcast_probe_resp_tmpl(struct ieee80211_hw *hw,