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
104 remaining_len = fw_info->frame_size - fw_info->written; in nxp_nci_fw_send_chunk()
116 skb_put_data(skb, fw_info->data + fw_info->written, chunk_len); in nxp_nci_fw_send_chunk()
133 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_send() local
137 reinit_completion(&fw_info->cmd_completion); in nxp_nci_fw_send()
139 if (fw_info->written == 0) { in nxp_nci_fw_send()
140 fw_info->frame_size = get_unaligned_be16(fw_info->data) & in nxp_nci_fw_send()
142 fw_info->data += NXP_NCI_FW_HDR_LEN; in nxp_nci_fw_send()
143 fw_info->size -= NXP_NCI_FW_HDR_LEN; in nxp_nci_fw_send()
146 if (fw_info->frame_size > fw_info->size) in nxp_nci_fw_send()
153 fw_info->written += r; in nxp_nci_fw_send()
155 if (*fw_info->data == NXP_NCI_FW_CMD_RESET) { in nxp_nci_fw_send()
156 fw_info->cmd_result = 0; in nxp_nci_fw_send()
157 if (fw_info->fw) in nxp_nci_fw_send()
158 schedule_work(&fw_info->work); in nxp_nci_fw_send()
161 &fw_info->cmd_completion, NXP_NCI_FW_ANSWER_TIMEOUT); in nxp_nci_fw_send()
172 struct nxp_nci_fw_info *fw_info; in nxp_nci_fw_work() local
175 fw_info = container_of(work, struct nxp_nci_fw_info, work); in nxp_nci_fw_work()
176 info = container_of(fw_info, struct nxp_nci_info, fw_info); in nxp_nci_fw_work()
180 r = fw_info->cmd_result; in nxp_nci_fw_work()
184 if (fw_info->written == fw_info->frame_size) { in nxp_nci_fw_work()
185 fw_info->data += fw_info->frame_size; in nxp_nci_fw_work()
186 fw_info->size -= fw_info->frame_size; in nxp_nci_fw_work()
187 fw_info->written = 0; in nxp_nci_fw_work()
190 if (fw_info->size > 0) in nxp_nci_fw_work()
194 if (r < 0 || fw_info->size == 0) in nxp_nci_fw_work()
202 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_download() local
217 strcpy(fw_info->name, firmware_name); in nxp_nci_fw_download()
219 r = request_firmware(&fw_info->fw, firmware_name, in nxp_nci_fw_download()
226 release_firmware(fw_info->fw); in nxp_nci_fw_download()
232 fw_info->data = fw_info->fw->data; in nxp_nci_fw_download()
233 fw_info->size = fw_info->fw->size; in nxp_nci_fw_download()
234 fw_info->written = 0; in nxp_nci_fw_download()
235 fw_info->frame_size = 0; in nxp_nci_fw_download()
236 fw_info->cmd_result = 0; in nxp_nci_fw_download()
238 schedule_work(&fw_info->work); in nxp_nci_fw_download()
295 struct nxp_nci_fw_info *fw_info = &info->fw_info; in nxp_nci_fw_recv_frame() local
297 complete(&fw_info->cmd_completion); in nxp_nci_fw_recv_frame()
301 fw_info->cmd_result = -EBADMSG; in nxp_nci_fw_recv_frame()
303 fw_info->cmd_result = nxp_nci_fw_read_status(*(u8 *)skb_pull(skb, NXP_NCI_FW_HDR_LEN)); in nxp_nci_fw_recv_frame()
306 fw_info->cmd_result = -EIO; in nxp_nci_fw_recv_frame()
309 if (fw_info->fw) in nxp_nci_fw_recv_frame()
310 schedule_work(&fw_info->work); in nxp_nci_fw_recv_frame()