Lines Matching refs:wl
29 static int wl1251_event_scan_complete(struct wl1251 *wl, in wl1251_event_scan_complete() argument
38 if (wl->scanning) { in wl1251_event_scan_complete()
39 ieee80211_scan_completed(wl->hw, false); in wl1251_event_scan_complete()
41 wl->scanning = false; in wl1251_event_scan_complete()
42 if (wl->hw->conf.flags & IEEE80211_CONF_IDLE) in wl1251_event_scan_complete()
43 ret = wl1251_ps_set_mode(wl, STATION_IDLE); in wl1251_event_scan_complete()
50 static int wl1251_event_ps_report(struct wl1251 *wl, in wl1251_event_ps_report() argument
61 if (wl->station_mode != STATION_POWER_SAVE_MODE) { in wl1251_event_ps_report()
63 wl->psm_entry_retry = 0; in wl1251_event_ps_report()
67 if (wl->psm_entry_retry < WL1251_PSM_ENTRY_RETRIES) { in wl1251_event_ps_report()
68 wl->psm_entry_retry++; in wl1251_event_ps_report()
69 ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); in wl1251_event_ps_report()
72 wl->psm_entry_retry = 0; in wl1251_event_ps_report()
79 wl->psm_entry_retry = 0; in wl1251_event_ps_report()
93 static int wl1251_event_process(struct wl1251 *wl, struct event_mailbox *mbox) in wl1251_event_process() argument
104 ret = wl1251_event_scan_complete(wl, mbox); in wl1251_event_process()
112 if (wl->psm_requested && in wl1251_event_process()
113 wl->station_mode != STATION_ACTIVE_MODE) { in wl1251_event_process()
114 ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE); in wl1251_event_process()
122 ret = wl1251_event_ps_report(wl, mbox); in wl1251_event_process()
131 if (wl->vif && wl->vif->type == NL80211_IFTYPE_STATION) in wl1251_event_process()
132 ieee80211_beacon_loss(wl->vif); in wl1251_event_process()
136 if (wl->psm_requested) { in wl1251_event_process()
137 ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); in wl1251_event_process()
143 if (wl->vif && wl->rssi_thold) { in wl1251_event_process()
147 ieee80211_cqm_rssi_notify(wl->vif, in wl1251_event_process()
155 ieee80211_cqm_rssi_notify(wl->vif, in wl1251_event_process()
168 int wl1251_event_wait(struct wl1251 *wl, u32 mask, int timeout_ms) in wl1251_event_wait() argument
182 wl1251_mem_read(wl, wl->mbox_ptr[0], &events_vector, in wl1251_event_wait()
185 wl1251_mem_read(wl, wl->mbox_ptr[1], &events_vector, in wl1251_event_wait()
193 int wl1251_event_unmask(struct wl1251 *wl) in wl1251_event_unmask() argument
197 ret = wl1251_acx_event_mbox_mask(wl, ~(wl->event_mask)); in wl1251_event_unmask()
204 void wl1251_event_mbox_config(struct wl1251 *wl) in wl1251_event_mbox_config() argument
206 wl->mbox_ptr[0] = wl1251_reg_read32(wl, REG_EVENT_MAILBOX_PTR); in wl1251_event_mbox_config()
207 wl->mbox_ptr[1] = wl->mbox_ptr[0] + sizeof(struct event_mailbox); in wl1251_event_mbox_config()
210 wl->mbox_ptr[0], wl->mbox_ptr[1]); in wl1251_event_mbox_config()
213 int wl1251_event_handle(struct wl1251 *wl, u8 mbox_num) in wl1251_event_handle() argument
224 wl1251_mem_read(wl, wl->mbox_ptr[mbox_num], &mbox, in wl1251_event_handle()
228 ret = wl1251_event_process(wl, &mbox); in wl1251_event_handle()
233 wl1251_reg_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_EVENT_ACK); in wl1251_event_handle()