• Home
  • Raw
  • Download

Lines Matching refs:wl

72 static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])  in wl1271_tm_cmd_test()  argument
93 mutex_lock(&wl->mutex); in wl1271_tm_cmd_test()
95 if (unlikely(wl->state != WLCORE_STATE_ON)) { in wl1271_tm_cmd_test()
100 ret = wl1271_ps_elp_wakeup(wl); in wl1271_tm_cmd_test()
104 ret = wl1271_cmd_test(wl, buf, buf_len, answer); in wl1271_tm_cmd_test()
126 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len); in wl1271_tm_cmd_test()
144 wl1271_ps_elp_sleep(wl); in wl1271_tm_cmd_test()
146 mutex_unlock(&wl->mutex); in wl1271_tm_cmd_test()
151 static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[]) in wl1271_tm_cmd_interrogate() argument
165 mutex_lock(&wl->mutex); in wl1271_tm_cmd_interrogate()
167 if (unlikely(wl->state != WLCORE_STATE_ON)) { in wl1271_tm_cmd_interrogate()
172 ret = wl1271_ps_elp_wakeup(wl); in wl1271_tm_cmd_interrogate()
182 ret = wl1271_cmd_interrogate(wl, ie_id, cmd, in wl1271_tm_cmd_interrogate()
189 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, sizeof(*cmd)); in wl1271_tm_cmd_interrogate()
208 wl1271_ps_elp_sleep(wl); in wl1271_tm_cmd_interrogate()
210 mutex_unlock(&wl->mutex); in wl1271_tm_cmd_interrogate()
215 static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[]) in wl1271_tm_cmd_configure() argument
235 mutex_lock(&wl->mutex); in wl1271_tm_cmd_configure()
236 ret = wl1271_cmd_configure(wl, ie_id, buf, buf_len); in wl1271_tm_cmd_configure()
237 mutex_unlock(&wl->mutex); in wl1271_tm_cmd_configure()
247 static int wl1271_tm_detect_fem(struct wl1271 *wl, struct nlattr *tb[]) in wl1271_tm_detect_fem() argument
253 ret = wl1271_plt_start(wl, PLT_FEM_DETECT); in wl1271_tm_detect_fem()
257 mutex_lock(&wl->mutex); in wl1271_tm_detect_fem()
259 len = nla_total_size(sizeof(wl->fem_manuf)); in wl1271_tm_detect_fem()
260 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len); in wl1271_tm_detect_fem()
266 if (nla_put(skb, WL1271_TM_ATTR_DATA, sizeof(wl->fem_manuf), in wl1271_tm_detect_fem()
267 &wl->fem_manuf)) { in wl1271_tm_detect_fem()
276 mutex_unlock(&wl->mutex); in wl1271_tm_detect_fem()
279 wl1271_plt_stop(wl); in wl1271_tm_detect_fem()
284 static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[]) in wl1271_tm_cmd_set_plt_mode() argument
298 ret = wl1271_plt_stop(wl); in wl1271_tm_cmd_set_plt_mode()
302 ret = wl1271_plt_start(wl, val); in wl1271_tm_cmd_set_plt_mode()
305 ret = wl1271_tm_detect_fem(wl, tb); in wl1271_tm_cmd_set_plt_mode()
315 static int wl12xx_tm_cmd_get_mac(struct wl1271 *wl, struct nlattr *tb[]) in wl12xx_tm_cmd_get_mac() argument
321 mutex_lock(&wl->mutex); in wl12xx_tm_cmd_get_mac()
323 if (!wl->plt) { in wl12xx_tm_cmd_get_mac()
328 if (wl->fuse_oui_addr == 0 && wl->fuse_nic_addr == 0) { in wl12xx_tm_cmd_get_mac()
333 mac_addr[0] = (u8)(wl->fuse_oui_addr >> 16); in wl12xx_tm_cmd_get_mac()
334 mac_addr[1] = (u8)(wl->fuse_oui_addr >> 8); in wl12xx_tm_cmd_get_mac()
335 mac_addr[2] = (u8) wl->fuse_oui_addr; in wl12xx_tm_cmd_get_mac()
336 mac_addr[3] = (u8)(wl->fuse_nic_addr >> 16); in wl12xx_tm_cmd_get_mac()
337 mac_addr[4] = (u8)(wl->fuse_nic_addr >> 8); in wl12xx_tm_cmd_get_mac()
338 mac_addr[5] = (u8) wl->fuse_nic_addr; in wl12xx_tm_cmd_get_mac()
340 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, ETH_ALEN); in wl12xx_tm_cmd_get_mac()
357 mutex_unlock(&wl->mutex); in wl12xx_tm_cmd_get_mac()
364 struct wl1271 *wl = hw->priv; in wl1271_tm_cmd() local
380 if (wl->plt_mode == PLT_CHIP_AWAKE && in wl1271_tm_cmd()
386 return wl1271_tm_cmd_test(wl, tb); in wl1271_tm_cmd()
388 return wl1271_tm_cmd_interrogate(wl, tb); in wl1271_tm_cmd()
390 return wl1271_tm_cmd_configure(wl, tb); in wl1271_tm_cmd()
392 return wl1271_tm_cmd_set_plt_mode(wl, tb); in wl1271_tm_cmd()
394 return wl12xx_tm_cmd_get_mac(wl, tb); in wl1271_tm_cmd()