Lines Matching defs:wl

58 static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
79 mutex_lock(&wl->mutex);
81 if (unlikely(wl->state != WLCORE_STATE_ON)) {
86 ret = pm_runtime_resume_and_get(wl->dev);
90 ret = wl1271_cmd_test(wl, buf, buf_len, answer);
112 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
130 pm_runtime_mark_last_busy(wl->dev);
131 pm_runtime_put_autosuspend(wl->dev);
133 mutex_unlock(&wl->mutex);
138 static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[])
152 mutex_lock(&wl->mutex);
154 if (unlikely(wl->state != WLCORE_STATE_ON)) {
159 ret = pm_runtime_resume_and_get(wl->dev);
169 ret = wl1271_cmd_interrogate(wl, ie_id, cmd,
176 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, sizeof(*cmd));
195 pm_runtime_mark_last_busy(wl->dev);
196 pm_runtime_put_autosuspend(wl->dev);
198 mutex_unlock(&wl->mutex);
203 static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[])
223 mutex_lock(&wl->mutex);
224 ret = wl1271_cmd_configure(wl, ie_id, buf, buf_len);
225 mutex_unlock(&wl->mutex);
235 static int wl1271_tm_detect_fem(struct wl1271 *wl, struct nlattr *tb[])
241 ret = wl1271_plt_start(wl, PLT_FEM_DETECT);
245 mutex_lock(&wl->mutex);
247 len = nla_total_size(sizeof(wl->fem_manuf));
248 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
254 if (nla_put(skb, WL1271_TM_ATTR_DATA, sizeof(wl->fem_manuf),
255 &wl->fem_manuf)) {
264 mutex_unlock(&wl->mutex);
267 wl1271_plt_stop(wl);
272 static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[])
286 ret = wl1271_plt_stop(wl);
290 ret = wl1271_plt_start(wl, val);
293 ret = wl1271_tm_detect_fem(wl, tb);
303 static int wl12xx_tm_cmd_get_mac(struct wl1271 *wl, struct nlattr *tb[])
309 mutex_lock(&wl->mutex);
311 if (!wl->plt) {
316 if (wl->fuse_oui_addr == 0 && wl->fuse_nic_addr == 0) {
321 mac_addr[0] = (u8)(wl->fuse_oui_addr >> 16);
322 mac_addr[1] = (u8)(wl->fuse_oui_addr >> 8);
323 mac_addr[2] = (u8) wl->fuse_oui_addr;
324 mac_addr[3] = (u8)(wl->fuse_nic_addr >> 16);
325 mac_addr[4] = (u8)(wl->fuse_nic_addr >> 8);
326 mac_addr[5] = (u8) wl->fuse_nic_addr;
328 skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, ETH_ALEN);
345 mutex_unlock(&wl->mutex);
352 struct wl1271 *wl = hw->priv;
368 if (wl->plt_mode == PLT_CHIP_AWAKE &&
374 return wl1271_tm_cmd_test(wl, tb);
376 return wl1271_tm_cmd_interrogate(wl, tb);
378 return wl1271_tm_cmd_configure(wl, tb);
380 return wl1271_tm_cmd_set_plt_mode(wl, tb);
382 return wl12xx_tm_cmd_get_mac(wl, tb);