Lines Matching refs:fw

154 rtlbt_fw_read(struct rtlbt_firmware *fw, const char *fwname)  in rtlbt_fw_read()  argument
200 memset(fw, 0, sizeof(*fw)); in rtlbt_fw_read()
202 fw->fwname = strdup(fwname); in rtlbt_fw_read()
203 fw->len = sb.st_size; in rtlbt_fw_read()
204 fw->buf = buf; in rtlbt_fw_read()
211 rtlbt_fw_free(struct rtlbt_firmware *fw) in rtlbt_fw_free() argument
213 if (fw->fwname) in rtlbt_fw_free()
214 free(fw->fwname); in rtlbt_fw_free()
215 if (fw->buf) in rtlbt_fw_free()
216 free(fw->buf); in rtlbt_fw_free()
217 memset(fw, 0, sizeof(*fw)); in rtlbt_fw_free()
247 rtlbt_get_fw_type(struct rtlbt_firmware *fw, uint16_t *fw_lmp_subversion) in rtlbt_get_fw_type() argument
254 if (fw->len < 8) { in rtlbt_get_fw_type()
259 if (memcmp(fw->buf, fw_header_sig_v1, sizeof(fw_header_sig_v1)) == 0) { in rtlbt_get_fw_type()
264 if (memcmp(fw->buf, fw_header_sig_v2, sizeof(fw_header_sig_v2)) == 0) { in rtlbt_get_fw_type()
271 if (fw->len < fw_header_len + sizeof(fw_ext_sig) + 4) { in rtlbt_get_fw_type()
276 ptr = fw->buf + fw->len - sizeof(fw_ext_sig); in rtlbt_get_fw_type()
304 } while (opcode != 0xff && ptr > fw->buf + fw_header_len); in rtlbt_get_fw_type()
311 rtlbt_parse_fwfile_v1(struct rtlbt_firmware *fw, uint8_t rom_version) in rtlbt_parse_fwfile_v1() argument
320 fw_header = (struct rtlbt_fw_header_v1 *)fw->buf; in rtlbt_parse_fwfile_v1()
326 if (fw->len < sizeof(struct rtlbt_fw_header_v1) + in rtlbt_parse_fwfile_v1()
332 chip_id_base = fw->buf + sizeof(struct rtlbt_fw_header_v1); in rtlbt_parse_fwfile_v1()
349 if (fw->len < patch_offset + patch_length) { in rtlbt_parse_fwfile_v1()
360 memcpy(patch_buf, fw->buf + patch_offset, patch_length - 4); in rtlbt_parse_fwfile_v1()
363 free(fw->buf); in rtlbt_parse_fwfile_v1()
364 fw->buf = patch_buf; in rtlbt_parse_fwfile_v1()
365 fw->len = patch_length; in rtlbt_parse_fwfile_v1()
371 rtlbt_append_fwfile(struct rtlbt_firmware *fw, struct rtlbt_firmware *opt) in rtlbt_append_fwfile() argument
376 len = fw->len + opt->len; in rtlbt_append_fwfile()
377 buf = realloc(fw->buf, len); in rtlbt_append_fwfile()
380 memcpy(buf + fw->len, opt->buf, opt->len); in rtlbt_append_fwfile()
381 fw->buf = buf; in rtlbt_append_fwfile()
382 fw->len = len; in rtlbt_append_fwfile()