Lines Matching refs:wl

22 int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif,
41 ret = wl1271_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
53 int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth)
68 ret = wl1271_cmd_configure(wl, ACX_SLEEP_AUTH, auth, sizeof(*auth));
75 wl->sleep_auth = sleep_auth;
82 int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif,
102 ret = wl1271_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx));
113 int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif)
131 ret = wl1271_cmd_configure(wl, ACX_FEATURE_CFG,
143 int wl1271_acx_mem_map(struct wl1271 *wl, struct acx_header *mem_map,
150 ret = wl1271_cmd_interrogate(wl, ACX_MEM_MAP, mem_map,
158 int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl)
171 acx->lifetime = cpu_to_le32(wl->conf.rx.rx_msdu_life_time);
172 ret = wl1271_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME,
184 int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif,
202 ret = wl1271_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot));
213 int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif,
233 ret = wl1271_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL,
245 int wl1271_acx_service_period_timeout(struct wl1271 *wl,
260 rx_timeout->ps_poll_timeout = cpu_to_le16(wl->conf.rx.ps_poll_timeout);
261 rx_timeout->upsd_timeout = cpu_to_le16(wl->conf.rx.upsd_timeout);
263 ret = wl1271_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT,
276 int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif,
287 rts_threshold = wl->conf.rx.rts_threshold;
300 ret = wl1271_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts));
311 int wl1271_acx_dco_itrim_params(struct wl1271 *wl)
314 struct conf_itrim_settings *c = &wl->conf.itrim;
328 ret = wl1271_cmd_configure(wl, ACX_SET_DCO_ITRIM_PARAMS,
340 int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif,
350 wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED)
368 ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_OPT,
380 int wl1271_acx_beacon_filter_table(struct wl1271 *wl,
399 for (i = 0; i < wl->conf.conn.bcn_filt_ie_count; i++) {
400 struct conf_bcn_filt_rule *r = &(wl->conf.conn.bcn_filt_ie[i]);
424 ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_TABLE,
438 int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif,
456 threshold = wl->conf.conn.synch_fail_thold;
457 timeout = wl->conf.conn.bss_lose_timeout;
464 ret = wl1271_cmd_configure(wl, ACX_CONN_MONIT_PARAMS,
478 int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable)
492 pta->enable = wl->conf.sg.state;
496 ret = wl1271_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta));
507 int wl12xx_acx_sg_cfg(struct wl1271 *wl)
510 struct conf_sg_settings *c = &wl->conf.sg;
526 ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
537 int wl1271_acx_cca_threshold(struct wl1271 *wl)
550 detection->rx_cca_threshold = cpu_to_le16(wl->conf.rx.rx_cca_threshold);
551 detection->tx_energy_detection = wl->conf.tx.tx_energy_detection;
553 ret = wl1271_cmd_configure(wl, ACX_CCA_THRESHOLD,
563 int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif)
577 bb->beacon_rx_timeout = cpu_to_le16(wl->conf.conn.beacon_rx_timeout);
578 bb->broadcast_timeout = cpu_to_le16(wl->conf.conn.broadcast_timeout);
579 bb->rx_broadcast_in_ps = wl->conf.conn.rx_broadcast_in_ps;
580 bb->ps_poll_threshold = wl->conf.conn.ps_poll_threshold;
582 ret = wl1271_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb));
593 int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid)
609 ret = wl1271_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid));
620 int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask)
637 ret = wl1271_cmd_configure(wl, ACX_EVENT_MBOX_MASK,
649 int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif,
666 ret = wl1271_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx));
677 int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif,
694 ret = wl1271_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx));
705 int wl1271_acx_statistics(struct wl1271 *wl, void *stats)
711 ret = wl1271_cmd_interrogate(wl, ACX_STATISTICS, stats,
713 wl->stats.fw_stats_len);
722 int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
725 struct conf_tx_rate_class *c = &wl->conf.tx.sta_rc_conf;
747 ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
758 cpu_to_le32(wlcore_hw_sta_get_ap_rate_mask(wl, wlvif));
763 ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
781 ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
792 int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c,
814 ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
825 int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
848 ret = wl1271_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx));
859 int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
885 ret = wl1271_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx));
896 int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold)
906 frag_threshold = wl->conf.tx.frag_threshold;
918 ret = wl1271_cmd_configure(wl, ACX_FRAG_CFG, acx, sizeof(*acx));
929 int wl1271_acx_tx_config_options(struct wl1271 *wl)
943 acx->tx_compl_timeout = cpu_to_le16(wl->conf.tx.tx_compl_timeout);
944 acx->tx_compl_threshold = cpu_to_le16(wl->conf.tx.tx_compl_threshold);
945 ret = wl1271_cmd_configure(wl, ACX_TX_CONFIG_OPT, acx, sizeof(*acx));
956 int wl12xx_acx_mem_cfg(struct wl1271 *wl)
970 mem = &wl->conf.mem;
977 mem_conf->total_tx_descriptors = cpu_to_le32(wl->num_tx_desc);
982 mem_conf->fwlog_blocks = wl->conf.fwlog.mem_blocks;
984 ret = wl1271_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
997 int wl1271_acx_init_mem_config(struct wl1271 *wl)
1001 wl->target_mem_map = kzalloc(sizeof(struct wl1271_acx_mem_map),
1003 if (!wl->target_mem_map) {
1009 ret = wl1271_acx_mem_map(wl, (void *)wl->target_mem_map,
1013 kfree(wl->target_mem_map);
1014 wl->target_mem_map = NULL;
1019 wl->tx_blocks_available =
1020 le32_to_cpu(wl->target_mem_map->num_tx_mem_blocks);
1022 wl->tx_blocks_available);
1028 int wl1271_acx_init_rx_interrupt(struct wl1271 *wl)
1041 rx_conf->threshold = cpu_to_le16(wl->conf.rx.irq_pkt_threshold);
1042 rx_conf->timeout = cpu_to_le16(wl->conf.rx.irq_timeout);
1043 rx_conf->mblk_threshold = cpu_to_le16(wl->conf.rx.irq_blk_threshold);
1044 rx_conf->queue_type = wl->conf.rx.queue_type;
1046 ret = wl1271_cmd_configure(wl, ACX_RX_CONFIG_OPT, rx_conf,
1058 int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1066 if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE)
1077 acx->max_consecutive = wl->conf.conn.bet_max_consecutive;
1079 ret = wl1271_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx));
1090 int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1111 ret = wl1271_cmd_configure(wl, ACX_ARP_IP_FILTER,
1123 int wl1271_acx_pm_config(struct wl1271 *wl)
1126 struct conf_pm_config_settings *c = &wl->conf.pm_config;
1140 ret = wl1271_cmd_configure(wl, ACX_PM_CONFIG, acx, sizeof(*acx));
1152 int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1169 ret = wl1271_cmd_configure(wl, ACX_KEEP_ALIVE_MODE, acx, sizeof(*acx));
1180 int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1195 acx->period = cpu_to_le32(wl->conf.conn.keep_alive_interval);
1200 ret = wl1271_cmd_configure(wl, ACX_SET_KEEP_ALIVE_CONFIG,
1212 int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1229 acx->pacing = cpu_to_le16(wl->conf.roam_trigger.trigger_pacing);
1242 ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_TRIGGER, acx, sizeof(*acx));
1253 int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl,
1257 struct conf_roam_trigger_settings *c = &wl->conf.roam_trigger;
1274 ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_WEIGHTS, acx, sizeof(*acx));
1285 int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
1321 ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx));
1334 int wl1271_acx_set_ht_information(struct wl1271 *wl,
1358 ret = wl1271_cmd_configure(wl, ACX_HT_BSS_OPERATION, acx, sizeof(*acx));
1371 int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
1387 acx->tid_bitmap = wl->conf.ht.tx_ba_tid_bitmap;
1388 acx->win_size = wl->conf.ht.tx_ba_win_size;
1389 acx->inactivity_timeout = wl->conf.ht.inactivity_timeout;
1391 ret = wl1271_cmd_configure(wl,
1406 int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
1427 ret = wlcore_cmd_configure_failsafe(wl, ACX_BA_SESSION_RX_SETUP, acx,
1448 int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1462 ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO, tsf_info,
1477 int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1492 conf_queues = wl->conf.rx_streaming.queues;
1510 rx_streaming->period = wl->conf.rx_streaming.interval;
1511 rx_streaming->timeout = wl->conf.rx_streaming.interval;
1513 ret = wl1271_cmd_configure(wl, ACX_PS_RX_STREAMING,
1526 int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif)
1538 acx->max_tx_retry = cpu_to_le16(wl->conf.tx.max_tx_retries);
1540 ret = wl1271_cmd_configure(wl, ACX_MAX_TX_FAILURE, acx, sizeof(*acx));
1551 int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif)
1564 config_ps->exit_retries = wl->conf.conn.psm_exit_retries;
1565 config_ps->enter_retries = wl->conf.conn.psm_entry_retries;
1568 ret = wl1271_cmd_configure(wl, ACX_CONFIG_PS, config_ps,
1581 int wl1271_acx_set_inconnection_sta(struct wl1271 *wl,
1596 ret = wl1271_cmd_configure(wl, ACX_UPDATE_INCONNECTION_STA_LIST,
1608 int wl1271_acx_fm_coex(struct wl1271 *wl)
1621 acx->enable = wl->conf.fm_coex.enable;
1622 acx->swallow_period = wl->conf.fm_coex.swallow_period;
1623 acx->n_divider_fref_set_1 = wl->conf.fm_coex.n_divider_fref_set_1;
1624 acx->n_divider_fref_set_2 = wl->conf.fm_coex.n_divider_fref_set_2;
1626 cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_1);
1628 cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_2);
1630 cpu_to_le32(wl->conf.fm_coex.coex_pll_stabilization_time);
1632 cpu_to_le16(wl->conf.fm_coex.ldo_stabilization_time);
1634 wl->conf.fm_coex.fm_disturbed_band_margin;
1635 acx->swallow_clk_diff = wl->conf.fm_coex.swallow_clk_diff;
1637 ret = wl1271_cmd_configure(wl, ACX_FM_COEX_CFG, acx, sizeof(*acx));
1648 int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl)
1651 struct conf_rate_policy_settings *conf = &wl->conf.rate;
1678 ret = wl1271_cmd_configure(wl, ACX_SET_RATE_MGMT_PARAMS,
1690 int wl12xx_acx_config_hangover(struct wl1271 *wl)
1693 struct conf_hangover_settings *conf = &wl->conf.hangover;
1716 ret = wl1271_cmd_configure(wl, ACX_CONFIG_HANGOVER, acx,
1730 int wlcore_acx_average_rssi(struct wl1271 *wl, struct wl12xx_vif *wlvif,
1745 ret = wl1271_cmd_interrogate(wl, ACX_ROAMING_STATISTICS_TBL,
1761 int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
1777 ret = wl1271_cmd_configure(wl, ACX_ENABLE_RX_DATA_FILTER, acx,
1790 int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable,
1829 ret = wl1271_cmd_configure(wl, ACX_SET_RX_DATA_FILTER, acx, acx_size);