Lines Matching full:img
22 #include "fw/img.h"
134 static void iwl_free_fw_img(struct iwl_drv *drv, struct fw_img *img) in iwl_free_fw_img() argument
137 for (i = 0; i < img->num_sec; i++) in iwl_free_fw_img()
138 iwl_free_fw_desc(drv, &img->sec[i]); in iwl_free_fw_img()
139 kfree(img->sec); in iwl_free_fw_img()
162 iwl_free_fw_img(drv, drv->fw.img + i); in iwl_dealloc_ucode()
422 struct fw_img_parsing img[IWL_UCODE_TYPE_MAX]; member
447 struct fw_img_parsing *img = &pieces->img[type]; in alloc_sec_data() local
450 size_t alloc_size = sizeof(*img->sec) * size; in alloc_sec_data()
452 if (img->sec && img->sec_counter >= size) in alloc_sec_data()
455 sec_memory = krealloc(img->sec, alloc_size, GFP_KERNEL); in alloc_sec_data()
459 img->sec = sec_memory; in alloc_sec_data()
460 img->sec_counter = size; in alloc_sec_data()
470 pieces->img[type].sec[sec].data = data; in set_sec_data()
480 pieces->img[type].sec[sec].size = size; in set_sec_size()
487 return pieces->img[type].sec[sec].size; in get_sec_size()
497 pieces->img[type].sec[sec].offset = offset; in set_sec_offset()
503 static int iwl_store_ucode_sec(struct fw_img_parsing *img, in iwl_store_ucode_sec() argument
510 if (WARN_ON(!img || !data)) in iwl_store_ucode_sec()
515 alloc_size = sizeof(*img->sec) * (img->sec_counter + 1); in iwl_store_ucode_sec()
516 sec = krealloc(img->sec, alloc_size, GFP_KERNEL); in iwl_store_ucode_sec()
519 img->sec = sec; in iwl_store_ucode_sec()
521 sec = &img->sec[img->sec_counter]; in iwl_store_ucode_sec()
527 ++img->sec_counter; in iwl_store_ucode_sec()
1010 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_REGULAR], in iwl_parse_tlv_firmware()
1015 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_INIT], in iwl_parse_tlv_firmware()
1020 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_WOWLAN], in iwl_parse_tlv_firmware()
1042 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_REGULAR], in iwl_parse_tlv_firmware()
1047 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_INIT], in iwl_parse_tlv_firmware()
1052 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_WOWLAN], in iwl_parse_tlv_firmware()
1063 drv->fw.img[IWL_UCODE_REGULAR].is_dual_cpus = in iwl_parse_tlv_firmware()
1065 drv->fw.img[IWL_UCODE_INIT].is_dual_cpus = in iwl_parse_tlv_firmware()
1067 drv->fw.img[IWL_UCODE_WOWLAN].is_dual_cpus = in iwl_parse_tlv_firmware()
1220 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_REGULAR_USNIFFER], in iwl_parse_tlv_firmware()
1246 drv->fw.img[IWL_UCODE_REGULAR].paging_mem_size = in iwl_parse_tlv_firmware()
1249 drv->fw.img[usniffer_img].paging_mem_size = in iwl_parse_tlv_firmware()
1480 static int iwl_alloc_ucode_mem(struct fw_img *out, struct fw_img_parsing *img) in iwl_alloc_ucode_mem() argument
1484 sec = kcalloc(img->sec_counter, sizeof(*sec), GFP_KERNEL); in iwl_alloc_ucode_mem()
1489 out->num_sec = img->sec_counter; in iwl_alloc_ucode_mem()
1492 if (iwl_alloc_fw_desc(&sec[i], &img->sec[i])) in iwl_alloc_ucode_mem()
1502 return iwl_alloc_ucode_mem(&drv->fw.img[type], &pieces->img[type]); in iwl_alloc_ucode()
1938 for (i = 0; i < ARRAY_SIZE(pieces->img); i++) in iwl_req_fw_callback()
1939 kfree(pieces->img[i].sec); in iwl_req_fw_callback()