| /linux/drivers/net/wireless/morsemicro/mm81x/ |
| H A D | hif.h | 34 int (*init)(struct mm81x *mors); 35 void (*flush_tx_data)(struct mm81x *mors); 36 void (*flush_cmds)(struct mm81x *mors); 37 void (*finish)(struct mm81x *mors); 38 void (*skbq_get_tx_qs)(struct mm81x *mors, struct mm81x_skbq **qs, 40 struct mm81x_skbq *(*get_tx_cmd_queue)(struct mm81x *mors); 41 struct mm81x_skbq *(*get_tx_beacon_queue)(struct mm81x *mors); 42 struct mm81x_skbq *(*get_tx_mgmt_queue)(struct mm81x *mors); 43 struct mm81x_skbq *(*get_tx_data_queue)(struct mm81x *mors, int aci); 44 int (*handle_irq)(struct mm81x *mors, u32 status); [all …]
|
| H A D | bus.h | 18 int (*dm_read)(struct mm81x *mors, u32 addr, u8 *data, int len); 19 int (*dm_write)(struct mm81x *mors, u32 addr, const u8 *data, int len); 20 int (*reg32_read)(struct mm81x *mors, u32 addr, u32 *data); 21 int (*reg32_write)(struct mm81x *mors, u32 addr, u32 data); 22 int (*digital_reset)(struct mm81x *mors); 23 void (*set_bus_enable)(struct mm81x *mors, bool enable); 24 void (*config_burst_mode)(struct mm81x *mors, bool enable_burst); 25 void (*claim)(struct mm81x *mors); 26 void (*set_irq)(struct mm81x *mors, bool enable); 27 void (*release)(struct mm81x *mors); [all …]
|
| H A D | command.h | 49 int mm81x_cmd_resp_process(struct mm81x *mors, struct sk_buff *skb); 50 int mm81x_cmd_add_if(struct mm81x *mors, u16 *vif_id, const u8 *addr, 52 int mm81x_cmd_get_capabilities(struct mm81x *mors, u16 vif_id, 54 int mm81x_cmd_cfg_qos(struct mm81x *mors, struct mm81x_queue_params *params); 55 int mm81x_cmd_config_beacon_timer(struct mm81x *mors, void *mm81x_vif, 57 int mm81x_cmd_cfg_bss(struct mm81x *mors, u16 vif_id, u16 beacon_int, 59 int mm81x_cmd_set_channel(struct mm81x *mors, u32 op_chan_freq_hz, 62 int mm81x_cmd_get_max_txpower(struct mm81x *mors, s32 *out_power_mbm); 63 int mm81x_cmd_set_txpower(struct mm81x *mors, s32 *out_power_mbm, 65 int mm81x_cmd_hw_scan(struct mm81x *mors, struct mm81x_hw_scan_params *params, [all …]
|
| H A D | rc.h | 24 struct mm81x *mors; 33 void mm81x_rc_init(struct mm81x *mors); 34 void mm81x_rc_deinit(struct mm81x *mors); 35 int mm81x_rc_sta_add(struct mm81x *mors, struct ieee80211_vif *vif, 37 void mm81x_rc_sta_remove(struct mm81x *mors, struct ieee80211_sta *sta); 38 void mm81x_rc_sta_fill_tx_rates(struct mm81x *mors, 42 void mm81x_rc_sta_feedback_rates(struct mm81x *mors, struct sk_buff *skb, 46 void mm81x_rc_sta_state_check(struct mm81x *mors, struct ieee80211_vif *vif,
|
| H A D | mac.h | 37 mm81x_rcu_dereference_vif_id(struct mm81x *mors, u8 vif_id, bool rcu) in mm81x_rcu_dereference_vif_id() 49 int mm81x_tx_h_get_attempts(struct mm81x *mors, 51 struct mm81x *mm81x_mac_alloc(size_t priv_size, struct device *dev); 52 int mm81x_mac_register(struct mm81x *mors); 53 void mm81x_mac_free(struct mm81x *mors); 54 void mm81x_mac_unregister(struct mm81x *mors); 55 int mm81x_mac_event_recv(struct mm81x *mors, struct sk_buff *skb); 56 void mm81x_mac_rx_skb(struct mm81x *mors, struct sk_buff *skb, 58 void mm81x_mac_beacon_irq_handle(struct mm81x *mors, u32 status);
|
| H A D | ps.c | 16 struct mm81x *mors = container_of(mps, struct mm81x, ps); in mm81x_ps_wakeup() 27 struct mm81x *mors = container_of(mps, struct mm81x, ps); in mm81x_ps_sleep() 38 struct mm81x *mors = container_of(mps, struct mm81x, ps); in mm81x_ps_evaluate() 71 void mm81x_ps_enable(struct mm81x *mors) in mm81x_ps_enable() 87 void mm81x_ps_disable(struct mm81x *mors) in mm81x_ps_disable() 99 int mm81x_ps_init(struct mm81x *mors) in mm81x_ps_init() 112 void mm81x_ps_finish(struct mm81x *mors) in mm81x_ps_finish()
|
| H A D | hw.c | 63 static void mm81x_hw_otp_power_up(struct mm81x *mors) in mm81x_hw_otp_power_up() 75 static void mm81x_hw_otp_power_down(struct mm81x *mors) in mm81x_hw_otp_power_down() 82 static void mm81x_hw_otp_read_enable(struct mm81x *mors) in mm81x_hw_otp_read_enable() 89 static void mm81x_hw_otp_read_disable(struct mm81x *mors) in mm81x_hw_otp_read_disable() 95 static int mm81x_hw_otp_read(struct mm81x *mors, u8 bank_num, u32 *buf, in mm81x_hw_otp_read() 128 int mm81x_hw_otp_get_board_type(struct mm81x *mors) in mm81x_hw_otp_get_board_type() 158 int mm81x_hw_otp_get_mac_addr(struct mm81x *mors) in mm81x_hw_otp_get_mac_addr() 188 void mm81x_hw_irq_enable(struct mm81x *mors, u32 irq, bool enable) in mm81x_hw_irq_enable() 207 int mm81x_hw_irq_handle(struct mm81x *mors) in mm81x_hw_irq_handle() 225 void mm81x_hw_irq_clear(struct mm81x *mors) in mm81x_hw_irq_clear() [all …]
|
| H A D | yaps.h | 33 struct mm81x *mors; 67 int mm81x_yaps_init(struct mm81x *mors); 69 void mm81x_yaps_finish(struct mm81x *mors); 70 void mm81x_yaps_flush_tx_data(struct mm81x *mors); 71 void mm81x_yaps_flush_cmds(struct mm81x *mors); 74 int mm81x_yaps_get_tx_status_pending_count(struct mm81x *mors); 75 int mm81x_yaps_get_tx_buffered_count(struct mm81x *mors);
|
| H A D | hw.h | 131 int mm81x_hw_otp_get_board_type(struct mm81x *mors); 133 int mm81x_hw_otp_get_mac_addr(struct mm81x *mors); 135 void mm81x_hw_irq_enable(struct mm81x *mors, u32 irq, bool enable); 136 int mm81x_hw_irq_handle(struct mm81x *mors); 137 void mm81x_hw_irq_clear(struct mm81x *mors); 138 void mm81x_hw_toggle_aon_latch(struct mm81x *mors); 139 void mm81x_hw_enable_burst_mode(struct mm81x *mors, const u8 burst_mode); 140 int mm81x_hw_digital_reset(struct mm81x *mors); 141 void mm81x_hw_pre_firmware_ndr_hook(struct mm81x *mors); 142 void mm81x_hw_post_firmware_ndr_hook(struct mm81x *mors); [all …]
|
| H A D | core.c | 11 static int mm81x_core_attach_regs(struct mm81x *mors) in mm81x_core_attach_regs() 36 static void mm81x_core_init_mac_addr(struct mm81x *mors) in mm81x_core_init_mac_addr() 61 struct mm81x *mm81x_core_alloc(size_t priv_size, struct device *dev) in mm81x_core_alloc() 67 int mm81x_core_init(struct mm81x *mors) in mm81x_core_init() 108 int mm81x_core_register(struct mm81x *mors) in mm81x_core_register() 114 void mm81x_core_unregister(struct mm81x *mors) in mm81x_core_unregister() 120 void mm81x_core_deinit(struct mm81x *mors) in mm81x_core_deinit() 130 void mm81x_core_free(struct mm81x *mors) in mm81x_core_free()
|
| H A D | yaps_hw.h | 44 struct mm81x; 46 void mm81x_yaps_hw_enable_irqs(struct mm81x *mors, bool enable); 47 int mm81x_yaps_hw_init(struct mm81x *mors); 48 void mm81x_yaps_hw_finish(struct mm81x *mors); 49 void mm81x_yaps_hw_read_table(struct mm81x *mors,
|
| H A D | ps.h | 17 void mm81x_ps_disable(struct mm81x *mors); 18 void mm81x_ps_enable(struct mm81x *mors); 19 int mm81x_ps_init(struct mm81x *mors); 20 void mm81x_ps_finish(struct mm81x *mors);
|
| H A D | mac.c | 218 static bool mm81x_tx_h_pkt_over_rts_threshold(struct mm81x *mors, in mm81x_tx_h_pkt_over_rts_threshold() 238 static bool mm81x_tx_h_ps_filtered_for_sta(struct mm81x *mors, in mm81x_tx_h_ps_filtered_for_sta() 266 struct mm81x *mors = hw->priv; in mm81x_mac_check_fw_disabled_chans() 319 struct mm81x *mors = hw->priv; in mm81x_mac_ops_start() 325 static int mm81x_tx_h_get_max_bw(struct mm81x *mors) in mm81x_tx_h_get_max_bw() 333 static void mm81x_mac_caps_init(struct mm81x *mors) in mm81x_mac_caps_init() 414 struct mm81x *mors = mm81x_vif_to_mors(mors_vif); in mm81x_mac_beacon_irq_enable() 423 static void mm81x_beacon_h_fill_tx_info(struct mm81x *mors, in mm81x_beacon_h_fill_tx_info() 452 struct mm81x *mors = mm81x_vif_to_mors(mors_vif); in mm81x_mac_beacon_work() 481 void mm81x_mac_beacon_irq_handle(struct mm81x *mors, u32 status) in mm81x_mac_beacon_irq_handle() [all …]
|
| H A D | skbq.h | 174 struct mm81x; 177 struct mm81x *mors; 188 void mm81x_skbq_purge_aged(struct mm81x *mors, struct mm81x_skbq *mq); 202 void mm81x_skbq_init(struct mm81x *mors, struct mm81x_skbq *mq, u16 flags); 205 void mm81x_skbq_mon_dump(struct mm81x *mors, struct seq_file *file); 209 int mm81x_skbq_check_for_stale_tx(struct mm81x *mors, struct mm81x_skbq *mq); 210 void mm81x_skbq_may_wake_tx_queues(struct mm81x *mors); 214 void mm81x_skbq_data_traffic_pause(struct mm81x *mors); 215 void mm81x_skbq_data_traffic_resume(struct mm81x *mors);
|
| H A D | core.h | 203 struct mm81x *mors; 303 struct mm81x { struct 416 static inline bool mm81x_is_data_tx_allowed(struct mm81x *mors) in mm81x_is_data_tx_allowed() 435 static inline struct mm81x *mm81x_vif_to_mors(struct mm81x_vif *mors_vif) in mm81x_vif_to_mors() 447 void mm81x_beacon_irq_handle(struct mm81x *mors, u32 status); 449 struct mm81x *mm81x_core_alloc(size_t priv_size, struct device *dev); 450 int mm81x_core_init(struct mm81x *mors); 451 int mm81x_core_register(struct mm81x *mors); 452 void mm81x_core_unregister(struct mm81x *mors); 453 void mm81x_core_deinit(struct mm81x *mors); [all …]
|
| H A D | yaps.c | 72 static struct mm81x_skbq *mm81x_yaps_tc_q_from_aci(struct mm81x *mors, int aci) in mm81x_yaps_tc_q_from_aci() 81 static void mm81x_yaps_get_tx_qs(struct mm81x *mors, struct mm81x_skbq **qs, in mm81x_yaps_get_tx_qs() 88 static struct mm81x_skbq *mm81x_yaps_get_bcn_tc_q(struct mm81x *mors) in mm81x_yaps_get_bcn_tc_q() 93 static struct mm81x_skbq *mm81x_yaps_get_mgmt_tc_q(struct mm81x *mors) in mm81x_yaps_get_mgmt_tc_q() 98 static struct mm81x_skbq *mm81x_yaps_get_tx_cmd_queue(struct mm81x *mors) in mm81x_yaps_get_tx_cmd_queue() 103 static int mm81x_yaps_irq_handler(struct mm81x *mors, u32 status) in mm81x_yaps_irq_handler() 135 struct mm81x *mors = yaps->mors; in mm81x_yaps_read_pkt() 238 struct mm81x *mors = yaps->mors; in mm81x_yaps_tx() 329 struct mm81x *mors = yaps->mors; in mm81x_yaps_tx_data_handler() 419 struct mm81x *mors = container_of(work, struct mm81x, tx_stale_work); in mm81x_yaps_stale_tx_work() [all …]
|
| H A D | command.c | 33 static int mm81x_cmd_tx(struct mm81x *mors, struct host_cmd_resp *resp, in mm81x_cmd_tx() 146 int mm81x_cmd_resp_process(struct mm81x *mors, struct sk_buff *skb) in mm81x_cmd_resp_process() 232 int mm81x_cmd_sta_state(struct mm81x *mors, struct mm81x_vif *mors_vif, u16 aid, in mm81x_cmd_sta_state() 249 int mm81x_cmd_add_if(struct mm81x *mors, u16 *vif_id, const u8 *addr, in mm81x_cmd_add_if() 279 int mm81x_cmd_get_capabilities(struct mm81x *mors, u16 vif_id, in mm81x_cmd_get_capabilities() 308 int mm81x_cmd_get_max_txpower(struct mm81x *mors, s32 *out_power_mbm) in mm81x_cmd_get_max_txpower() 324 int mm81x_cmd_hw_scan(struct mm81x *mors, struct mm81x_hw_scan_params *params, in mm81x_cmd_hw_scan() 365 int mm81x_cmd_set_txpower(struct mm81x *mors, s32 *out_power_mbm, in mm81x_cmd_set_txpower() 383 int mm81x_cmd_set_channel(struct mm81x *mors, u32 op_chan_freq_hz, in mm81x_cmd_set_channel() 406 int mm81x_cmd_disable_key(struct mm81x *mors, struct mm81x_vif *mors_vif, in mm81x_cmd_disable_key() [all …]
|
| H A D | sdio.c | 47 struct mm81x *mors = sdio_get_drvdata(func); in irq_handler() 57 struct mm81x *mors = sdio_get_drvdata(func); in mm81x_sdio_enable_irq() 78 static void mm81x_sdio_set_irq(struct mm81x *mors, bool enable) in mm81x_sdio_set_irq() 107 struct mm81x *mors = sdio_get_drvdata(sdio->func); in mm81x_sdio_set_func_address_base() 155 struct mm81x *mors = sdio_get_drvdata(sdio->func); in mm81x_sdio_mem_write_block() 196 static void mm81x_sdio_claim_host(struct mm81x *mors) in mm81x_sdio_claim_host() 204 static void mm81x_sdio_release_host(struct mm81x *mors) in mm81x_sdio_release_host() 217 struct mm81x *mors = sdio_get_drvdata(sdio->func); in mm81x_sdio_mem_read_block() 269 static int mm81x_sdio_dm_write(struct mm81x *mors, u32 address, const u8 *data, in mm81x_sdio_dm_write() 326 static int mm81x_sdio_dm_read(struct mm81x *mors, u32 address, u8 *data, in mm81x_sdio_dm_read() [all …]
|
| H A D | fw.c | 55 static void mm81x_fw_parse_info(struct mm81x *mors, const u8 *data, int length) in mm81x_fw_parse_info() 91 static int mm81x_fw_set_boot_addr(struct mm81x *mors, uint32_t addr) in mm81x_fw_set_boot_addr() 102 static int mm81x_fw_load_fw(struct mm81x *mors, const struct firmware *fw) in mm81x_fw_load_fw() 186 static int __mm81x_fw_load_bcf(struct mm81x *mors, unsigned int addr, in __mm81x_fw_load_bcf() 209 static int mm81x_fw_load_bcf(struct mm81x *mors, const struct firmware *bcf, in mm81x_fw_load_bcf() 299 static void mm81x_fw_clear_aon(struct mm81x *mors) in mm81x_fw_clear_aon() 318 static void mm81x_fw_trigger(struct mm81x *mors) in mm81x_fw_trigger() 341 static int mm81x_fw_verify_magic(struct mm81x *mors) in mm81x_fw_verify_magic() 362 static int mm81x_fw_get_flags(struct mm81x *mors) in mm81x_fw_get_flags() 378 static int mm81x_fw_check_compatibility(struct mm81x *mors) in mm81x_fw_check_compatibility() [all …]
|
| H A D | usb.c | 96 struct mm81x *mors = container_of(work, struct mm81x, usb_irq_work); in mm81x_usb_irq_work() 112 struct mm81x *mors = urb->context; in mm81x_usb_int_handler() 147 static int mm81x_usb_int_enable(struct mm81x *mors) in mm81x_usb_int_enable() 199 static void mm81x_usb_int_stop(struct mm81x *mors) in mm81x_usb_int_stop() 209 struct mm81x *mors = urb->context; in mm81x_usb_cmd_callback() 231 struct mm81x *mors = usb_get_intfdata(musb->interface); in mm81x_usb_cmd() 276 static int mm81x_usb_ndr_reset(struct mm81x *mors) in mm81x_usb_ndr_reset() 305 struct mm81x *mors = urb->context; in mm81x_usb_mem_rw_callback() 328 struct mm81x *mors = usb_get_intfdata(musb->interface); in mm81x_usb_mem_read() 396 struct mm81x *mors = usb_get_intfdata(musb->interface); in mm81x_usb_mem_write() [all …]
|
| H A D | skbq.c | 123 __mm81x_skbq_tx_status_to_skbq(struct mm81x *mors, in __mm81x_skbq_tx_status_to_skbq() 193 static void mm81x_skbq_sta_eosp(struct mm81x *mors, struct sk_buff *skb) in mm81x_skbq_sta_eosp() 251 static struct sk_buff *__mm81x_skbq_get_pending_by_id(struct mm81x *mors, in __mm81x_skbq_get_pending_by_id() 276 static void mm81x_skbq_check_tx_empty(struct mm81x *mors, struct mm81x_skbq *mq) in mm81x_skbq_check_tx_empty() 287 static void __mm81x_skbq_tx_status_process(struct mm81x *mors, in __mm81x_skbq_tx_status_process() 321 static void mm81x_skbq_tx_status_process(struct mm81x *mors, in mm81x_skbq_tx_status_process() 352 struct mm81x *mors = mq->mors; in mm81x_skbq_dispatch_work() 433 void mm81x_skbq_purge_aged(struct mm81x *mors, struct mm81x_skbq *mq) in mm81x_skbq_purge_aged() 521 static void mm81x_skbq_stop_tx_queues(struct mm81x *mors) in mm81x_skbq_stop_tx_queues() 534 void mm81x_skbq_may_wake_tx_queues(struct mm81x *mors) in mm81x_skbq_may_wake_tx_queues() [all …]
|
| H A D | rc.c | 44 struct mm81x *mors = mrc->mors; in mm81x_rc_timer() 49 void mm81x_rc_init(struct mm81x *mors) in mm81x_rc_init() 61 void mm81x_rc_deinit(struct mm81x *mors) in mm81x_rc_deinit() 93 static void mm81x_rc_sta_add_s1g_sta_caps(struct mm81x *mors, in mm81x_rc_sta_add_s1g_sta_caps() 122 int mm81x_rc_sta_add(struct mm81x *mors, struct ieee80211_vif *vif, in mm81x_rc_sta_add() 178 void mm81x_rc_sta_remove(struct mm81x *mors, struct ieee80211_sta *sta) in mm81x_rc_sta_remove() 217 static int mm81x_rc_sta_get_rates(struct mm81x *mors, struct mm81x_sta *msta, in mm81x_rc_sta_get_rates() 263 void mm81x_rc_sta_fill_tx_rates(struct mm81x *mors, in mm81x_rc_sta_fill_tx_rates() 343 static void mm81x_rc_sta_set_rates(struct mm81x *mors, struct mm81x_sta *msta, in mm81x_rc_sta_set_rates() 363 void mm81x_rc_sta_feedback_rates(struct mm81x *mors, struct sk_buff *skb, in mm81x_rc_sta_feedback_rates() [all …]
|
| H A D | fw.h | 140 int mm81x_fw_init(struct mm81x *mors, bool reset); 141 int mm81x_fw_parse_ext_host_tbl(struct mm81x *mors);
|
| /linux/drivers/net/wireless/morsemicro/ |
| H A D | Makefile | 2 obj-$(CONFIG_MM81X) += mm81x/
|
| H A D | Kconfig | 14 source "drivers/net/wireless/morsemicro/mm81x/Kconfig"
|