| /linux/drivers/gpu/drm/nouveau/nvkm/falcon/ |
| H A D | fw.c | 31 nvkm_falcon_fw_patch(struct nvkm_falcon_fw *fw) in nvkm_falcon_fw_patch() argument 33 struct nvkm_falcon *falcon = fw->falcon; in nvkm_falcon_fw_patch() 34 u32 sig_base_src = fw->sig_base_prd; in nvkm_falcon_fw_patch() 38 FLCNFW_DBG(fw, "patching sigs:%d size:%d", fw->sig_nr, fw->sig_size); in nvkm_falcon_fw_patch() 39 if (fw->func->signature) { in nvkm_falcon_fw_patch() 40 idx = fw->func->signature(fw, &sig_base_src); in nvkm_falcon_fw_patch() 45 src = idx * fw->sig_size; in nvkm_falcon_fw_patch() 46 dst = fw->sig_base_img; in nvkm_falcon_fw_patch() 47 len = fw->sig_size / 4; in nvkm_falcon_fw_patch() 48 FLCNFW_DBG(fw, "patch idx:%d src:%08x dst:%08x", idx, sig_base_src + src, dst); in nvkm_falcon_fw_patch() [all …]
|
| H A D | gm200.c | 218 gm200_flcn_fw_boot(struct nvkm_falcon_fw *fw, u32 *pmbox0, u32 *pmbox1, u32 mbox0_ok, u32 irqsclr) in gm200_flcn_fw_boot() argument 220 struct nvkm_falcon *falcon = fw->falcon; in gm200_flcn_fw_boot() 228 nvkm_falcon_wr32(falcon, 0x104, fw->boot_addr); in gm200_flcn_fw_boot() 249 gm200_flcn_fw_load(struct nvkm_falcon_fw *fw) in gm200_flcn_fw_load() argument 251 struct nvkm_falcon *falcon = fw->falcon; in gm200_flcn_fw_load() 254 if (fw->inst) { in gm200_flcn_fw_load() 259 switch (nvkm_memory_target(fw->inst)) { in gm200_flcn_fw_load() 268 falcon->func->bind_inst(falcon, target, nvkm_memory_addr(fw->inst)); in gm200_flcn_fw_load() 289 if (fw->boot) { in gm200_flcn_fw_load() 290 ret = nvkm_falcon_pio_wr(falcon, fw->boot, 0, 0, in gm200_flcn_fw_load() [all …]
|
| H A D | ga102.c | 113 ga102_flcn_fw_boot(struct nvkm_falcon_fw *fw, u32 *mbox0, u32 *mbox1, u32 mbox0_ok, u32 irqsclr) in ga102_flcn_fw_boot() argument 115 struct nvkm_falcon *falcon = fw->falcon; in ga102_flcn_fw_boot() 117 nvkm_falcon_wr32(falcon, falcon->addr2 + 0x210, fw->dmem_sign); in ga102_flcn_fw_boot() 118 nvkm_falcon_wr32(falcon, falcon->addr2 + 0x19c, fw->engine_id); in ga102_flcn_fw_boot() 119 nvkm_falcon_wr32(falcon, falcon->addr2 + 0x198, fw->ucode_id); in ga102_flcn_fw_boot() 122 return gm200_flcn_fw_boot(fw, mbox0, mbox1, mbox0_ok, irqsclr); in ga102_flcn_fw_boot() 126 ga102_flcn_fw_load(struct nvkm_falcon_fw *fw) in ga102_flcn_fw_load() argument 128 struct nvkm_falcon *falcon = fw->falcon; in ga102_flcn_fw_load() 135 ret = nvkm_falcon_dma_wr(falcon, fw->fw.img, fw->fw.phys, fw->imem_base_img, in ga102_flcn_fw_load() 136 IMEM, fw->imem_base, fw->imem_size, true); in ga102_flcn_fw_load() [all …]
|
| H A D | ga100.c | 31 ga100_flcn_fw_signature(struct nvkm_falcon_fw *fw, u32 *src_base_src) in ga100_flcn_fw_signature() argument 33 struct nvkm_falcon *falcon = fw->falcon; in ga100_flcn_fw_signature() 38 FLCN_DBG(falcon, "brom: %08x %08x", fw->engine_id, fw->ucode_id); in ga100_flcn_fw_signature() 39 FLCN_DBG(falcon, "fuse_version: %d", fw->fuse_ver); in ga100_flcn_fw_signature() 41 if (fw->engine_id & 0x00000001) { in ga100_flcn_fw_signature() 42 reg_fuse_version = nvkm_rd32(device, 0x824140 + (fw->ucode_id - 1) * 4); in ga100_flcn_fw_signature() 44 if (fw->engine_id & 0x00000004) { in ga100_flcn_fw_signature() 45 reg_fuse_version = nvkm_rd32(device, 0x824100 + (fw->ucode_id - 1) * 4); in ga100_flcn_fw_signature() 47 if (fw->engine_id & 0x00000400) { in ga100_flcn_fw_signature() 48 reg_fuse_version = nvkm_rd32(device, 0x8241c0 + (fw->ucode_id - 1) * 4); in ga100_flcn_fw_signature() [all …]
|
| /linux/drivers/net/ethernet/marvell/prestera/ |
| H A D | prestera_pci.c | 80 #define PRESTERA_LDR_REG_BASE(fw) ((fw)->ldr_regs) argument 81 #define PRESTERA_LDR_REG_ADDR(fw, reg) (PRESTERA_LDR_REG_BASE(fw) + (reg)) argument 182 #define PRESTERA_FW_REG_BASE(fw) ((fw)->dev.ctl_regs) argument 183 #define PRESTERA_FW_REG_ADDR(fw, reg) PRESTERA_FW_REG_BASE((fw)) + (reg) argument 230 static int prestera_fw_load(struct prestera_fw *fw); 232 static void prestera_fw_write(struct prestera_fw *fw, u32 reg, u32 val) in prestera_fw_write() argument 234 writel(val, PRESTERA_FW_REG_ADDR(fw, reg)); in prestera_fw_write() 237 static u32 prestera_fw_read(struct prestera_fw *fw, u32 reg) in prestera_fw_read() argument 239 return readl(PRESTERA_FW_REG_ADDR(fw, reg)); in prestera_fw_read() 242 static u32 prestera_fw_evtq_len(struct prestera_fw *fw, u8 qid) in prestera_fw_evtq_len() argument [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/core/ |
| H A D | firmware.c | 47 const struct firmware *fw; in nvkm_firmware_load_blob() local 50 ret = nvkm_firmware_load_name(subdev, base, name, ver, &fw); in nvkm_firmware_load_blob() 52 blob->data = kmemdup(fw->data, fw->size, GFP_KERNEL); in nvkm_firmware_load_blob() 53 blob->size = fw->size; in nvkm_firmware_load_blob() 54 nvkm_firmware_put(fw); in nvkm_firmware_load_blob() 74 const struct firmware **fw) in nvkm_firmware_get() argument 94 if (!firmware_request_nowarn(fw, f, device->dev)) { in nvkm_firmware_get() 96 f, (*fw)->size); in nvkm_firmware_get() 108 nvkm_firmware_put(const struct firmware *fw) in nvkm_firmware_put() argument 110 release_firmware(fw); in nvkm_firmware_put() [all …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | firewall.c | 17 static int fw_next(struct tegra_drm_firewall *fw, u32 *word) in fw_next() argument 19 if (fw->pos == fw->end) in fw_next() 22 *word = fw->data[fw->pos++]; in fw_next() 27 static bool fw_check_addr_valid(struct tegra_drm_firewall *fw, u32 offset) in fw_check_addr_valid() argument 31 for (i = 0; i < fw->submit->num_used_mappings; i++) { in fw_check_addr_valid() 32 struct tegra_drm_mapping *m = fw->submit->used_mappings[i].mapping; in fw_check_addr_valid() 41 static int fw_check_reg(struct tegra_drm_firewall *fw, u32 offset) in fw_check_reg() argument 47 err = fw_next(fw, &word); in fw_check_reg() 51 if (!fw->client->ops->is_addr_reg) in fw_check_reg() 54 is_addr = fw->client->ops->is_addr_reg(fw->client->base.dev, fw->class, in fw_check_reg() [all …]
|
| /linux/drivers/firmware/ |
| H A D | raspberrypi.c | 41 struct rpi_firmware *fw = container_of(cl, struct rpi_firmware, cl); in response_callback() local 42 complete(&fw->c); in response_callback() 50 rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data) in rpi_firmware_transaction() argument 58 reinit_completion(&fw->c); in rpi_firmware_transaction() 59 ret = mbox_send_message(fw->chan, &message); in rpi_firmware_transaction() 61 if (wait_for_completion_timeout(&fw->c, HZ)) { in rpi_firmware_transaction() 67 dev_err(fw->cl.dev, "mbox_send_message returned %d\n", ret); in rpi_firmware_transaction() 88 int rpi_firmware_property_list(struct rpi_firmware *fw, in rpi_firmware_property_list() argument 100 buf = dma_alloc_coherent(fw->chan->mbox->dev, PAGE_ALIGN(size), in rpi_firmware_property_list() 114 ret = rpi_firmware_transaction(fw, MBOX_CHAN_PROPERTY, bus_addr); in rpi_firmware_property_list() [all …]
|
| /linux/drivers/net/wireless/ralink/rt2x00/ |
| H A D | rt2x00firmware.c | 23 const struct firmware *fw; in rt2x00lib_request_firmware() local 40 retval = request_firmware(&fw, fw_name, device); in rt2x00lib_request_firmware() 46 if (!fw || !fw->size || !fw->data) { in rt2x00lib_request_firmware() 48 release_firmware(fw); in rt2x00lib_request_firmware() 53 fw->data[fw->size - 4], fw->data[fw->size - 3]); in rt2x00lib_request_firmware() 56 fw->data[fw->size - 4], fw->data[fw->size - 3]); in rt2x00lib_request_firmware() 58 retval = rt2x00dev->ops->lib->check_firmware(rt2x00dev, fw->data, fw->size); in rt2x00lib_request_firmware() 67 fw->size); in rt2x00lib_request_firmware() 74 rt2x00dev->fw = fw; in rt2x00lib_request_firmware() 79 release_firmware(fw); in rt2x00lib_request_firmware() [all …]
|
| /linux/drivers/media/platform/mediatek/vcodec/common/ |
| H A D | mtk_vcodec_fw.c | 29 void mtk_vcodec_fw_release(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_release() argument 31 fw->ops->release(fw); in mtk_vcodec_fw_release() 35 int mtk_vcodec_fw_load_firmware(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_load_firmware() argument 37 return fw->ops->load_firmware(fw); in mtk_vcodec_fw_load_firmware() 41 unsigned int mtk_vcodec_fw_get_vdec_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_get_vdec_capa() argument 43 return fw->ops->get_vdec_capa(fw); in mtk_vcodec_fw_get_vdec_capa() 47 unsigned int mtk_vcodec_fw_get_venc_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_get_venc_capa() argument 49 return fw->ops->get_venc_capa(fw); in mtk_vcodec_fw_get_venc_capa() 53 void *mtk_vcodec_fw_map_dm_addr(struct mtk_vcodec_fw *fw, u32 mem_addr) in mtk_vcodec_fw_map_dm_addr() argument 55 return fw->ops->map_dm_addr(fw, mem_addr); in mtk_vcodec_fw_map_dm_addr() [all …]
|
| H A D | mtk_vcodec_fw.h | 31 void mtk_vcodec_fw_release(struct mtk_vcodec_fw *fw); 33 int mtk_vcodec_fw_load_firmware(struct mtk_vcodec_fw *fw); 34 unsigned int mtk_vcodec_fw_get_vdec_capa(struct mtk_vcodec_fw *fw); 35 unsigned int mtk_vcodec_fw_get_venc_capa(struct mtk_vcodec_fw *fw); 36 void *mtk_vcodec_fw_map_dm_addr(struct mtk_vcodec_fw *fw, u32 mem_addr); 37 int mtk_vcodec_fw_ipi_register(struct mtk_vcodec_fw *fw, int id, 40 int mtk_vcodec_fw_ipi_send(struct mtk_vcodec_fw *fw, int id, 42 int mtk_vcodec_fw_get_type(struct mtk_vcodec_fw *fw);
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ |
| H A D | fwsec.c | 89 nvkm_gsp_fwsec_patch(struct nvkm_gsp *gsp, struct nvkm_falcon_fw *fw, u32 if_offset, u32 init_cmd) in nvkm_gsp_fwsec_patch() argument 91 union nvfw_falcon_appif_hdr *hdr = (void *)(fw->fw.img + fw->dmem_base_img + if_offset); in nvkm_gsp_fwsec_patch() 92 const u8 *dmem = fw->fw.img + fw->dmem_base_img; in nvkm_gsp_fwsec_patch() 174 struct nvkm_falcon_fw *fw) in nvkm_gsp_fwsec_v2() argument 185 &gsp->falcon, fw); in nvkm_gsp_fwsec_v2() 189 fw->nmem_base_img = 0; in nvkm_gsp_fwsec_v2() 190 fw->nmem_base = desc->IMEMPhysBase; in nvkm_gsp_fwsec_v2() 191 fw->nmem_size = desc->IMEMLoadSize - desc->IMEMSecSize; in nvkm_gsp_fwsec_v2() 193 fw->imem_base_img = 0; in nvkm_gsp_fwsec_v2() 194 fw->imem_base = desc->IMEMSecBase; in nvkm_gsp_fwsec_v2() [all …]
|
| H A D | ga102.c | 43 struct nvkm_falcon *falcon, struct nvkm_falcon_fw *fw) in ga102_gsp_booter_ctor() argument 61 blob->data + hdr->data_offset, hdr->data_size, falcon, fw); in ga102_gsp_booter_ctor() 65 ret = nvkm_falcon_fw_sign(fw, loc, hshdr->sig_prod_size / cnt, blob->data, in ga102_gsp_booter_ctor() 72 fw->imem_base_img = lhdr->app[0].offset; in ga102_gsp_booter_ctor() 73 fw->imem_base = 0; in ga102_gsp_booter_ctor() 74 fw->imem_size = lhdr->app[0].size; in ga102_gsp_booter_ctor() 76 fw->dmem_base_img = lhdr->os_data_offset; in ga102_gsp_booter_ctor() 77 fw->dmem_base = 0; in ga102_gsp_booter_ctor() 78 fw->dmem_size = lhdr->os_data_size; in ga102_gsp_booter_ctor() 79 fw->dmem_sign = loc - lhdr->os_data_offset; in ga102_gsp_booter_ctor() [all …]
|
| /linux/drivers/net/wireless/ath/carl9170/ |
| H A D | fw.c | 25 carl9170fw_for_each_hdr(iter, ar->fw.desc) { in carl9170_fw_find_desc() 195 ar->fw.tx_seq_table = le32_to_cpu(txsq_desc->seq_table_addr); in carl9170_fw_tx_sequence() 196 if (!valid_cpu_addr(ar->fw.tx_seq_table)) in carl9170_fw_tx_sequence() 199 ar->fw.tx_seq_table = 0; in carl9170_fw_tx_sequence() 208 if (ar->fw.vif_num < 2) in carl9170_fw_set_if_combinations() 211 ar->if_comb_limits[0].max = ar->fw.vif_num; in carl9170_fw_set_if_combinations() 215 ar->if_combs[0].max_interfaces = ar->fw.vif_num; in carl9170_fw_set_if_combinations() 248 ar->fw.api_version = otus_desc->api_ver; in carl9170_fw() 250 if (ar->fw.api_version < CARL9170FW_API_MIN_VER || in carl9170_fw() 251 ar->fw.api_version > CARL9170FW_API_MAX_VER) { in carl9170_fw() [all …]
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_fw.c | 278 return ptdev->fw->vm; in panthor_fw_vm() 290 return &ptdev->fw->iface.global; in panthor_fw_get_glb_iface() 306 return &ptdev->fw->iface.groups[csg_slot]; in panthor_fw_get_csg_iface() 323 return &ptdev->fw->iface.streams[csg_slot][cs_slot]; in panthor_fw_get_cs_iface() 498 mem = panthor_kernel_bo_create(ptdev, ptdev->fw->vm, SZ_8K, in panthor_fw_alloc_queue_iface_mem() 540 const struct firmware *fw, in panthor_fw_load_section_entry() argument 544 ssize_t vm_pgsz = panthor_vm_page_size(ptdev->fw->vm); in panthor_fw_load_section_entry() 568 if (hdr.data.end > fw->size) { in panthor_fw_load_section_entry() 570 hdr.data.end, fw->size); in panthor_fw_load_section_entry() 615 list_add_tail(§ion->node, &ptdev->fw->sections); in panthor_fw_load_section_entry() [all …]
|
| /linux/drivers/remoteproc/ |
| H A D | remoteproc_elf_loader.c | 37 int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw) argument 52 if (!fw) { 57 if (fw->size < sizeof(struct elf32_hdr)) { 62 ehdr = (struct elf32_hdr *)fw->data; 75 if (class == ELFCLASS64 && fw->size < sizeof(struct elf64_hdr)) { 90 phoff = elf_hdr_get_e_phoff(class, fw->data); 91 shoff = elf_hdr_get_e_shoff(class, fw->data); 92 phnum = elf_hdr_get_e_phnum(class, fw->data); 95 if (fw->size < shoff + elf_shdr_get_size) { 105 if (phoff > fw->size) { [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/acr/ |
| H A D | gm20b.c | 49 gm20b_acr_hsfw_load_bld(struct nvkm_falcon_fw *fw) in gm20b_acr_hsfw_load_bld() argument 53 .code_dma_base = fw->vma->addr >> 8, in gm20b_acr_hsfw_load_bld() 54 .non_sec_code_off = fw->nmem_base, in gm20b_acr_hsfw_load_bld() 55 .non_sec_code_size = fw->nmem_size, in gm20b_acr_hsfw_load_bld() 56 .sec_code_off = fw->imem_base, in gm20b_acr_hsfw_load_bld() 57 .sec_code_size = fw->imem_size, in gm20b_acr_hsfw_load_bld() 59 .data_dma_base = (fw->vma->addr + fw->dmem_base_img) >> 8, in gm20b_acr_hsfw_load_bld() 60 .data_size = fw->dmem_size, in gm20b_acr_hsfw_load_bld() 63 flcn_bl_dmem_desc_dump(fw->falcon->user, &hsdesc); in gm20b_acr_hsfw_load_bld() 65 return nvkm_falcon_pio_wr(fw->falcon, (u8 *)&hsdesc, 0, 0, DMEM, 0, sizeof(hsdesc), 0, 0); in gm20b_acr_hsfw_load_bld() [all …]
|
| H A D | gp108.c | 29 gp108_acr_hsfw_load_bld(struct nvkm_falcon_fw *fw) in gp108_acr_hsfw_load_bld() argument 33 .code_dma_base = fw->vma->addr, in gp108_acr_hsfw_load_bld() 34 .non_sec_code_off = fw->nmem_base, in gp108_acr_hsfw_load_bld() 35 .non_sec_code_size = fw->nmem_size, in gp108_acr_hsfw_load_bld() 36 .sec_code_off = fw->imem_base, in gp108_acr_hsfw_load_bld() 37 .sec_code_size = fw->imem_size, in gp108_acr_hsfw_load_bld() 39 .data_dma_base = fw->vma->addr + fw->dmem_base_img, in gp108_acr_hsfw_load_bld() 40 .data_size = fw->dmem_size, in gp108_acr_hsfw_load_bld() 45 flcn_bl_dmem_desc_v2_dump(fw->falcon->user, &hsdesc); in gp108_acr_hsfw_load_bld() 47 return nvkm_falcon_pio_wr(fw->falcon, (u8 *)&hsdesc, 0, 0, DMEM, 0, sizeof(hsdesc), 0, 0); in gp108_acr_hsfw_load_bld()
|
| /linux/drivers/firmware/efi/ |
| H A D | embedded-firmware.c | 40 struct efi_embedded_fw *fw; in efi_check_md_for_embedded_firmware() local 67 fw = kmalloc_obj(*fw); in efi_check_md_for_embedded_firmware() 68 if (!fw) { in efi_check_md_for_embedded_firmware() 73 fw->data = kmemdup(map + i, desc->length, GFP_KERNEL); in efi_check_md_for_embedded_firmware() 75 if (!fw->data) { in efi_check_md_for_embedded_firmware() 76 kfree(fw); in efi_check_md_for_embedded_firmware() 80 fw->name = desc->name; in efi_check_md_for_embedded_firmware() 81 fw->length = desc->length; in efi_check_md_for_embedded_firmware() 82 list_add(&fw->list, &efi_embedded_fw_list); in efi_check_md_for_embedded_firmware() 124 struct efi_embedded_fw *iter, *fw = NULL; in efi_get_embedded_fw() local [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/ |
| H A D | iwl-drv.c | 57 struct iwl_fw fw; member 128 kfree(drv->fw.dbg.dest_tlv); in iwl_dealloc_ucode() 129 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg.conf_tlv); i++) in iwl_dealloc_ucode() 130 kfree(drv->fw.dbg.conf_tlv[i]); in iwl_dealloc_ucode() 131 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg.trigger_tlv); i++) in iwl_dealloc_ucode() 132 kfree(drv->fw.dbg.trigger_tlv[i]); in iwl_dealloc_ucode() 133 kfree(drv->fw.dbg.mem_tlv); in iwl_dealloc_ucode() 134 kfree(drv->fw.iml); in iwl_dealloc_ucode() 135 kfree(drv->fw.ucode_capa.cmd_versions); in iwl_dealloc_ucode() 136 kfree(drv->fw.ucode_capa.cmd_bios_tables); in iwl_dealloc_ucode() [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/amd/ |
| H A D | pds_core.rst | 40 fw 1.51.0-73 42 fw.goldfw 1.15.9-C-22 43 fw.mainfwa 1.60.0-73 44 fw.mainfwb 1.60.0-57 57 * - ``fw`` 60 * - ``fw.goldfw`` 63 * - ``fw.mainfwa`` 66 * - ``fw.mainfwb`` 116 file firmware.pldmfw component fw.cpld 118 Per-component update uses driver-defined component names (fw, fw.cpld, [all …]
|
| /linux/drivers/gpu/drm/i915/gt/uc/ |
| H A D | intel_gsc_uc.c | 72 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); in gsc_work() 86 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_RUNNING); in gsc_work() 89 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); in gsc_work() 127 intel_uc_fw_init_early(&gsc->fw, INTEL_UC_FW_TYPE_GSC, false); in intel_gsc_uc_init_early() 135 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_NOT_SUPPORTED); in intel_gsc_uc_init_early() 142 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_NOT_SUPPORTED); in intel_gsc_uc_init_early() 218 err = intel_uc_fw_init(&gsc->fw); in intel_gsc_uc_init() 240 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOADABLE); in intel_gsc_uc_init() 247 intel_uc_fw_fini(&gsc->fw); in intel_gsc_uc_init() 255 if (!intel_uc_fw_is_loadable(&gsc->fw)) in intel_gsc_uc_fini() [all …]
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | efx_reflash.c | 20 static bool efx_reflash_parse_reflash_header(const struct firmware *fw, in efx_reflash_parse_reflash_header() argument 34 if (fw->size < header_end) in efx_reflash_parse_reflash_header() 37 header = fw->data + header_offset; in efx_reflash_parse_reflash_header() 53 if (fw->size < trailer_end) in efx_reflash_parse_reflash_header() 56 trailer = fw->data + trailer_offset; in efx_reflash_parse_reflash_header() 69 *data = fw->data; in efx_reflash_parse_reflash_header() 70 *data_size = fw->size; in efx_reflash_parse_reflash_header() 107 static bool efx_reflash_parse_snic_header(const struct firmware *fw, in efx_reflash_parse_snic_header() argument 119 fw->size < header_end) in efx_reflash_parse_snic_header() 122 header = fw->data + header_offset; in efx_reflash_parse_snic_header() [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/pcie/ |
| H A D | ctxt-info.c | 85 const struct fw_img *fw, in iwl_pcie_init_fw_sec() argument 96 lmac_cnt = iwl_pcie_get_num_sections(fw, 0); in iwl_pcie_init_fw_sec() 98 umac_cnt = iwl_pcie_get_num_sections(fw, lmac_cnt + 1); in iwl_pcie_init_fw_sec() 100 paging_cnt = iwl_pcie_get_num_sections(fw, lmac_cnt + umac_cnt + 2); in iwl_pcie_init_fw_sec() 107 dram->fw = kzalloc_objs(*dram->fw, umac_cnt + lmac_cnt); in iwl_pcie_init_fw_sec() 108 if (!dram->fw) in iwl_pcie_init_fw_sec() 116 ret = iwl_pcie_ctxt_info_alloc_dma(trans, fw->sec[i].data, in iwl_pcie_init_fw_sec() 117 fw->sec[i].len, in iwl_pcie_init_fw_sec() 118 &dram->fw[dram->fw_cnt]); in iwl_pcie_init_fw_sec() 122 cpu_to_le64(dram->fw[dram->fw_cnt].physical); in iwl_pcie_init_fw_sec() [all …]
|
| /linux/sound/usb/6fire/ |
| H A D | firmware.c | 142 static int usb6fire_fw_ihex_init(const struct firmware *fw, in usb6fire_fw_ihex_init() argument 145 record->txt_data = fw->data; in usb6fire_fw_ihex_init() 146 record->txt_length = fw->size; in usb6fire_fw_ihex_init() 202 const struct firmware *fw __free(firmware) = NULL; in usb6fire_fw_ezusb_upload() 203 ret = request_firmware(&fw, fwname, &device->dev); in usb6fire_fw_ezusb_upload() 209 ret = usb6fire_fw_ihex_init(fw, rec); in usb6fire_fw_ezusb_upload() 271 const struct firmware *fw __free(firmware) = NULL; in usb6fire_fw_fpga_upload() 272 ret = request_firmware(&fw, fwname, &device->dev); in usb6fire_fw_fpga_upload() 279 c = fw->data; in usb6fire_fw_fpga_upload() 280 end = fw in usb6fire_fw_fpga_upload() 197 const struct firmware *fw = NULL; usb6fire_fw_ezusb_upload() local 276 const struct firmware *fw; usb6fire_fw_fpga_upload() local [all...] |