/linux/drivers/net/ethernet/marvell/prestera/ |
A D | prestera_pci.c | 79 #define PRESTERA_LDR_REG_BASE(fw) ((fw)->ldr_regs) argument 181 #define PRESTERA_FW_REG_BASE(fw) ((fw)->dev.ctl_regs) argument 334 fw->dev.recv_msg(&fw->dev, msg, len); in prestera_fw_evt_work_fn() 447 fw->ldr_regs = fw->dev.ctl_regs; in prestera_fw_init() 506 fw->dev.recv_pkt(&fw->dev); in prestera_pci_irq_handler() 509 queue_work(fw->wq, &fw->evt_work); in prestera_pci_irq_handler() 566 fw->ldr_wr_idx = (fw->ldr_wr_idx + (n)) & (fw->ldr_buf_len - 1); in prestera_ldr_wr_idx_move() 576 return fw->ldr_ring_buf + fw->ldr_wr_idx; in prestera_ldr_wr_ptr() 665 fw->rev_supp.maj, fw->rev_supp.min); in prestera_fw_rev_check() 748 fw->ldr_ring_buf = fw->ldr_regs + in prestera_fw_load() [all …]
|
/linux/drivers/gpu/drm/tegra/ |
A D | firewall.c | 19 if (fw->pos == fw->end) in fw_next() 22 *word = fw->data[fw->pos++]; in fw_next() 54 is_addr = fw->client->ops->is_addr_reg(fw->client->base.dev, fw->class, in fw_check_reg() 100 is_addr = fw->client->ops->is_addr_reg(fw->client->base.dev, fw->class, in fw_check_regs_imm() 157 while (fw.pos != fw.end) { in tegra_drm_fw_validate() 188 offset, count, fw.class, fw.pos-1); in tegra_drm_fw_validate() 197 offset, count, fw.class, fw.pos-1); in tegra_drm_fw_validate() 206 offset, mask, fw.class, fw.pos-1); in tegra_drm_fw_validate() 215 offset, fw.class, fw.pos-1); in tegra_drm_fw_validate() 230 offset, fw.class, fw.pos-1); in tegra_drm_fw_validate() [all …]
|
/linux/drivers/firmware/ |
A D | raspberrypi.c | 40 complete(&fw->c); in response_callback() 237 kfree(fw); in rpi_firmware_delete() 262 fw = kzalloc(sizeof(*fw), GFP_KERNEL); in rpi_firmware_probe() 263 if (!fw) in rpi_firmware_probe() 266 fw->cl.dev = dev; in rpi_firmware_probe() 270 fw->chan = mbox_request_channel(&fw->cl, 0); in rpi_firmware_probe() 294 if (!fw) in rpi_firmware_shutdown() 331 if (!fw) in rpi_firmware_get() 339 return fw; in rpi_firmware_get() 359 if (!fw) in devm_rpi_firmware_get() [all …]
|
/linux/drivers/net/wireless/ralink/rt2x00/ |
A D | rt2x00firmware.c | 23 const struct firmware *fw; in rt2x00lib_request_firmware() local 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() 91 if (!rt2x00dev->fw) { in rt2x00lib_load_firmware() [all …]
|
/linux/drivers/media/platform/mtk-vcodec/ |
A D | mtk_vcodec_fw.c | 24 void mtk_vcodec_fw_release(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_release() argument 26 fw->ops->release(fw); in mtk_vcodec_fw_release() 30 int mtk_vcodec_fw_load_firmware(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_load_firmware() argument 32 return fw->ops->load_firmware(fw); in mtk_vcodec_fw_load_firmware() 36 unsigned int mtk_vcodec_fw_get_vdec_capa(struct mtk_vcodec_fw *fw) in mtk_vcodec_fw_get_vdec_capa() argument 38 return fw->ops->get_vdec_capa(fw); in mtk_vcodec_fw_get_vdec_capa() 44 return fw->ops->get_venc_capa(fw); in mtk_vcodec_fw_get_venc_capa() 50 return fw->ops->map_dm_addr(fw, mem_addr); in mtk_vcodec_fw_map_dm_addr() 54 int mtk_vcodec_fw_ipi_register(struct mtk_vcodec_fw *fw, int id, in mtk_vcodec_fw_ipi_register() argument 58 return fw->ops->ipi_register(fw, id, handler, name, priv); in mtk_vcodec_fw_ipi_register() [all …]
|
A D | mtk_vcodec_fw_scp.c | 9 return rproc_boot(scp_get_rproc(fw->scp)); in mtk_vcodec_scp_load_firmware() 14 return scp_get_vdec_hw_capa(fw->scp); in mtk_vcodec_scp_get_vdec_capa() 19 return scp_get_venc_hw_capa(fw->scp); in mtk_vcodec_scp_get_venc_capa() 38 return scp_ipi_send(fw->scp, id, buf, len, wait); in mtk_vcodec_scp_ipi_send() 43 scp_put(fw->scp); in mtk_vcodec_scp_release() 58 struct mtk_vcodec_fw *fw; in mtk_vcodec_fw_scp_init() local 67 fw = devm_kzalloc(&dev->plat_dev->dev, sizeof(*fw), GFP_KERNEL); in mtk_vcodec_fw_scp_init() 68 fw->type = SCP; in mtk_vcodec_fw_scp_init() 69 fw->ops = &mtk_vcodec_rproc_msg; in mtk_vcodec_fw_scp_init() 70 fw->scp = scp; in mtk_vcodec_fw_scp_init() [all …]
|
A D | mtk_vcodec_fw_vpu.c | 9 return vpu_load_firmware(fw->pdev); in mtk_vcodec_vpu_load_firmware() 14 return vpu_get_vdec_hw_capa(fw->pdev); in mtk_vcodec_vpu_get_vdec_capa() 19 return vpu_get_venc_hw_capa(fw->pdev); in mtk_vcodec_vpu_get_venc_capa() 46 return vpu_ipi_send(fw->pdev, id, buf, len); in mtk_vcodec_vpu_ipi_send() 51 put_device(&fw->pdev->dev); in mtk_vcodec_vpu_release() 84 struct mtk_vcodec_fw *fw; in mtk_vcodec_fw_vpu_init() local 104 fw = devm_kzalloc(&dev->plat_dev->dev, sizeof(*fw), GFP_KERNEL); in mtk_vcodec_fw_vpu_init() 105 fw->type = VPU; in mtk_vcodec_fw_vpu_init() 106 fw->ops = &mtk_vcodec_vpu_msg; in mtk_vcodec_fw_vpu_init() 107 fw->pdev = fw_pdev; in mtk_vcodec_fw_vpu_init() [all …]
|
/linux/drivers/nfc/s3fwrn5/ |
A D | firmware.c | 297 release_firmware(fw->fw); in s3fwrn5_fw_request_firmware() 301 memcpy(fw->date, fw->fw->data + 0x00, 12); in s3fwrn5_fw_request_firmware() 304 memcpy(&fw->version, fw->fw->data + 0x10, 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() 311 fw->image = fw->fw->data + image_off; in s3fwrn5_fw_request_firmware() 312 memcpy(&fw->image_sectors, fw->fw->data + 0x20, 4); in s3fwrn5_fw_request_firmware() 315 fw->custom_sig = fw->fw->data + custom_sig_off; in s3fwrn5_fw_request_firmware() 316 memcpy(&fw->custom_sig_size, fw->fw->data + 0x28, 4); in s3fwrn5_fw_request_firmware() 323 release_firmware(fw_info->fw.fw); in s3fwrn5_fw_release_firmware() [all …]
|
/linux/drivers/gpu/host1x/ |
A D | job.c | 394 if (fw->job->is_addr_reg(fw->dev, fw->class, offset)) { in check_register() 398 if (!check_reloc(fw->reloc, fw->cmdbuf, fw->offset)) in check_register() 402 fw->reloc++; in check_register() 414 if (!fw->job->is_valid_class(fw->class)) in check_class() 461 fw->words--; in check_incr() 478 ret = check_register(fw, fw->reg); in check_nonincr() 482 fw->words--; in check_nonincr() 506 fw->reg = 0; in validate() 508 fw->words--; in validate() 566 fw.job = job; in copy_gathers() [all …]
|
/linux/drivers/net/wireless/ath/carl9170/ |
A D | fw.c | 208 if (ar->fw.vif_num < 2) in carl9170_fw_set_if_combinations() 287 ar->fw.offset = 0; in carl9170_fw() 323 if (ar->fw.vif_num >= AR9170_MAX_VIRTUAL_MAC || !ar->fw.vif_num || in carl9170_fw() 324 ar->fw.mem_blocks < 16 || !ar->fw.cmd_bufs || in carl9170_fw() 325 ar->fw.mem_block_size < 64 || ar->fw.mem_block_size > 512 || in carl9170_fw() 326 ar->fw.rx_size > 32768 || ar->fw.rx_size < 4096 || in carl9170_fw() 336 if (valid_dma_addr(ar->fw.beacon_addr) && ar->fw.beacon_max_len >= in carl9170_fw() 397 const struct firmware *fw = ar->fw.fw; in carl9170_parse_firmware() local 401 if (WARN_ON(!fw)) in carl9170_parse_firmware() 404 fw_desc = carl9170_find_fw_desc(ar, fw->data, fw->size); in carl9170_parse_firmware() [all …]
|
/linux/drivers/scsi/qla2xxx/ |
A D | qla_dbg.c | 1259 iter_reg = fw->lmc_reg; in qla24xx_fw_dump() 1284 iter_reg = fw->fb_hdw_reg; in qla24xx_fw_dump() 1301 rval = qla24xx_dump_memory(ha, fw->code_ram, sizeof(fw->code_ram), in qla24xx_fw_dump() 1454 iter_reg = fw->xseq_0_reg; in qla25xx_fw_dump() 1563 iter_reg = fw->lmc_reg; in qla25xx_fw_dump() 1611 rval = qla24xx_dump_memory(ha, fw->code_ram, sizeof(fw->code_ram), in qla25xx_fw_dump() 1874 iter_reg = fw->lmc_reg; in qla81xx_fw_dump() 1925 rval = qla24xx_dump_memory(ha, fw->code_ram, sizeof(fw->code_ram), in qla81xx_fw_dump() 2241 iter_reg = fw->lmc_reg; in qla83xx_fw_dump() 2414 nxt = fw->code_ram; in qla83xx_fw_dump() [all …]
|
/linux/drivers/firmware/meson/ |
A D | meson_sm.c | 109 if (!fw->chip) in meson_sm_call() 149 if (!fw->chip) in meson_sm_call_read() 197 if (!fw->chip) in meson_sm_call_write() 200 if (size > fw->chip->shmem_size) in meson_sm_call_write() 244 struct meson_sm_firmware *fw; in serial_show() local 288 struct meson_sm_firmware *fw; in meson_sm_probe() local 290 fw = devm_kzalloc(dev, sizeof(*fw), GFP_KERNEL); in meson_sm_probe() 291 if (!fw) in meson_sm_probe() 310 fw->chip = chip; in meson_sm_probe() 312 platform_set_drvdata(pdev, fw); in meson_sm_probe() [all …]
|
/linux/drivers/net/wireless/intel/iwlwifi/ |
A D | iwl-drv.c | 56 struct iwl_fw fw; member 126 kfree(drv->fw.dbg.mem_tlv); in iwl_dealloc_ucode() 127 kfree(drv->fw.iml); in iwl_dealloc_ucode() 341 fw->cs[j++] = *fwcs; in iwl_store_cscheme() 825 drv->fw.valid_tx_ant = (drv->fw.phy_config & in iwl_parse_tlv_firmware() 828 drv->fw.valid_rx_ant = (drv->fw.phy_config & in iwl_parse_tlv_firmware() 1081 if (!drv->fw.iml) in iwl_parse_tlv_firmware() 1366 struct iwl_fw *fw = &drv->fw; in iwl_req_fw_callback() local 1570 fw->init_evtlog_size = in iwl_req_fw_callback() 1577 fw->inst_evtlog_size = in iwl_req_fw_callback() [all …]
|
/linux/drivers/remoteproc/ |
A D | remoteproc_elf_loader.c | 52 if (!fw) { 105 if (phoff > fw->size) { 130 return elf_hdr_get_e_entry(fw_elf_get_class(fw), fw->data); 166 const u8 *elf_data = fw->data; 167 u8 class = fw_elf_get_class(fw); 199 offset + filesz, fw->size); 255 u8 class = fw_elf_get_class(fw); 256 size_t fw_size = fw->size; 331 const u8 *elf_data = fw->data; 333 u8 class = fw_elf_get_class(fw); [all …]
|
A D | remoteproc_internal.h | 91 int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw); 96 const struct firmware *fw); 125 int rproc_fw_sanity_check(struct rproc *rproc, const struct firmware *fw) in rproc_fw_sanity_check() argument 128 return rproc->ops->sanity_check(rproc, fw); in rproc_fw_sanity_check() 134 u64 rproc_get_boot_addr(struct rproc *rproc, const struct firmware *fw) in rproc_get_boot_addr() argument 137 return rproc->ops->get_boot_addr(rproc, fw); in rproc_get_boot_addr() 143 int rproc_load_segments(struct rproc *rproc, const struct firmware *fw) in rproc_load_segments() argument 146 return rproc->ops->load(rproc, fw); in rproc_load_segments() 154 return rproc->ops->parse_fw(rproc, fw); in rproc_parse_fw() 172 const struct firmware *fw) in rproc_find_loaded_rsc_table() argument [all …]
|
/linux/drivers/base/firmware_loader/builtin/ |
A 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() 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() 95 bool firmware_is_builtin(const struct firmware *fw) in firmware_is_builtin() argument [all …]
|
/linux/drivers/net/wireless/mediatek/mt76/mt76x2/ |
A D | pci_mcu.c | 17 const struct firmware *fw = NULL; in mt76pci_load_rom_patch() local 47 if (!fw || !fw->data || fw->size <= sizeof(*hdr)) { 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 93 if (!fw || !fw->data || fw->size < sizeof(*hdr)) in mt76pci_load_firmware() 102 if (fw->size != len) in mt76pci_load_firmware() 140 release_firmware(fw); in mt76pci_load_firmware() 147 release_firmware(fw); in mt76pci_load_firmware() [all …]
|
A D | usb_mcu.c | 62 const struct firmware *fw; in mt76x2u_mcu_load_rom_patch() local 85 err = request_firmware(&fw, MT7662_ROM_PATCH, dev->mt76.dev); in mt76x2u_mcu_load_rom_patch() 89 if (!fw || !fw->data || fw->size <= sizeof(*hdr)) { in mt76x2u_mcu_load_rom_patch() 95 hdr = (struct mt76x02_patch_header *)fw->data; in mt76x2u_mcu_load_rom_patch() 120 fw->size - sizeof(*hdr), in mt76x2u_mcu_load_rom_patch() 140 release_firmware(fw); in mt76x2u_mcu_load_rom_patch() 149 const struct firmware *fw; in mt76x2u_mcu_load_firmware() local 155 if (!fw || !fw->data || fw->size < sizeof(*hdr)) { in mt76x2u_mcu_load_firmware() 160 hdr = (const struct mt76x02_fw_header *)fw->data; in mt76x2u_mcu_load_firmware() 164 if (fw->size != len) { in mt76x2u_mcu_load_firmware() [all …]
|
/linux/drivers/firmware/efi/ |
A 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() 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() 134 fw = iter; in efi_get_embedded_fw() 139 if (!fw) in efi_get_embedded_fw() 142 *data = fw->data; in efi_get_embedded_fw() [all …]
|
/linux/include/linux/ |
A D | firmware.h | 28 bool firmware_request_builtin(struct firmware *fw, const char *name); 30 static inline bool firmware_request_builtin(struct firmware *fw, in firmware_request_builtin() argument 38 int request_firmware(const struct firmware **fw, const char *name, 40 int firmware_request_nowarn(const struct firmware **fw, const char *name, 47 void (*cont)(const struct firmware *fw, void *context)); 56 void release_firmware(const struct firmware *fw); 58 static inline int request_firmware(const struct firmware **fw, in request_firmware() argument 65 static inline int firmware_request_nowarn(const struct firmware **fw, in firmware_request_nowarn() argument 82 void (*cont)(const struct firmware *fw, void *context)) in request_firmware_nowait() argument 87 static inline void release_firmware(const struct firmware *fw) in release_firmware() argument [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/acr/ |
A D | hsfw.c | 54 const struct firmware *fw; in nvkm_acr_hsfw_load_image() local 61 ret = nvkm_firmware_get(subdev, name, ver, &fw); in nvkm_acr_hsfw_load_image() 65 hdr = nvfw_bin_hdr(subdev, fw->data); in nvkm_acr_hsfw_load_image() 74 loc = *(u32 *)(fw->data + fwhdr->patch_loc); in nvkm_acr_hsfw_load_image() 75 sig = *(u32 *)(fw->data + fwhdr->patch_sig); in nvkm_acr_hsfw_load_image() 120 nvkm_firmware_put(fw); in nvkm_acr_hsfw_load_image() 131 const struct firmware *fw; in nvkm_acr_hsfw_load_bl() local 135 ret = nvkm_firmware_get(subdev, name, ver, &fw); in nvkm_acr_hsfw_load_bl() 139 hdr = nvfw_bin_hdr(subdev, fw->data); in nvkm_acr_hsfw_load_bl() 141 data = (void *)fw->data + hdr->data_offset; in nvkm_acr_hsfw_load_bl() [all …]
|
/linux/drivers/net/wireless/intersil/orinoco/ |
A D | fw.c | 98 const struct fw_info *fw, in orinoco_dl_firmware() argument 114 pda = kzalloc(fw->pda_size, GFP_KERNEL); in orinoco_dl_firmware() 119 firmware = fw->ap_fw; in orinoco_dl_firmware() 121 firmware = fw->sta_fw; in orinoco_dl_firmware() 126 err = hw->ops->read_pda(hw, pda, fw->pda_addr, fw->pda_size); in orinoco_dl_firmware() 175 &pda[fw->pda_size / sizeof(*pda)]); in orinoco_dl_firmware() 224 pda = kzalloc(fw->pda_size, GFP_KERNEL); in symbol_dl_image() 228 ret = hw->ops->read_pda(hw, pda, fw->pda_addr, fw->pda_size); in symbol_dl_image() 288 const struct fw_info *fw) in symbol_dl_firmware() argument 361 const char *fw; in orinoco_cache_fw() local [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/core/ |
A D | firmware.c | 44 const struct firmware *fw; in nvkm_firmware_load_blob() local 47 ret = nvkm_firmware_load_name(subdev, base, name, ver, &fw); in nvkm_firmware_load_blob() 49 blob->data = kmemdup(fw->data, fw->size, GFP_KERNEL); in nvkm_firmware_load_blob() 50 blob->size = fw->size; in nvkm_firmware_load_blob() 51 nvkm_firmware_put(fw); in nvkm_firmware_load_blob() 71 const struct firmware **fw) in nvkm_firmware_get() argument 92 if (!firmware_request_nowarn(fw, f, device->dev)) { in nvkm_firmware_get() 94 f, (*fw)->size); in nvkm_firmware_get() 106 nvkm_firmware_put(const struct firmware *fw) in nvkm_firmware_put() argument 108 release_firmware(fw); in nvkm_firmware_put()
|
/linux/drivers/media/platform/qcom/venus/ |
A D | firmware.c | 151 dev = core->fw.dev; in venus_boot_no_tz() 155 iommu = core->fw.iommu_domain; in venus_boot_no_tz() 194 iommu = core->fw.iommu_domain; in venus_shutdown_no_tz() 202 core->fw.mapped_mem_size = 0; in venus_shutdown_no_tz() 232 core->fw.mem_size = mem_size; in venus_boot() 233 core->fw.mem_phys = mem_phys; in venus_boot() 305 core->fw.dev = &pdev->dev; in venus_firmware_init() 338 if (!core->fw.dev) in venus_firmware_deinit() 341 iommu = core->fw.iommu_domain; in venus_firmware_deinit() 345 if (core->fw.iommu_domain) { in venus_firmware_deinit() [all …]
|
/linux/drivers/net/ethernet/realtek/ |
A D | r8169_firmware.c | 44 const struct firmware *fw = rtl_fw->fw; in rtl_fw_format_ok() local 48 if (fw->size < FW_OPCODE_SIZE) in rtl_fw_format_ok() 55 if (fw->size < sizeof(*fw_info)) in rtl_fw_format_ok() 58 for (i = 0; i < fw->size; i++) in rtl_fw_format_ok() 59 checksum += fw->data[i]; in rtl_fw_format_ok() 64 if (start > fw->size) in rtl_fw_format_ok() 76 if (fw->size % FW_OPCODE_SIZE) in rtl_fw_format_ok() 81 pa->code = (__le32 *)fw->data; in rtl_fw_format_ok() 82 pa->size = fw->size / FW_OPCODE_SIZE; in rtl_fw_format_ok() 214 release_firmware(rtl_fw->fw); in rtl_fw_release_firmware() [all …]
|