/Linux-v4.19/drivers/net/wireless/ralink/rt2x00/ |
D | rt2x00firmware.c | 34 const struct firmware *fw; in rt2x00lib_request_firmware() local 51 retval = request_firmware(&fw, fw_name, device); in rt2x00lib_request_firmware() 57 if (!fw || !fw->size || !fw->data) { in rt2x00lib_request_firmware() 59 release_firmware(fw); in rt2x00lib_request_firmware() 64 fw->data[fw->size - 4], fw->data[fw->size - 3]); in rt2x00lib_request_firmware() 67 fw->data[fw->size - 4], fw->data[fw->size - 3]); in rt2x00lib_request_firmware() 69 retval = rt2x00dev->ops->lib->check_firmware(rt2x00dev, fw->data, fw->size); in rt2x00lib_request_firmware() 78 fw->size); in rt2x00lib_request_firmware() 85 rt2x00dev->fw = fw; in rt2x00lib_request_firmware() 90 release_firmware(fw); in rt2x00lib_request_firmware() [all …]
|
/Linux-v4.19/drivers/firmware/ |
D | raspberrypi.c | 39 struct rpi_firmware *fw = container_of(cl, struct rpi_firmware, cl); in response_callback() local 40 complete(&fw->c); in response_callback() 48 rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data) in rpi_firmware_transaction() argument 56 reinit_completion(&fw->c); in rpi_firmware_transaction() 57 ret = mbox_send_message(fw->chan, &message); in rpi_firmware_transaction() 59 wait_for_completion(&fw->c); in rpi_firmware_transaction() 62 dev_err(fw->cl.dev, "mbox_send_message returned %d\n", ret); in rpi_firmware_transaction() 83 int rpi_firmware_property_list(struct rpi_firmware *fw, in rpi_firmware_property_list() argument 95 buf = dma_alloc_coherent(fw->cl.dev, PAGE_ALIGN(size), &bus_addr, in rpi_firmware_property_list() 109 ret = rpi_firmware_transaction(fw, MBOX_CHAN_PROPERTY, bus_addr); in rpi_firmware_property_list() [all …]
|
/Linux-v4.19/drivers/gpu/host1x/ |
D | job.c | 281 static int check_register(struct host1x_firewall *fw, unsigned long offset) in check_register() argument 283 if (!fw->job->is_addr_reg) in check_register() 286 if (fw->job->is_addr_reg(fw->dev, fw->class, offset)) { in check_register() 287 if (!fw->num_relocs) in check_register() 290 if (!check_reloc(fw->reloc, fw->cmdbuf, fw->offset)) in check_register() 293 fw->num_relocs--; in check_register() 294 fw->reloc++; in check_register() 300 static int check_class(struct host1x_firewall *fw, u32 class) in check_class() argument 302 if (!fw->job->is_valid_class) { in check_class() 303 if (fw->class != class) in check_class() [all …]
|
/Linux-v4.19/drivers/net/wireless/ath/carl9170/ |
D | fw.c | 38 carl9170fw_for_each_hdr(iter, ar->fw.desc) { in carl9170_fw_find_desc() 208 ar->fw.tx_seq_table = le32_to_cpu(txsq_desc->seq_table_addr); in carl9170_fw_tx_sequence() 209 if (!valid_cpu_addr(ar->fw.tx_seq_table)) in carl9170_fw_tx_sequence() 212 ar->fw.tx_seq_table = 0; in carl9170_fw_tx_sequence() 221 if (ar->fw.vif_num < 2) in carl9170_fw_set_if_combinations() 224 ar->if_comb_limits[0].max = ar->fw.vif_num; in carl9170_fw_set_if_combinations() 228 ar->if_combs[0].max_interfaces = ar->fw.vif_num; in carl9170_fw_set_if_combinations() 261 ar->fw.api_version = otus_desc->api_ver; in carl9170_fw() 263 if (ar->fw.api_version < CARL9170FW_API_MIN_VER || in carl9170_fw() 264 ar->fw.api_version > CARL9170FW_API_MAX_VER) { in carl9170_fw() [all …]
|
/Linux-v4.19/drivers/nfc/s3fwrn5/ |
D | firmware.c | 296 struct s3fwrn5_fw_image *fw = &fw_info->fw; in s3fwrn5_fw_request_firmware() local 302 ret = request_firmware(&fw->fw, fw_info->fw_name, in s3fwrn5_fw_request_firmware() 307 if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE) in s3fwrn5_fw_request_firmware() 310 memcpy(fw->date, fw->fw->data + 0x00, 12); in s3fwrn5_fw_request_firmware() 311 fw->date[12] = '\0'; in s3fwrn5_fw_request_firmware() 313 memcpy(&fw->version, fw->fw->data + 0x10, 4); in s3fwrn5_fw_request_firmware() 315 memcpy(&sig_off, fw->fw->data + 0x14, 4); in s3fwrn5_fw_request_firmware() 316 fw->sig = fw->fw->data + sig_off; in s3fwrn5_fw_request_firmware() 317 memcpy(&fw->sig_size, fw->fw->data + 0x18, 4); in s3fwrn5_fw_request_firmware() 319 memcpy(&image_off, fw->fw->data + 0x1C, 4); in s3fwrn5_fw_request_firmware() [all …]
|
/Linux-v4.19/drivers/remoteproc/ |
D | remoteproc_internal.h | 57 int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw); 58 u32 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw); 59 int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw); 60 int rproc_elf_load_rsc_table(struct rproc *rproc, const struct firmware *fw); 62 const struct firmware *fw); 65 int rproc_fw_sanity_check(struct rproc *rproc, const struct firmware *fw) in rproc_fw_sanity_check() argument 68 return rproc->ops->sanity_check(rproc, fw); in rproc_fw_sanity_check() 74 u32 rproc_get_boot_addr(struct rproc *rproc, const struct firmware *fw) in rproc_get_boot_addr() argument 77 return rproc->ops->get_boot_addr(rproc, fw); in rproc_get_boot_addr() 83 int rproc_load_segments(struct rproc *rproc, const struct firmware *fw) in rproc_load_segments() argument [all …]
|
D | remoteproc_elf_loader.c | 42 int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw) argument 49 if (!fw) { 54 if (fw->size < sizeof(struct elf32_hdr)) { 59 ehdr = (struct elf32_hdr *)fw->data; 78 if (fw->size < ehdr->e_shoff + sizeof(struct elf32_shdr)) { 93 if (ehdr->e_phoff > fw->size) { 113 u32 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw) argument 115 struct elf32_hdr *ehdr = (struct elf32_hdr *)fw->data; 145 int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw) argument 151 const u8 *elf_data = fw->data; [all …]
|
/Linux-v4.19/drivers/scsi/qla2xxx/ |
D | qla_dbg.c | 732 struct qla2300_fw_dump *fw; in qla2300_fw_dump() local 756 fw = &ha->fw_dump->isp.isp23; in qla2300_fw_dump() 760 fw->hccr = htons(RD_REG_WORD(®->hccr)); in qla2300_fw_dump() 780 for (cnt = 0; cnt < sizeof(fw->pbiu_reg) / 2; cnt++, dmp_reg++) in qla2300_fw_dump() 781 fw->pbiu_reg[cnt] = htons(RD_REG_WORD(dmp_reg)); in qla2300_fw_dump() 784 for (cnt = 0; cnt < sizeof(fw->risc_host_reg) / 2; in qla2300_fw_dump() 786 fw->risc_host_reg[cnt] = htons(RD_REG_WORD(dmp_reg)); in qla2300_fw_dump() 789 for (cnt = 0; cnt < sizeof(fw->mailbox_reg) / 2; in qla2300_fw_dump() 791 fw->mailbox_reg[cnt] = htons(RD_REG_WORD(dmp_reg)); in qla2300_fw_dump() 794 qla2xxx_read_window(reg, 32, fw->resp_dma_reg); in qla2300_fw_dump() [all …]
|
/Linux-v4.19/drivers/net/wireless/intel/iwlwifi/ |
D | iwl-drv.c | 111 struct iwl_fw fw; member 176 kfree(drv->fw.dbg_dest_tlv); in iwl_dealloc_ucode() 177 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg_conf_tlv); i++) in iwl_dealloc_ucode() 178 kfree(drv->fw.dbg_conf_tlv[i]); in iwl_dealloc_ucode() 179 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg_trigger_tlv); i++) in iwl_dealloc_ucode() 180 kfree(drv->fw.dbg_trigger_tlv[i]); in iwl_dealloc_ucode() 181 kfree(drv->fw.dbg_mem_tlv); in iwl_dealloc_ucode() 182 kfree(drv->fw.iml); in iwl_dealloc_ucode() 185 iwl_free_fw_img(drv, drv->fw.img + i); in iwl_dealloc_ucode() 382 static int iwl_store_cscheme(struct iwl_fw *fw, const u8 *data, const u32 len) in iwl_store_cscheme() argument [all …]
|
/Linux-v4.19/drivers/fmc/ |
D | fmc-write-eeprom.c | 32 static int fwe_run_tlv(struct fmc_device *fmc, const struct firmware *fw, in fwe_run_tlv() argument 35 const uint8_t *p = fw->data; in fwe_run_tlv() 36 int len = fw->size; in fwe_run_tlv() 46 p - fw->data); in fwe_run_tlv() 68 static int fwe_run_bin(struct fmc_device *fmc, const struct firmware *fw) in fwe_run_bin() argument 72 dev_info(&fmc->dev, "programming %zi bytes\n", fw->size); in fwe_run_bin() 73 ret = fmc_write_ee(fmc, 0, (void *)fw->data, fw->size); in fwe_run_bin() 82 static int fwe_run(struct fmc_device *fmc, const struct firmware *fw, char *s) in fwe_run() argument 88 return fwe_run_bin(fmc, fw); in fwe_run() 90 err = fwe_run_tlv(fmc, fw, 0); in fwe_run() [all …]
|
/Linux-v4.19/drivers/firmware/meson/ |
D | meson_sm.c | 61 static struct meson_sm_firmware fw; variable 112 if (!fw.chip) in meson_sm_call() 115 cmd = meson_sm_get_cmd(fw.chip, cmd_index); in meson_sm_call() 150 if (!fw.chip) in meson_sm_call_read() 153 if (!fw.chip->cmd_shmem_out_base) in meson_sm_call_read() 156 if (bsize > fw.chip->shmem_size) in meson_sm_call_read() 171 memcpy(buffer, fw.sm_shmem_out_base, size); in meson_sm_call_read() 196 if (!fw.chip) in meson_sm_call_write() 199 if (size > fw.chip->shmem_size) in meson_sm_call_write() 202 if (!fw.chip->cmd_shmem_in_base) in meson_sm_call_write() [all …]
|
/Linux-v4.19/drivers/net/wireless/intersil/orinoco/ |
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() 205 symbol_dl_image(struct orinoco_private *priv, const struct fw_info *fw, in symbol_dl_image() argument 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() 250 &pda[fw->pda_size / sizeof(*pda)]); in symbol_dl_image() [all …]
|
/Linux-v4.19/drivers/base/firmware_loader/ |
D | main.c | 100 static void fw_copy_to_prealloc_buf(struct firmware *fw, in fw_copy_to_prealloc_buf() argument 103 if (!buf || size < fw->size) in fw_copy_to_prealloc_buf() 105 memcpy(buf, fw->data, fw->size); in fw_copy_to_prealloc_buf() 108 static bool fw_get_builtin_firmware(struct firmware *fw, const char *name, in fw_get_builtin_firmware() argument 115 fw->size = b_fw->size; in fw_get_builtin_firmware() 116 fw->data = b_fw->data; in fw_get_builtin_firmware() 117 fw_copy_to_prealloc_buf(fw, buf, size); in fw_get_builtin_firmware() 126 static bool fw_is_builtin_firmware(const struct firmware *fw) in fw_is_builtin_firmware() argument 131 if (fw->data == b_fw->data) in fw_is_builtin_firmware() 139 static inline bool fw_get_builtin_firmware(struct firmware *fw, in fw_get_builtin_firmware() argument [all …]
|
/Linux-v4.19/drivers/net/wireless/intel/iwlwifi/pcie/ |
D | ctxt-info.c | 83 const struct fw_img *fw, in iwl_pcie_init_fw_sec() argument 95 lmac_cnt = iwl_pcie_get_num_sections(fw, 0); in iwl_pcie_init_fw_sec() 97 umac_cnt = iwl_pcie_get_num_sections(fw, lmac_cnt + 1); in iwl_pcie_init_fw_sec() 99 paging_cnt = iwl_pcie_get_num_sections(fw, lmac_cnt + umac_cnt + 2); in iwl_pcie_init_fw_sec() 101 dram->fw = kcalloc(umac_cnt + lmac_cnt, sizeof(*dram->fw), GFP_KERNEL); in iwl_pcie_init_fw_sec() 102 if (!dram->fw) in iwl_pcie_init_fw_sec() 110 ret = iwl_pcie_ctxt_info_alloc_dma(trans, &fw->sec[i], in iwl_pcie_init_fw_sec() 111 &dram->fw[dram->fw_cnt]); in iwl_pcie_init_fw_sec() 115 cpu_to_le64(dram->fw[dram->fw_cnt].physical); in iwl_pcie_init_fw_sec() 123 &fw->sec[dram->fw_cnt + 1], in iwl_pcie_init_fw_sec() [all …]
|
/Linux-v4.19/include/linux/ |
D | firmware.h | 43 int request_firmware(const struct firmware **fw, const char *name, 45 int firmware_request_nowarn(const struct firmware **fw, const char *name, 50 void (*cont)(const struct firmware *fw, void *context)); 51 int request_firmware_direct(const struct firmware **fw, const char *name, 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 75 void (*cont)(const struct firmware *fw, void *context)) in request_firmware_nowait() argument 80 static inline void release_firmware(const struct firmware *fw) in release_firmware() argument 84 static inline int request_firmware_direct(const struct firmware **fw, in request_firmware_direct() argument
|
/Linux-v4.19/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/ |
D | acr.c | 35 const struct firmware *fw; in nvkm_acr_load_firmware() local 39 ret = nvkm_firmware_get(subdev->device, name, &fw); in nvkm_acr_load_firmware() 42 if (fw->size < min_size) { in nvkm_acr_load_firmware() 45 nvkm_firmware_put(fw); in nvkm_acr_load_firmware() 48 blob = kmemdup(fw->data, fw->size, GFP_KERNEL); in nvkm_acr_load_firmware() 49 nvkm_firmware_put(fw); in nvkm_acr_load_firmware()
|
/Linux-v4.19/drivers/media/pci/cx18/ |
D | cx18-firmware.c | 98 const struct firmware *fw = NULL; in load_cpu_fw_direct() local 104 if (request_firmware(&fw, fn, &cx->pci_dev->dev)) { in load_cpu_fw_direct() 110 src = (const u32 *)fw->data; in load_cpu_fw_direct() 112 for (i = 0; i < fw->size; i += 4096) { in load_cpu_fw_direct() 114 for (j = i; j < fw->size && j < i + 4096; j += 4) { in load_cpu_fw_direct() 119 release_firmware(fw); in load_cpu_fw_direct() 128 CX18_INFO("loaded %s firmware (%zu bytes)\n", fn, fw->size); in load_cpu_fw_direct() 129 size = fw->size; in load_cpu_fw_direct() 130 release_firmware(fw); in load_cpu_fw_direct() 138 const struct firmware *fw = NULL; in load_apu_fw_direct() local [all …]
|
D | cx18-av-firmware.c | 31 static int cx18_av_verifyfw(struct cx18 *cx, const struct firmware *fw) in cx18_av_verifyfw() argument 53 data = fw->data; in cx18_av_verifyfw() 54 size = fw->size; in cx18_av_verifyfw() 75 const struct firmware *fw = NULL; in cx18_av_loadfw() local 82 if (request_firmware(&fw, FWFILE, &cx->pci_dev->dev) != 0) { in cx18_av_loadfw() 101 ptr = fw->data; in cx18_av_loadfw() 102 size = fw->size; in cx18_av_loadfw() 135 release_firmware(fw); in cx18_av_loadfw() 140 0x03000000 | fw->size, 0x03000000, 0x13000000); in cx18_av_loadfw() 144 if (cx18_av_verifyfw(cx, fw) == 0) in cx18_av_loadfw() [all …]
|
/Linux-v4.19/drivers/staging/rtl8188eu/hal/ |
D | fw.c | 148 const struct firmware *fw; in rtl88eu_download_fw() local 155 if (request_firmware(&fw, fw_name, device)) { in rtl88eu_download_fw() 160 if (fw->size > FW_8188E_SIZE) { in rtl88eu_download_fw() 163 release_firmware(fw); in rtl88eu_download_fw() 167 trailing_zeros_length = (4 - fw->size % 4) % 4; in rtl88eu_download_fw() 169 fw_data = kmalloc(fw->size + trailing_zeros_length, GFP_KERNEL); in rtl88eu_download_fw() 171 release_firmware(fw); in rtl88eu_download_fw() 175 memcpy(fw_data, fw->data, fw->size); in rtl88eu_download_fw() 176 memset(fw_data + fw->size, 0, trailing_zeros_length); in rtl88eu_download_fw() 182 download_size = fw->size + trailing_zeros_length - 32; in rtl88eu_download_fw() [all …]
|
/Linux-v4.19/drivers/media/usb/dvb-usb/ |
D | dvb-usb-firmware.c | 37 int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware *fw, int type) in usb_cypress_load_firmware() argument 54 while ((ret = dvb_usb_get_hexline(fw, hx, &pos)) > 0) { in usb_cypress_load_firmware() 90 const struct firmware *fw = NULL; in dvb_usb_download_firmware() local 92 if ((ret = request_firmware(&fw, props->firmware, &udev->dev)) != 0) { in dvb_usb_download_firmware() 104 ret = usb_cypress_load_firmware(udev, fw, props->usb_ctrl); in dvb_usb_download_firmware() 108 ret = props->download_firmware(udev,fw); in dvb_usb_download_firmware() 119 release_firmware(fw); in dvb_usb_download_firmware() 123 int dvb_usb_get_hexline(const struct firmware *fw, struct hexline *hx, in dvb_usb_get_hexline() argument 126 u8 *b = (u8 *) &fw->data[*pos]; in dvb_usb_get_hexline() 128 if (*pos >= fw->size) in dvb_usb_get_hexline() [all …]
|
/Linux-v4.19/drivers/bluetooth/ |
D | hci_ag6xx.c | 171 const struct firmware *fw; in ag6xx_setup() local 211 err = request_firmware(&fw, fwname, &hdev->dev); in ag6xx_setup() 217 fw_ptr = fw->data; in ag6xx_setup() 221 skb = __hci_cmd_sync_ev(hdev, 0xfc2f, fw->size, fw->data, in ag6xx_setup() 225 release_firmware(fw); in ag6xx_setup() 230 release_firmware(fw); in ag6xx_setup() 249 err = request_firmware(&fw, fwname, &hdev->dev); in ag6xx_setup() 255 fw_ptr = fw->data; in ag6xx_setup() 269 while (fw->size > fw_ptr - fw->data) { in ag6xx_setup() 282 if (fw->data + fw->size <= pbn->data + plen) { in ag6xx_setup() [all …]
|
/Linux-v4.19/drivers/scsi/sym53c8xx_2/ |
D | sym_fw.h | 152 #define SYM_FW_ENTRY(fw, name) \ argument 155 (u32 *) &fw##a_scr, sizeof(fw##a_scr), &fw##a_ofs, \ 156 (u32 *) &fw##b_scr, sizeof(fw##b_scr), &fw##b_ofs, \ 157 (u32 *) &fw##z_scr, sizeof(fw##z_scr), &fw##z_ofs, \ 158 fw##_setup, fw##_patch \
|
/Linux-v4.19/sound/usb/6fire/ |
D | firmware.c | 145 static int usb6fire_fw_ihex_init(const struct firmware *fw, in usb6fire_fw_ihex_init() argument 148 record->txt_data = fw->data; in usb6fire_fw_ihex_init() 149 record->txt_length = fw->size; in usb6fire_fw_ihex_init() 212 const struct firmware *fw = NULL; in usb6fire_fw_ezusb_upload() local 219 ret = request_firmware(&fw, fwname, &device->dev); in usb6fire_fw_ezusb_upload() 226 ret = usb6fire_fw_ihex_init(fw, rec); in usb6fire_fw_ezusb_upload() 229 release_firmware(fw); in usb6fire_fw_ezusb_upload() 239 release_firmware(fw); in usb6fire_fw_ezusb_upload() 251 release_firmware(fw); in usb6fire_fw_ezusb_upload() 259 release_firmware(fw); in usb6fire_fw_ezusb_upload() [all …]
|
/Linux-v4.19/drivers/net/wireless/mediatek/mt76/ |
D | mt76x2_mcu.c | 105 const struct firmware *fw = NULL; in mt76pci_load_rom_patch() local 131 ret = request_firmware(&fw, MT7662_ROM_PATCH, dev->mt76.dev); in mt76pci_load_rom_patch() 135 if (!fw || !fw->data || fw->size <= sizeof(*hdr)) { in mt76pci_load_rom_patch() 141 hdr = (struct mt76x2_patch_header *) fw->data; in mt76pci_load_rom_patch() 146 cur = (__le32 *) (fw->data + sizeof(*hdr)); in mt76pci_load_rom_patch() 147 len = fw->size - sizeof(*hdr); in mt76pci_load_rom_patch() 164 release_firmware(fw); in mt76pci_load_rom_patch() 171 const struct firmware *fw; in mt76pci_load_firmware() local 177 ret = request_firmware(&fw, MT7662_FIRMWARE, dev->mt76.dev); in mt76pci_load_firmware() 181 if (!fw || !fw->data || fw->size < sizeof(*hdr)) in mt76pci_load_firmware() [all …]
|
/Linux-v4.19/arch/arm/mach-pxa/ |
D | am200epd.c | 200 int fw; in am200_presetup_fb() local 228 fw = am200_fb_info.modes->xres; in am200_presetup_fb() 232 am200_board.wfm_size = roundup(16*1024 + 2, fw); in am200_presetup_fb() 234 padding_size = PAGE_SIZE + (4 * fw); in am200_presetup_fb() 237 totalsize = fw + am200_board.wfm_size + padding_size + (fw*fh); in am200_presetup_fb() 241 am200_board.fw = fw; in am200_presetup_fb() 247 am200_fb_info.modes->yres = DIV_ROUND_UP(totalsize, fw); in am200_presetup_fb() 261 int fw; in am200_setup_fb() local 264 fw = am200_board.fw; in am200_setup_fb() 270 par->metromem_wfm = am200_board.metromem + fw; in am200_setup_fb() [all …]
|