/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 83 /* fw loader registers */ 136 /* fw registers */ 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 [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/falcon/ |
H A D | fw.c | 27 #include <nvfw/fw.h> 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() [all …]
|
H A D | gm200.c | 52 /* Sigh. Tegra PMU FW's init message... */ in gm200_flcn_pio_dmem_rd() 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() [all …]
|
/linux/tools/testing/selftests/tc-testing/tc-tests/filters/ |
H A D | fw.json | 4 "name": "Add fw filter with prio at 32-bit maxixum", 7 "fw" 15 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65535 fw action ok", 17 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 65535 protocol all fw", 18 "matchPattern": "pref 65535 fw.*handle 0x1.*gact action pass", 26 "name": "Add fw filter with prio exceeding 32-bit maxixum", 29 "fw" 37 "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65536 fw action ok", 39 "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 65536 protocol all fw", 40 "matchPattern": "pref 65536 fw.*handle 0x1.*gact action pass", [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() 67 * @fw: firmware structure to load to 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 [all …]
|
/linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
H A D | fw-api.h | 10 #include "fw/api/tdls.h" 11 #include "fw/api/mac-cfg.h" 12 #include "fw/api/offload.h" 13 #include "fw/api/context.h" 14 #include "fw/api/time-event.h" 15 #include "fw/api/datapath.h" 16 #include "fw/api/phy.h" 17 #include "fw/api/config.h" 18 #include "fw/api/system.h" 19 #include "fw/api/alive.h" [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() 76 * @fw: Pointer to firmware structure from rpi_firmware_get(). 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() [all …]
|
/linux/drivers/net/wireless/ath/ath12k/ |
H A D | fw.c | 19 ab->fw.fw = ath12k_core_firmware_request(ab, name); in ath12k_fw_request_firmware_api_n() 20 if (IS_ERR(ab->fw.fw)) { in ath12k_fw_request_firmware_api_n() 21 ret = PTR_ERR(ab->fw.fw); in ath12k_fw_request_firmware_api_n() 23 ab->fw.fw = NULL; in ath12k_fw_request_firmware_api_n() 27 data = ab->fw.fw->data; in ath12k_fw_request_firmware_api_n() 28 len = ab->fw.fw->size; in ath12k_fw_request_firmware_api_n() 70 ath12k_err(ab, "Invalid length for FW IE %d (%zu < %zu)\n", in ath12k_fw_request_firmware_api_n() 83 ath12k_dbg(ab, ATH12K_DBG_BOOT, "found fw timestamp %d\n", in ath12k_fw_request_firmware_api_n() 99 __set_bit(i, ab->fw.fw_features); in ath12k_fw_request_firmware_api_n() 103 ab->fw.fw_features, in ath12k_fw_request_firmware_api_n() [all …]
|
/linux/drivers/net/wireless/ath/ath11k/ |
H A D | fw.c | 19 ab->fw.fw = ath11k_core_firmware_request(ab, name); in ath11k_fw_request_firmware_api_n() 20 if (IS_ERR(ab->fw.fw)) { in ath11k_fw_request_firmware_api_n() 21 ret = PTR_ERR(ab->fw.fw); in ath11k_fw_request_firmware_api_n() 23 ab->fw.fw = NULL; in ath11k_fw_request_firmware_api_n() 27 data = ab->fw.fw->data; in ath11k_fw_request_firmware_api_n() 28 len = ab->fw.fw->size; in ath11k_fw_request_firmware_api_n() 70 ath11k_err(ab, "Invalid length for FW IE %d (%zu < %zu)\n", in ath11k_fw_request_firmware_api_n() 83 ath11k_dbg(ab, ATH11K_DBG_BOOT, "found fw timestamp %d\n", in ath11k_fw_request_firmware_api_n() 99 __set_bit(i, ab->fw.fw_features); in ath11k_fw_request_firmware_api_n() 103 ab->fw.fw_features, in ath11k_fw_request_firmware_api_n() [all …]
|
/linux/drivers/accel/ivpu/ |
H A D | ivpu_fw.c | 36 /* Check if FW API is compatible with the driver */ 73 ret = request_firmware(&vdev->fw->file, ivpu_firmware, vdev->drm.dev); in ivpu_fw_request() 75 vdev->fw->name = ivpu_firmware; in ivpu_fw_request() 83 ret = firmware_request_nowarn(&vdev->fw->file, fw_names[i].name, vdev->drm.dev); in ivpu_fw_request() 85 vdev->fw->name = fw_names[i].name; in ivpu_fw_request() 103 ivpu_err(vdev, "Incompatible FW %s API version: %d.%d, required %d.0 or later\n", in ivpu_fw_check_api() 108 ivpu_warn(vdev, "Major FW %s API version different: %d.%d (expected %d.%d)\n", in ivpu_fw_check_api() 111 ivpu_dbg(vdev, FW_BOOT, "FW %s API version: %d.%d (expected %d.%d)\n", in ivpu_fw_check_api() 140 struct ivpu_fw_info *fw = vdev->fw; in ivpu_fw_parse() local 141 const struct vpu_firmware_header *fw_hdr = (const void *)fw->file->data; in ivpu_fw_parse() [all …]
|
/linux/drivers/media/platform/mediatek/vcodec/common/ |
H A D | mtk_vcodec_fw.c | 23 dev_err(&plat_dev->dev, "Invalid vcodec fw type"); in mtk_vcodec_fw_select() 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 [all …]
|
H A 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 …]
|
H A 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 32 return vpu_ipi_register(fw->pdev, id, handler, name, priv); in mtk_vcodec_vpu_set_ipi_register() [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/gpu/drm/msm/adreno/ |
H A D | a3xx_catalog.c | 15 .fw = { 16 [ADRENO_FW_PM4] = "a330_pm4.fw", 17 [ADRENO_FW_PFP] = "a330_pfp.fw", 26 .fw = { 27 [ADRENO_FW_PM4] = "a300_pm4.fw", 28 [ADRENO_FW_PFP] = "a300_pfp.fw", 37 .fw = { 38 [ADRENO_FW_PM4] = "a300_pm4.fw", 39 [ADRENO_FW_PFP] = "a300_pfp.fw", 48 .fw = { [all …]
|
H A D | a5xx_catalog.c | 16 .fw = { 17 [ADRENO_FW_PM4] = "a530_pm4.fw", 18 [ADRENO_FW_PFP] = "a530_pfp.fw", 29 .fw = { 30 [ADRENO_FW_PM4] = "a530_pm4.fw", 31 [ADRENO_FW_PFP] = "a530_pfp.fw", 47 .fw = { 48 [ADRENO_FW_PM4] = "a530_pm4.fw", 49 [ADRENO_FW_PFP] = "a530_pfp.fw", 64 .fw = { [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ |
H A D | fwsec.c | 27 #include <nvfw/fw.h> 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() [all …]
|
H A D | tu102.c | 27 #include <nvfw/fw.h> 32 struct nvkm_falcon *falcon, struct nvkm_falcon_fw *fw) in tu102_gsp_booter_ctor() argument 49 blob->data + hdr->data_offset, hdr->data_size, falcon, fw); in tu102_gsp_booter_ctor() 53 ret = nvkm_falcon_fw_sign(fw, loc, hshdr->sig_prod_size / cnt, blob->data, in tu102_gsp_booter_ctor() 60 fw->nmem_base_img = 0; in tu102_gsp_booter_ctor() 61 fw->nmem_base = lhdr->os_code_offset; in tu102_gsp_booter_ctor() 62 fw->nmem_size = lhdr->os_code_size; in tu102_gsp_booter_ctor() 63 fw->imem_base_img = fw->nmem_size; in tu102_gsp_booter_ctor() 64 fw->imem_base = lhdr->app[0].offset; in tu102_gsp_booter_ctor() 65 fw->imem_size = lhdr->app[0].size; in tu102_gsp_booter_ctor() [all …]
|
/linux/drivers/nfc/s3fwrn5/ |
H A 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/drivers/gpu/host1x/ |
H A 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/drivers/net/wireless/ath/carl9170/ |
H A D | fw.c | 25 carl9170fw_for_each_hdr(iter, ar->fw.desc) { in carl9170_fw_find_desc() 176 dev_err(&ar->udev->dev, "fw checksum test failed.\n"); in carl9170_fw_checksum() 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() [all …]
|
/linux/drivers/gpu/drm/panthor/ |
H A D | panthor_fw.c | 43 /** @minor: Minor FW version. */ 46 /** @major: Major FW version. */ 53 /** @version_hash: FW version hash. */ 59 /** @size: FW binary size. */ 67 /** @CSF_FW_BINARY_ENTRY_TYPE_IFACE: Host <-> FW interface. */ 70 /** @CSF_FW_BINARY_ENTRY_TYPE_CONFIG: FW config. */ 110 * struct panthor_fw_binary_section_entry_hdr - Describes a section of FW binary 125 /** @data: Data to initialize the FW section with. */ 127 /** @start: Start offset in the FW binary. */ 130 /** @end: End offset in the FW binary. */ [all …]
|
/linux/scripts/ |
H A D | extract_xc3028.pl | 19 # cp xc3028-v24.fw /lib/firmware 20 # cp xc3028-v27.fw /lib/firmware 163 # Firmware 0, type: BASE FW F8MHZ (0x00000003), id: (0000000000000000), size: 6635 172 # Firmware 1, type: BASE FW F8MHZ MTS (0x00000007), id: (0000000000000000), size: 6635 181 # Firmware 2, type: BASE FW FM (0x00000401), id: (0000000000000000), size: 6525 190 # Firmware 3, type: BASE FW FM INPUT1 (0x00000c01), id: (0000000000000000), size: 6539 199 # Firmware 4, type: BASE FW (0x00000001), id: (0000000000000000), size: 6633 208 # Firmware 5, type: BASE FW MTS (0x00000005), id: (0000000000000000), size: 6617 217 # Firmware 6, type: STD FW (0x00000000), id: PAL/BG A2/A (0000000100000007), size: 161 226 # Firmware 7, type: STD FW MTS (0x00000004), id: PAL/BG A2/A (0000000100000007), size: 169 [all …]
|
/linux/drivers/firmware/meson/ |
H A D | meson_sm.c | 94 * @fw: Pointer to secure-monitor firmware 105 int meson_sm_call(struct meson_sm_firmware *fw, unsigned int cmd_index, in meson_sm_call() argument 111 if (!fw->chip) in meson_sm_call() 114 cmd = meson_sm_get_cmd(fw->chip, cmd_index); in meson_sm_call() 130 * @fw: Pointer to secure-monitor firmware 144 int meson_sm_call_read(struct meson_sm_firmware *fw, void *buffer, in meson_sm_call_read() argument 151 if (!fw->chip) in meson_sm_call_read() 154 if (!fw->chip->cmd_shmem_out_base) in meson_sm_call_read() 157 if (bsize > fw->chip->shmem_size) in meson_sm_call_read() 160 if (meson_sm_call(fw, cmd_index, &size, arg0, arg1, arg2, arg3, arg4) < 0) in meson_sm_call_read() [all …]
|