Lines Matching refs:wl

18 int wl1251_hw_init_hwenc_config(struct wl1251 *wl)
22 ret = wl1251_acx_feature_cfg(wl, 0);
28 ret = wl1251_acx_default_key(wl, wl->default_key);
37 int wl1251_hw_init_templates_config(struct wl1251 *wl)
43 ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, NULL,
48 ret = wl1251_cmd_template_set(wl, CMD_NULL_DATA, NULL,
53 ret = wl1251_cmd_template_set(wl, CMD_PS_POLL, NULL,
58 ret = wl1251_cmd_template_set(wl, CMD_QOS_NULL_DATA, NULL,
64 ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, NULL,
70 ret = wl1251_cmd_template_set(wl, CMD_BEACON, NULL,
78 ret = wl1251_cmd_vbm(wl, TIM_ELE_ID, partial_vbm, PARTIAL_VBM_MAX, 0);
82 ret = wl1251_cmd_vbm(wl, TIM_ELE_ID, partial_vbm, 1, 0);
89 int wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter)
93 ret = wl1251_acx_rx_msdu_life_time(wl, RX_MSDU_LIFETIME_DEF);
97 ret = wl1251_acx_rx_config(wl, config, filter);
104 int wl1251_hw_init_phy_config(struct wl1251 *wl)
108 ret = wl1251_acx_pd_threshold(wl);
112 ret = wl1251_acx_slot(wl, DEFAULT_SLOT_TIME);
116 ret = wl1251_acx_group_address_tbl(wl, true, NULL, 0);
120 ret = wl1251_acx_service_period_timeout(wl);
124 ret = wl1251_acx_rts_threshold(wl, RTS_THRESHOLD_DEF);
131 int wl1251_hw_init_beacon_filter(struct wl1251 *wl)
136 ret = wl1251_acx_beacon_filter_opt(wl, false);
140 ret = wl1251_acx_beacon_filter_table(wl);
147 int wl1251_hw_init_pta(struct wl1251 *wl)
151 ret = wl1251_acx_sg_enable(wl);
155 ret = wl1251_acx_sg_cfg(wl);
162 int wl1251_hw_init_energy_detection(struct wl1251 *wl)
166 ret = wl1251_acx_cca_threshold(wl);
173 int wl1251_hw_init_beacon_broadcast(struct wl1251 *wl)
177 ret = wl1251_acx_bcn_dtim_options(wl);
184 int wl1251_hw_init_power_auth(struct wl1251 *wl)
186 return wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM);
189 int wl1251_hw_init_mem_config(struct wl1251 *wl)
193 ret = wl1251_acx_mem_cfg(wl);
197 wl->target_mem_map = kzalloc(sizeof(struct wl1251_acx_mem_map),
199 if (!wl->target_mem_map) {
205 ret = wl1251_acx_mem_map(wl, wl->target_mem_map,
209 kfree(wl->target_mem_map);
210 wl->target_mem_map = NULL;
256 static int wl1251_hw_init_tx_queue_config(struct wl1251 *wl)
259 struct wl1251_acx_mem_map *wl_mem_map = wl->target_mem_map;
276 ret = wl1251_cmd_configure(wl, ACX_TX_QUEUE_CFG,
282 wl1251_acx_ac_cfg(wl, AC_BE, CWMIN_BE, CWMAX_BE, AIFS_DIFS, TXOP_BE);
283 wl1251_acx_ac_cfg(wl, AC_BK, CWMIN_BK, CWMAX_BK, AIFS_DIFS, TXOP_BK);
284 wl1251_acx_ac_cfg(wl, AC_VI, CWMIN_VI, CWMAX_VI, AIFS_DIFS, TXOP_VI);
285 wl1251_acx_ac_cfg(wl, AC_VO, CWMIN_VO, CWMAX_VO, AIFS_DIFS, TXOP_VO);
292 static int wl1251_hw_init_data_path_config(struct wl1251 *wl)
297 wl->data_path = kzalloc(sizeof(struct acx_data_path_params_resp),
299 if (!wl->data_path)
302 ret = wl1251_acx_data_path_params(wl, wl->data_path);
304 kfree(wl->data_path);
305 wl->data_path = NULL;
313 int wl1251_hw_init(struct wl1251 *wl)
318 ret = wl1251_hw_init_hwenc_config(wl);
323 ret = wl1251_hw_init_templates_config(wl);
328 ret = wl1251_hw_init_mem_config(wl);
333 ret = wl1251_hw_init_data_path_config(wl);
338 ret = wl1251_hw_init_rx_config(wl,
347 ret = wl1251_hw_init_tx_queue_config(wl);
352 ret = wl1251_hw_init_phy_config(wl);
357 ret = wl1251_acx_conn_monit_params(wl);
362 ret = wl1251_hw_init_beacon_filter(wl);
367 ret = wl1251_hw_init_pta(wl);
372 ret = wl1251_hw_init_energy_detection(wl);
377 ret = wl1251_hw_init_beacon_broadcast(wl);
382 ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1);
387 ret = wl1251_cmd_data_path_tx(wl, wl->channel, 1);
392 ret = wl1251_hw_init_power_auth(wl);
396 wl_mem_map = wl->target_mem_map;
399 wl->data_path->tx_control_addr,
401 wl->data_path->rx_control_addr);
406 kfree(wl->data_path);
409 kfree(wl->target_mem_map);