Lines Matching defs: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)
52 static int aw_check_data_version(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
63 static int aw_check_register_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
90 static int aw_check_dsp_reg_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
121 static int aw_check_soc_app_num(struct aw_device *aw_dev, struct aw_bin *bin, int bin_num)
150 static void aw_get_single_bin_header(struct aw_bin *bin)
159 int bin_serial_num, struct aw_bin *bin)
189 static int aw_get_multi_bin_header(struct aw_device *aw_dev, struct aw_bin *bin)
211 static int aw_parse_bin_header(struct aw_device *aw_dev, struct aw_bin *bin)
246 static int aw_check_bin_header_version(struct aw_device *aw_dev, struct aw_bin *bin)
262 static int aw_parsing_bin_file(struct aw_device *aw_dev, struct aw_bin *bin)
364 struct aw_bin *aw_bin;
368 aw_bin = devm_kzalloc(aw_dev->dev, data_len + sizeof(struct aw_bin), GFP_KERNEL);
369 if (!aw_bin)
372 aw_bin->info.len = data_len;
373 memcpy(aw_bin->info.data, data, data_len);
375 ret = aw_parsing_bin_file(aw_dev, aw_bin);
381 for (i = 0; i < aw_bin->all_bin_parse_num; i++) {
382 switch (aw_bin->header_info[i].bin_data_type) {
385 aw_bin->header_info[i].valid_data_len;
387 data + aw_bin->header_info[i].valid_data_addr;
390 if (aw_bin->header_info[i].valid_data_len & 0x01) {
395 swab16_array((u16 *)(data + aw_bin->header_info[i].valid_data_addr),
396 aw_bin->header_info[i].valid_data_len >> 1);
399 aw_bin->header_info[i].valid_data_len;
401 data + aw_bin->header_info[i].valid_data_addr;
405 if (aw_bin->header_info[i].valid_data_len & 0x01) {
410 swab16_array((u16 *)(data + aw_bin->header_info[i].valid_data_addr),
411 aw_bin->header_info[i].valid_data_len >> 1);
413 prof_desc->fw_ver = aw_bin->header_info[i].app_version;
415 aw_bin->header_info[i].valid_data_len;
417 data + aw_bin->header_info[i].valid_data_addr;
428 devm_kfree(aw_dev->dev, aw_bin);
435 struct aw_bin *aw_bin;
438 aw_bin = devm_kzalloc(aw_dev->dev, data_len + sizeof(*aw_bin), GFP_KERNEL);
439 if (!aw_bin)
442 aw_bin->info.len = data_len;
443 memcpy(aw_bin->info.data, data, data_len);
445 ret = aw_parsing_bin_file(aw_dev, aw_bin);
451 if ((aw_bin->all_bin_parse_num != 1) ||
452 (aw_bin->header_info[0].bin_data_type != DATA_TYPE_REGISTER)) {
459 data + aw_bin->header_info[0].valid_data_addr;
461 aw_bin->header_info[0].valid_data_len;
464 devm_kfree(aw_dev->dev, aw_bin);
465 aw_bin = NULL;
470 devm_kfree(aw_dev->dev, aw_bin);
471 aw_bin = NULL;