Lines Matching refs:aw_bin

24 static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin);
26 static int aw_check_sum(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num) in aw_check_sum()
52 static int aw_check_data_version(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num) in aw_check_data_version()
63 static int aw_check_register_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num) in aw_check_register_num()
90 static int aw_check_dsp_reg_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num) in aw_check_dsp_reg_num()
121 static int aw_check_soc_app_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num) in aw_check_soc_app_num()
150 static void aw_get_single_bin_header(struct aw_bin *bin) in aw_get_single_bin_header()
159 int bin_serial_num, struct aw_bin *bin) in aw_parse_one_of_multi_bins()
189 static int aw_get_multi_bin_header(struct aw_device *aw_dev, struct aw_bin *bin) in aw_get_multi_bin_header()
211 static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin) in aw_parse_bin_header()
246 static int aw_check_bin_header_version(struct aw_device *aw_dev, struct aw_bin *bin) in aw_check_bin_header_version()
262 static int aw_parsing_bin_file(struct aw_device *aw_dev, struct aw_bin *bin) in aw_parsing_bin_file()
364 struct aw_bin *aw_bin; in aw_dev_prof_parse_multi_bin() local
368 aw_bin = devm_kzalloc(aw_dev->dev, data_len + sizeof(struct aw_bin), GFP_KERNEL); in aw_dev_prof_parse_multi_bin()
369 if (!aw_bin) in aw_dev_prof_parse_multi_bin()
372 aw_bin->info.len = data_len; in aw_dev_prof_parse_multi_bin()
373 memcpy(aw_bin->info.data, data, data_len); in aw_dev_prof_parse_multi_bin()
375 ret = aw_parsing_bin_file(aw_dev, aw_bin); in aw_dev_prof_parse_multi_bin()
381 for (i = 0; i < aw_bin->all_bin_parse_num; i++) { in aw_dev_prof_parse_multi_bin()
382 switch (aw_bin->header_info[i].bin_data_type) { in aw_dev_prof_parse_multi_bin()
385 aw_bin->header_info[i].valid_data_len; in aw_dev_prof_parse_multi_bin()
387 data + aw_bin->header_info[i].valid_data_addr; in aw_dev_prof_parse_multi_bin()
390 if (aw_bin->header_info[i].valid_data_len & 0x01) { in aw_dev_prof_parse_multi_bin()
395 swab16_array((u16 *)(data + aw_bin->header_info[i].valid_data_addr), in aw_dev_prof_parse_multi_bin()
396 aw_bin->header_info[i].valid_data_len >> 1); in aw_dev_prof_parse_multi_bin()
399 aw_bin->header_info[i].valid_data_len; in aw_dev_prof_parse_multi_bin()
401 data + aw_bin->header_info[i].valid_data_addr; in aw_dev_prof_parse_multi_bin()
405 if (aw_bin->header_info[i].valid_data_len & 0x01) { in aw_dev_prof_parse_multi_bin()
410 swab16_array((u16 *)(data + aw_bin->header_info[i].valid_data_addr), in aw_dev_prof_parse_multi_bin()
411 aw_bin->header_info[i].valid_data_len >> 1); in aw_dev_prof_parse_multi_bin()
413 prof_desc->fw_ver = aw_bin->header_info[i].app_version; in aw_dev_prof_parse_multi_bin()
415 aw_bin->header_info[i].valid_data_len; in aw_dev_prof_parse_multi_bin()
417 data + aw_bin->header_info[i].valid_data_addr; in aw_dev_prof_parse_multi_bin()
428 devm_kfree(aw_dev->dev, aw_bin); in aw_dev_prof_parse_multi_bin()