Lines Matching refs:hif_cmd
18 void wfx_init_hif_cmd(struct wfx_hif_cmd *hif_cmd) in wfx_init_hif_cmd() argument
20 init_completion(&hif_cmd->ready); in wfx_init_hif_cmd()
21 init_completion(&hif_cmd->done); in wfx_init_hif_cmd()
22 mutex_init(&hif_cmd->lock); in wfx_init_hif_cmd()
61 mutex_lock(&wdev->hif_cmd.lock); in wfx_cmd_send()
62 WARN(wdev->hif_cmd.buf_send, "data locking error"); in wfx_cmd_send()
67 wdev->hif_cmd.buf_send = request; in wfx_cmd_send()
68 wdev->hif_cmd.buf_recv = reply; in wfx_cmd_send()
69 wdev->hif_cmd.len_recv = reply_len; in wfx_cmd_send()
70 complete(&wdev->hif_cmd.ready); in wfx_cmd_send()
84 ret = wait_for_completion_timeout(&wdev->hif_cmd.done, 1 * HZ); in wfx_cmd_send()
87 reinit_completion(&wdev->hif_cmd.ready); in wfx_cmd_send()
88 ret = wait_for_completion_timeout(&wdev->hif_cmd.done, 3 * HZ); in wfx_cmd_send()
94 reinit_completion(&wdev->hif_cmd.done); in wfx_cmd_send()
97 ret = wdev->hif_cmd.ret; in wfx_cmd_send()
101 wdev->hif_cmd.buf_send = NULL; in wfx_cmd_send()
102 mutex_unlock(&wdev->hif_cmd.lock); in wfx_cmd_send()