Lines Matching full:img
19 #include "fw/img.h"
110 static void iwl_free_fw_img(struct iwl_drv *drv, struct fw_img *img) in iwl_free_fw_img() argument
113 for (i = 0; i < img->num_sec; i++) in iwl_free_fw_img()
114 iwl_free_fw_desc(drv, &img->sec[i]); in iwl_free_fw_img()
115 kfree(img->sec); in iwl_free_fw_img()
135 iwl_free_fw_img(drv, drv->fw.img + i); in iwl_dealloc_ucode()
301 struct fw_img_parsing img[IWL_UCODE_TYPE_MAX]; member
325 struct fw_img_parsing *img = &pieces->img[type]; in alloc_sec_data() local
328 size_t alloc_size = sizeof(*img->sec) * size; in alloc_sec_data()
330 if (img->sec && img->sec_counter >= size) in alloc_sec_data()
333 sec_memory = krealloc(img->sec, alloc_size, GFP_KERNEL); in alloc_sec_data()
337 img->sec = sec_memory; in alloc_sec_data()
338 img->sec_counter = size; in alloc_sec_data()
348 pieces->img[type].sec[sec].data = data; in set_sec_data()
358 pieces->img[type].sec[sec].size = size; in set_sec_size()
365 return pieces->img[type].sec[sec].size; in get_sec_size()
375 pieces->img[type].sec[sec].offset = offset; in set_sec_offset()
381 static int iwl_store_ucode_sec(struct fw_img_parsing *img, in iwl_store_ucode_sec() argument
388 if (WARN_ON(!img || !data)) in iwl_store_ucode_sec()
393 alloc_size = sizeof(*img->sec) * (img->sec_counter + 1); in iwl_store_ucode_sec()
394 sec = krealloc(img->sec, alloc_size, GFP_KERNEL); in iwl_store_ucode_sec()
397 img->sec = sec; in iwl_store_ucode_sec()
399 sec = &img->sec[img->sec_counter]; in iwl_store_ucode_sec()
405 ++img->sec_counter; in iwl_store_ucode_sec()
888 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_REGULAR], in iwl_parse_tlv_firmware()
893 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_INIT], in iwl_parse_tlv_firmware()
898 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_WOWLAN], in iwl_parse_tlv_firmware()
920 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_REGULAR], in iwl_parse_tlv_firmware()
925 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_INIT], in iwl_parse_tlv_firmware()
930 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_WOWLAN], in iwl_parse_tlv_firmware()
941 drv->fw.img[IWL_UCODE_REGULAR].is_dual_cpus = in iwl_parse_tlv_firmware()
943 drv->fw.img[IWL_UCODE_INIT].is_dual_cpus = in iwl_parse_tlv_firmware()
945 drv->fw.img[IWL_UCODE_WOWLAN].is_dual_cpus = in iwl_parse_tlv_firmware()
1098 iwl_store_ucode_sec(&pieces->img[IWL_UCODE_REGULAR_USNIFFER], in iwl_parse_tlv_firmware()
1124 drv->fw.img[IWL_UCODE_REGULAR].paging_mem_size = in iwl_parse_tlv_firmware()
1127 drv->fw.img[usniffer_img].paging_mem_size = in iwl_parse_tlv_firmware()
1337 static int iwl_alloc_ucode_mem(struct fw_img *out, struct fw_img_parsing *img) in iwl_alloc_ucode_mem() argument
1341 sec = kcalloc(img->sec_counter, sizeof(*sec), GFP_KERNEL); in iwl_alloc_ucode_mem()
1346 out->num_sec = img->sec_counter; in iwl_alloc_ucode_mem()
1349 if (iwl_alloc_fw_desc(&sec[i], &img->sec[i])) in iwl_alloc_ucode_mem()
1359 return iwl_alloc_ucode_mem(&drv->fw.img[type], &pieces->img[type]); in iwl_alloc_ucode()
1765 for (i = 0; i < ARRAY_SIZE(pieces->img); i++) in iwl_req_fw_callback()
1766 kfree(pieces->img[i].sec); in iwl_req_fw_callback()