Lines Matching refs:fw_info

54 	struct nxp_nci_fw_info *fw_info = &info->fw_info;  in nxp_nci_fw_work_complete()  local
65 if (fw_info->fw) { in nxp_nci_fw_work_complete()
66 release_firmware(fw_info->fw); in nxp_nci_fw_work_complete()
67 fw_info->fw = NULL; in nxp_nci_fw_work_complete()
70 nfc_fw_download_done(info->ndev->nfc_dev, fw_info->name, (u32) -result); in nxp_nci_fw_work_complete()
90 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_send_chunk() local
102 remaining_len = fw_info->frame_size - fw_info->written; in nxp_nci_fw_send_chunk()
114 skb_put_data(skb, fw_info->data + fw_info->written, chunk_len); in nxp_nci_fw_send_chunk()
130 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_send() local
134 reinit_completion(&fw_info->cmd_completion); in nxp_nci_fw_send()
136 if (fw_info->written == 0) { in nxp_nci_fw_send()
137 fw_info->frame_size = get_unaligned_be16(fw_info->data) & in nxp_nci_fw_send()
139 fw_info->data += NXP_NCI_FW_HDR_LEN; in nxp_nci_fw_send()
140 fw_info->size -= NXP_NCI_FW_HDR_LEN; in nxp_nci_fw_send()
143 if (fw_info->frame_size > fw_info->size) in nxp_nci_fw_send()
150 fw_info->written += r; in nxp_nci_fw_send()
152 if (*fw_info->data == NXP_NCI_FW_CMD_RESET) { in nxp_nci_fw_send()
153 fw_info->cmd_result = 0; in nxp_nci_fw_send()
154 if (fw_info->fw) in nxp_nci_fw_send()
155 schedule_work(&fw_info->work); in nxp_nci_fw_send()
158 &fw_info->cmd_completion, NXP_NCI_FW_ANSWER_TIMEOUT); in nxp_nci_fw_send()
169 struct nxp_nci_fw_info *fw_info; in nxp_nci_fw_work() local
172 fw_info = container_of(work, struct nxp_nci_fw_info, work); in nxp_nci_fw_work()
173 info = container_of(fw_info, struct nxp_nci_info, fw_info); in nxp_nci_fw_work()
177 r = fw_info->cmd_result; in nxp_nci_fw_work()
181 if (fw_info->written == fw_info->frame_size) { in nxp_nci_fw_work()
182 fw_info->data += fw_info->frame_size; in nxp_nci_fw_work()
183 fw_info->size -= fw_info->frame_size; in nxp_nci_fw_work()
184 fw_info->written = 0; in nxp_nci_fw_work()
187 if (fw_info->size > 0) in nxp_nci_fw_work()
191 if (r < 0 || fw_info->size == 0) in nxp_nci_fw_work()
199 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_download() local
214 strcpy(fw_info->name, firmware_name); in nxp_nci_fw_download()
216 r = request_firmware(&fw_info->fw, firmware_name, in nxp_nci_fw_download()
223 release_firmware(fw_info->fw); in nxp_nci_fw_download()
229 fw_info->data = fw_info->fw->data; in nxp_nci_fw_download()
230 fw_info->size = fw_info->fw->size; in nxp_nci_fw_download()
231 fw_info->written = 0; in nxp_nci_fw_download()
232 fw_info->frame_size = 0; in nxp_nci_fw_download()
233 fw_info->cmd_result = 0; in nxp_nci_fw_download()
235 schedule_work(&fw_info->work); in nxp_nci_fw_download()
292 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_recv_frame() local
294 complete(&fw_info->cmd_completion); in nxp_nci_fw_recv_frame()
298 fw_info->cmd_result = -EBADMSG; in nxp_nci_fw_recv_frame()
300 fw_info->cmd_result = nxp_nci_fw_read_status(*(u8 *)skb_pull(skb, NXP_NCI_FW_HDR_LEN)); in nxp_nci_fw_recv_frame()
303 fw_info->cmd_result = -EIO; in nxp_nci_fw_recv_frame()
306 if (fw_info->fw) in nxp_nci_fw_recv_frame()
307 schedule_work(&fw_info->work); in nxp_nci_fw_recv_frame()