/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/falcon/ |
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 …]
|
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() 257 switch (nvkm_memory_target(fw->inst)) { in gm200_flcn_fw_load() 266 falcon->func->bind_inst(falcon, target, nvkm_memory_addr(fw->inst)); in gm200_flcn_fw_load() 287 if (fw->boot) { in gm200_flcn_fw_load() 288 switch (nvkm_memory_target(&fw->fw.mem.memory)) { in gm200_flcn_fw_load() [all …]
|
D | ga102.c | 107 ga102_flcn_fw_boot(struct nvkm_falcon_fw *fw, u32 *mbox0, u32 *mbox1, u32 mbox0_ok, u32 irqsclr) in ga102_flcn_fw_boot() argument 109 struct nvkm_falcon *falcon = fw->falcon; in ga102_flcn_fw_boot() 111 nvkm_falcon_wr32(falcon, falcon->addr2 + 0x210, fw->dmem_sign); in ga102_flcn_fw_boot() 112 nvkm_falcon_wr32(falcon, falcon->addr2 + 0x19c, fw->engine_id); in ga102_flcn_fw_boot() 113 nvkm_falcon_wr32(falcon, falcon->addr2 + 0x198, fw->ucode_id); in ga102_flcn_fw_boot() 116 return gm200_flcn_fw_boot(fw, mbox0, mbox1, mbox0_ok, irqsclr); in ga102_flcn_fw_boot() 120 ga102_flcn_fw_load(struct nvkm_falcon_fw *fw) in ga102_flcn_fw_load() argument 122 struct nvkm_falcon *falcon = fw->falcon; in ga102_flcn_fw_load() 129 ret = nvkm_falcon_dma_wr(falcon, fw->fw.img, fw->fw.phys, fw->imem_base_img, in ga102_flcn_fw_load() 130 IMEM, fw->imem_base, fw->imem_size, true); in ga102_flcn_fw_load() [all …]
|
D | ga100.c | 25 ga100_flcn_fw_signature(struct nvkm_falcon_fw *fw, u32 *src_base_src) in ga100_flcn_fw_signature() argument 27 struct nvkm_falcon *falcon = fw->falcon; in ga100_flcn_fw_signature() 32 FLCN_DBG(falcon, "brom: %08x %08x", fw->engine_id, fw->ucode_id); in ga100_flcn_fw_signature() 33 FLCN_DBG(falcon, "fuse_version: %d", fw->fuse_ver); in ga100_flcn_fw_signature() 35 if (fw->engine_id & 0x00000001) { in ga100_flcn_fw_signature() 36 reg_fuse_version = nvkm_rd32(device, 0x824140 + (fw->ucode_id - 1) * 4); in ga100_flcn_fw_signature() 38 if (fw->engine_id & 0x00000004) { in ga100_flcn_fw_signature() 39 reg_fuse_version = nvkm_rd32(device, 0x824100 + (fw->ucode_id - 1) * 4); in ga100_flcn_fw_signature() 41 if (fw->engine_id & 0x00000400) { in ga100_flcn_fw_signature() 42 reg_fuse_version = nvkm_rd32(device, 0x8241c0 + (fw->ucode_id - 1) * 4); in ga100_flcn_fw_signature() [all …]
|
/linux-6.6.21/drivers/net/ethernet/marvell/prestera/ |
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-6.6.21/drivers/gpu/drm/tegra/ |
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-6.6.21/drivers/firmware/ |
D | raspberrypi.c | 40 struct rpi_firmware *fw = container_of(cl, struct rpi_firmware, cl); in response_callback() local 41 complete(&fw->c); in response_callback() 49 rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data) in rpi_firmware_transaction() argument 57 reinit_completion(&fw->c); in rpi_firmware_transaction() 58 ret = mbox_send_message(fw->chan, &message); in rpi_firmware_transaction() 60 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->cl.dev, PAGE_ALIGN(size), &bus_addr, in rpi_firmware_property_list() 114 ret = rpi_firmware_transaction(fw, MBOX_CHAN_PROPERTY, bus_addr); in rpi_firmware_property_list() [all …]
|
/linux-6.6.21/drivers/gpu/drm/nouveau/nvkm/core/ |
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 95 if (!firmware_request_nowarn(fw, f, device->dev)) { in nvkm_firmware_get() 97 f, (*fw)->size); in nvkm_firmware_get() 109 nvkm_firmware_put(const struct firmware *fw) in nvkm_firmware_put() argument 111 release_firmware(fw); in nvkm_firmware_put() [all …]
|
/linux-6.6.21/drivers/accel/ivpu/ |
D | ivpu_fw.c | 64 ret = request_firmware(&vdev->fw->file, ivpu_firmware, vdev->drm.dev); in ivpu_fw_request() 66 vdev->fw->name = ivpu_firmware; in ivpu_fw_request() 74 ret = firmware_request_nowarn(&vdev->fw->file, fw_names[i].name, vdev->drm.dev); in ivpu_fw_request() 76 vdev->fw->name = fw_names[i].name; in ivpu_fw_request() 110 struct ivpu_fw_info *fw = vdev->fw; in ivpu_fw_parse() local 111 const struct vpu_firmware_header *fw_hdr = (const void *)fw->file->data; in ivpu_fw_parse() 114 if (fw->file->size <= FW_FILE_IMAGE_OFFSET) { in ivpu_fw_parse() 115 ivpu_err(vdev, "Firmware file is too small: %zu\n", fw->file->size); in ivpu_fw_parse() 134 if (runtime_size < fw->file->size || runtime_size > FW_RUNTIME_MAX_SIZE) { in ivpu_fw_parse() 139 if (FW_FILE_IMAGE_OFFSET + image_size > fw->file->size) { in ivpu_fw_parse() [all …]
|
/linux-6.6.21/drivers/net/wireless/ralink/rt2x00/ |
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-6.6.21/drivers/media/platform/mediatek/vcodec/common/ |
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 …]
|
D | mtk_vcodec_fw_scp.c | 7 static int mtk_vcodec_scp_load_firmware(struct mtk_vcodec_fw *fw) in mtk_vcodec_scp_load_firmware() argument 9 return rproc_boot(scp_get_rproc(fw->scp)); in mtk_vcodec_scp_load_firmware() 12 static unsigned int mtk_vcodec_scp_get_vdec_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_scp_get_vdec_capa() argument 14 return scp_get_vdec_hw_capa(fw->scp); in mtk_vcodec_scp_get_vdec_capa() 17 static unsigned int mtk_vcodec_scp_get_venc_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_scp_get_venc_capa() argument 19 return scp_get_venc_hw_capa(fw->scp); in mtk_vcodec_scp_get_venc_capa() 22 static void *mtk_vcodec_vpu_scp_dm_addr(struct mtk_vcodec_fw *fw, in mtk_vcodec_vpu_scp_dm_addr() argument 25 return scp_mapping_dm_addr(fw->scp, dtcm_dmem_addr); in mtk_vcodec_vpu_scp_dm_addr() 28 static int mtk_vcodec_scp_set_ipi_register(struct mtk_vcodec_fw *fw, int id, in mtk_vcodec_scp_set_ipi_register() argument 32 return scp_ipi_register(fw->scp, id, handler, priv); in mtk_vcodec_scp_set_ipi_register() [all …]
|
D | mtk_vcodec_fw_vpu.c | 7 static int mtk_vcodec_vpu_load_firmware(struct mtk_vcodec_fw *fw) in mtk_vcodec_vpu_load_firmware() argument 9 return vpu_load_firmware(fw->pdev); in mtk_vcodec_vpu_load_firmware() 12 static unsigned int mtk_vcodec_vpu_get_vdec_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_vpu_get_vdec_capa() argument 14 return vpu_get_vdec_hw_capa(fw->pdev); in mtk_vcodec_vpu_get_vdec_capa() 17 static unsigned int mtk_vcodec_vpu_get_venc_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_vpu_get_venc_capa() argument 19 return vpu_get_venc_hw_capa(fw->pdev); in mtk_vcodec_vpu_get_venc_capa() 22 static void *mtk_vcodec_vpu_map_dm_addr(struct mtk_vcodec_fw *fw, in mtk_vcodec_vpu_map_dm_addr() argument 25 return vpu_mapping_dm_addr(fw->pdev, dtcm_dmem_addr); in mtk_vcodec_vpu_map_dm_addr() 28 static int mtk_vcodec_vpu_set_ipi_register(struct mtk_vcodec_fw *fw, int id, in mtk_vcodec_vpu_set_ipi_register() argument 40 return vpu_ipi_register(fw->pdev, id, handler_const, name, priv); in mtk_vcodec_vpu_set_ipi_register() [all …]
|
/linux-6.6.21/drivers/gpu/host1x/ |
D | job.c | 355 static int check_register(struct host1x_firewall *fw, unsigned long offset) in check_register() argument 357 if (!fw->job->is_addr_reg) in check_register() 360 if (fw->job->is_addr_reg(fw->dev, fw->class, offset)) { in check_register() 361 if (!fw->num_relocs) in check_register() 364 if (!check_reloc(fw->reloc, fw->cmdbuf, fw->offset)) in check_register() 367 fw->num_relocs--; in check_register() 368 fw->reloc++; in check_register() 374 static int check_class(struct host1x_firewall *fw, u32 class) in check_class() argument 376 if (!fw->job->is_valid_class) { in check_class() 377 if (fw->class != class) in check_class() [all …]
|
/linux-6.6.21/drivers/nfc/s3fwrn5/ |
D | firmware.c | 285 struct s3fwrn5_fw_image *fw = &fw_info->fw; in s3fwrn5_fw_request_firmware() local 291 ret = request_firmware(&fw->fw, fw_info->fw_name, in s3fwrn5_fw_request_firmware() 296 if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE) { in s3fwrn5_fw_request_firmware() 297 release_firmware(fw->fw); in s3fwrn5_fw_request_firmware() 301 memcpy(fw->date, fw->fw->data + 0x00, 12); in s3fwrn5_fw_request_firmware() 302 fw->date[12] = '\0'; in s3fwrn5_fw_request_firmware() 304 memcpy(&fw->version, fw->fw->data + 0x10, 4); in s3fwrn5_fw_request_firmware() 306 memcpy(&sig_off, fw->fw->data + 0x14, 4); in s3fwrn5_fw_request_firmware() 307 fw->sig = fw->fw->data + sig_off; in s3fwrn5_fw_request_firmware() 308 memcpy(&fw->sig_size, fw->fw->data + 0x18, 4); in s3fwrn5_fw_request_firmware() [all …]
|
/linux-6.6.21/drivers/net/wireless/ath/carl9170/ |
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-6.6.21/drivers/firmware/meson/ |
D | meson_sm.c | 104 int meson_sm_call(struct meson_sm_firmware *fw, unsigned int cmd_index, in meson_sm_call() argument 109 if (!fw->chip) in meson_sm_call() 112 cmd = meson_sm_get_cmd(fw->chip, cmd_index); in meson_sm_call() 142 int meson_sm_call_read(struct meson_sm_firmware *fw, void *buffer, in meson_sm_call_read() argument 149 if (!fw->chip) in meson_sm_call_read() 152 if (!fw->chip->cmd_shmem_out_base) in meson_sm_call_read() 155 if (bsize > fw->chip->shmem_size) in meson_sm_call_read() 158 if (meson_sm_call(fw, cmd_index, &size, arg0, arg1, arg2, arg3, arg4) < 0) in meson_sm_call_read() 170 memcpy(buffer, fw->sm_shmem_out_base, size); in meson_sm_call_read() 191 int meson_sm_call_write(struct meson_sm_firmware *fw, void *buffer, in meson_sm_call_write() argument [all …]
|
/linux-6.6.21/drivers/base/firmware_loader/builtin/ |
D | main.c | 19 static bool fw_copy_to_prealloc_buf(struct firmware *fw, in fw_copy_to_prealloc_buf() argument 24 if (size < fw->size) in fw_copy_to_prealloc_buf() 26 memcpy(buf, fw->data, fw->size); in fw_copy_to_prealloc_buf() 47 bool firmware_request_builtin(struct firmware *fw, const char *name) in firmware_request_builtin() argument 51 if (!fw) in firmware_request_builtin() 56 fw->size = b_fw->size; in firmware_request_builtin() 57 fw->data = b_fw->data; in firmware_request_builtin() 86 bool firmware_request_builtin_buf(struct firmware *fw, const char *name, in firmware_request_builtin_buf() argument 89 if (!firmware_request_builtin(fw, name)) in firmware_request_builtin_buf() 92 return fw_copy_to_prealloc_buf(fw, buf, size); in firmware_request_builtin_buf() [all …]
|
/linux-6.6.21/drivers/scsi/qla2xxx/ |
D | qla_dbg.c | 747 struct qla2300_fw_dump *fw; in qla2300_fw_dump() local 766 fw = &ha->fw_dump->isp.isp23; in qla2300_fw_dump() 770 fw->hccr = htons(rd_reg_word(®->hccr)); in qla2300_fw_dump() 790 for (cnt = 0; cnt < ARRAY_SIZE(fw->pbiu_reg); cnt++, dmp_reg++) in qla2300_fw_dump() 791 fw->pbiu_reg[cnt] = htons(rd_reg_word(dmp_reg)); in qla2300_fw_dump() 794 for (cnt = 0; cnt < ARRAY_SIZE(fw->risc_host_reg); in qla2300_fw_dump() 796 fw->risc_host_reg[cnt] = htons(rd_reg_word(dmp_reg)); in qla2300_fw_dump() 799 for (cnt = 0; cnt < ARRAY_SIZE(fw->mailbox_reg); in qla2300_fw_dump() 801 fw->mailbox_reg[cnt] = htons(rd_reg_word(dmp_reg)); in qla2300_fw_dump() 804 qla2xxx_read_window(reg, 32, fw->resp_dma_reg); in qla2300_fw_dump() [all …]
|
/linux-6.6.21/drivers/remoteproc/ |
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-6.6.21/drivers/gpu/drm/nouveau/nvkm/subdev/acr/ |
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 …]
|
/linux-6.6.21/drivers/firmware/efi/ |
D | embedded-firmware.c | 40 struct efi_embedded_fw *fw; in efi_check_md_for_embedded_firmware() local 67 fw = kmalloc(sizeof(*fw), GFP_KERNEL); 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-6.6.21/drivers/net/wireless/mediatek/mt76/mt76x2/ |
D | pci_mcu.c | 17 const struct firmware *fw = NULL; in mt76pci_load_rom_patch() local 43 ret = request_firmware(&fw, MT7662_ROM_PATCH, dev->mt76.dev); in mt76pci_load_rom_patch() 47 if (!fw || !fw->data || fw->size <= sizeof(*hdr)) { in mt76pci_load_rom_patch() 53 hdr = (struct mt76x02_patch_header *)fw->data; in mt76pci_load_rom_patch() 58 cur = (__le32 *)(fw->data + sizeof(*hdr)); in mt76pci_load_rom_patch() 59 len = fw->size - sizeof(*hdr); in mt76pci_load_rom_patch() 76 release_firmware(fw); in mt76pci_load_rom_patch() 83 const struct firmware *fw; in mt76pci_load_firmware() local 89 ret = request_firmware(&fw, MT7662_FIRMWARE, dev->mt76.dev); in mt76pci_load_firmware() 93 if (!fw || !fw->data || fw->size < sizeof(*hdr)) in mt76pci_load_firmware() [all …]
|
/linux-6.6.21/drivers/net/wireless/intel/iwlwifi/ |
D | iwl-drv.c | 56 struct iwl_fw fw; member 121 kfree(drv->fw.dbg.dest_tlv); in iwl_dealloc_ucode() 122 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg.conf_tlv); i++) in iwl_dealloc_ucode() 123 kfree(drv->fw.dbg.conf_tlv[i]); in iwl_dealloc_ucode() 124 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg.trigger_tlv); i++) in iwl_dealloc_ucode() 125 kfree(drv->fw.dbg.trigger_tlv[i]); in iwl_dealloc_ucode() 126 kfree(drv->fw.dbg.mem_tlv); in iwl_dealloc_ucode() 127 kfree(drv->fw.iml); in iwl_dealloc_ucode() 128 kfree(drv->fw.ucode_capa.cmd_versions); in iwl_dealloc_ucode() 129 kfree(drv->fw.phy_integration_ver); in iwl_dealloc_ucode() [all …]
|
/linux-6.6.21/drivers/gpu/drm/i915/gt/uc/ |
D | intel_gsc_uc.c | 73 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); in gsc_work() 87 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_RUNNING); in gsc_work() 91 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); in gsc_work() 129 intel_uc_fw_init_early(&gsc->fw, INTEL_UC_FW_TYPE_GSC, false); in intel_gsc_uc_init_early() 137 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_NOT_SUPPORTED); in intel_gsc_uc_init_early() 144 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_NOT_SUPPORTED); in intel_gsc_uc_init_early() 220 err = intel_uc_fw_init(&gsc->fw); in intel_gsc_uc_init() 242 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOADABLE); in intel_gsc_uc_init() 249 intel_uc_fw_fini(&gsc->fw); in intel_gsc_uc_init() 257 if (!intel_uc_fw_is_loadable(&gsc->fw)) in intel_gsc_uc_fini() [all …]
|