| /linux-6.15/drivers/of/ |
| H A D | of_reserved_mem.c | 366 if (start >= rmem->base && start <= (rmem->base + rmem->size)) in __reserved_mem_alloc_in_range() 374 if (end >= rmem->base && end <= (rmem->base + rmem->size)) in __reserved_mem_alloc_in_range() 583 memblock_clear_nomap(rmem->base, rmem->size); in fdt_init_reserved_mem_node() 585 memblock_phys_free(rmem->base, rmem->size); in fdt_init_reserved_mem_node() 587 phys_addr_t end = rmem->base + rmem->size - 1; in fdt_init_reserved_mem_node() 595 rmem->name ? rmem->name : "unknown"); in fdt_init_reserved_mem_node() 646 if (!rmem || !rmem->ops || !rmem->ops->device_init) in of_reserved_mem_device_init_by_idx() 653 ret = rmem->ops->device_init(rmem, dev); in of_reserved_mem_device_init_by_idx() 656 rd->rmem = rmem; in of_reserved_mem_device_init_by_idx() 710 if (rd->rmem && rd->rmem->ops && rd->rmem->ops->device_release) in of_reserved_mem_device_release() [all …]
|
| /linux-6.15/drivers/memory/tegra/ |
| H A D | tegra210-emc-table.c | 12 static int tegra210_emc_table_device_init(struct reserved_mem *rmem, in tegra210_emc_table_device_init() argument 19 timings = memremap(rmem->base, rmem->size, MEMREMAP_WB); in tegra210_emc_table_device_init() 34 dev_warn(dev, "excess EMC table '%s'\n", rmem->name); in tegra210_emc_table_device_init() 54 rmem->priv = timings; in tegra210_emc_table_device_init() 59 static void tegra210_emc_table_device_release(struct reserved_mem *rmem, in tegra210_emc_table_device_release() argument 62 struct tegra210_emc_timing *timings = rmem->priv; in tegra210_emc_table_device_release() 68 rmem->name); in tegra210_emc_table_device_release() 78 static int tegra210_emc_table_init(struct reserved_mem *rmem) in tegra210_emc_table_init() argument 80 pr_debug("Tegra210 EMC table at %pa, size %lu bytes\n", &rmem->base, in tegra210_emc_table_init() 81 (unsigned long)rmem->size); in tegra210_emc_table_init() [all …]
|
| /linux-6.15/drivers/misc/ |
| H A D | open-dice.c | 34 struct reserved_mem *rmem; member 49 drvdata->rmem->size, MEMREMAP_WC); in open_dice_wipe() 55 memset(kaddr, 0, drvdata->rmem->size); in open_dice_wipe() 67 unsigned long val = to_open_dice_drvdata(filp)->rmem->size; in open_dice_read() 104 return vm_iomap_memory(vma, drvdata->rmem->base, drvdata->rmem->size); in open_dice_mmap() 118 struct reserved_mem *rmem; in open_dice_probe() local 122 rmem = of_reserved_mem_lookup(dev->of_node); in open_dice_probe() 123 if (!rmem) { in open_dice_probe() 128 if (!rmem->size || (rmem->size > ULONG_MAX)) { in open_dice_probe() 133 if (!PAGE_ALIGNED(rmem->base) || !PAGE_ALIGNED(rmem->size)) { in open_dice_probe() [all …]
|
| /linux-6.15/drivers/remoteproc/ |
| H A D | ti_k3_m4_remoteproc.c | 68 struct k3_m4_rproc_mem *rmem; member 397 struct reserved_mem *rmem; in k3_m4_reserved_mem_init() local 425 kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), GFP_KERNEL); in k3_m4_reserved_mem_init() 426 if (!kproc->rmem) in k3_m4_reserved_mem_init() 437 if (!rmem) in k3_m4_reserved_mem_init() 440 kproc->rmem[i].bus_addr = rmem->base; in k3_m4_reserved_mem_init() 442 kproc->rmem[i].dev_addr = (u32)rmem->base; in k3_m4_reserved_mem_init() 443 kproc->rmem[i].size = rmem->size; in k3_m4_reserved_mem_init() 444 kproc->rmem[i].cpu_addr = devm_ioremap_wc(dev, rmem->base, rmem->size); in k3_m4_reserved_mem_init() 447 i + 1, &rmem->base, &rmem->size); in k3_m4_reserved_mem_init() [all …]
|
| H A D | ti_k3_dsp_remoteproc.c | 85 struct k3_dsp_mem *rmem; member 539 struct reserved_mem *rmem; in k3_dsp_reserved_mem_init() local 568 kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), GFP_KERNEL); in k3_dsp_reserved_mem_init() 569 if (!kproc->rmem) in k3_dsp_reserved_mem_init() 580 if (!rmem) in k3_dsp_reserved_mem_init() 583 kproc->rmem[i].bus_addr = rmem->base; in k3_dsp_reserved_mem_init() 585 kproc->rmem[i].dev_addr = (u32)rmem->base; in k3_dsp_reserved_mem_init() 586 kproc->rmem[i].size = rmem->size; in k3_dsp_reserved_mem_init() 587 kproc->rmem[i].cpu_addr = devm_ioremap_wc(dev, rmem->base, rmem->size); in k3_dsp_reserved_mem_init() 590 i + 1, &rmem->base, &rmem->size); in k3_dsp_reserved_mem_init() [all …]
|
| H A D | rcar_rproc.c | 57 struct reserved_mem *rmem; in rcar_rproc_prepare() local 64 rmem = of_reserved_mem_lookup(it.node); in rcar_rproc_prepare() 65 if (!rmem) { in rcar_rproc_prepare() 72 if (rmem->base > U32_MAX) { in rcar_rproc_prepare() 78 da = rmem->base; in rcar_rproc_prepare() 80 rmem->base, in rcar_rproc_prepare() 81 rmem->size, da, in rcar_rproc_prepare()
|
| H A D | ti_k3_r5_remoteproc.c | 171 struct k3_r5_mem *rmem; member 970 struct reserved_mem *rmem; in k3_r5_reserved_mem_init() local 1000 kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), GFP_KERNEL); in k3_r5_reserved_mem_init() 1001 if (!kproc->rmem) in k3_r5_reserved_mem_init() 1012 if (!rmem) in k3_r5_reserved_mem_init() 1015 kproc->rmem[i].bus_addr = rmem->base; in k3_r5_reserved_mem_init() 1026 kproc->rmem[i].dev_addr = (u32)rmem->base; in k3_r5_reserved_mem_init() 1027 kproc->rmem[i].size = rmem->size; in k3_r5_reserved_mem_init() 1028 kproc->rmem[i].cpu_addr = devm_ioremap_wc(dev, rmem->base, rmem->size); in k3_r5_reserved_mem_init() 1031 i + 1, &rmem->base, &rmem->size); in k3_r5_reserved_mem_init() [all …]
|
| H A D | st_remoteproc.c | 123 struct reserved_mem *rmem; in st_rproc_parse_fw() local 129 rmem = of_reserved_mem_lookup(it.node); in st_rproc_parse_fw() 130 if (!rmem) { in st_rproc_parse_fw() 140 (dma_addr_t)rmem->base, in st_rproc_parse_fw() 141 rmem->size, rmem->base, in st_rproc_parse_fw() 148 rmem->size, in st_rproc_parse_fw() 149 rmem->base, in st_rproc_parse_fw()
|
| H A D | qcom_q6v5_pas.c | 549 struct reserved_mem *rmem; in adsp_alloc_memory_region() local 558 rmem = of_reserved_mem_lookup(node); in adsp_alloc_memory_region() 560 if (!rmem) { in adsp_alloc_memory_region() 566 adsp->mem_size = rmem->size; in adsp_alloc_memory_region() 570 &rmem->base, adsp->mem_size); in adsp_alloc_memory_region() 583 rmem = of_reserved_mem_lookup(node); in adsp_alloc_memory_region() 585 if (!rmem) { in adsp_alloc_memory_region() 591 adsp->dtb_mem_size = rmem->size; in adsp_alloc_memory_region() 595 &rmem->base, adsp->dtb_mem_size); in adsp_alloc_memory_region() 614 struct reserved_mem *rmem = NULL; in adsp_assign_memory_region() local [all …]
|
| H A D | xlnx_r5_remoteproc.c | 464 struct reserved_mem *rmem; in add_mem_regions_carveout() local 473 rmem = of_reserved_mem_lookup(it.node); in add_mem_regions_carveout() 474 if (!rmem) { in add_mem_regions_carveout() 483 rmem->size, in add_mem_regions_carveout() 484 rmem->base, in add_mem_regions_carveout() 489 (dma_addr_t)rmem->base, in add_mem_regions_carveout() 490 rmem->size, rmem->base, in add_mem_regions_carveout() 502 rproc_coredump_add_segment(rproc, rmem->base, rmem->size); in add_mem_regions_carveout() 505 it.node->name, rmem->base, rmem->size); in add_mem_regions_carveout()
|
| H A D | imx_dsp_rproc.c | 603 struct reserved_mem *rmem; in imx_dsp_rproc_add_carveout() local 645 rmem = of_reserved_mem_lookup(it.node); in imx_dsp_rproc_add_carveout() 646 if (!rmem) { in imx_dsp_rproc_add_carveout() 652 if (imx_dsp_rproc_sys_to_da(priv, rmem->base, rmem->size, &da)) { in imx_dsp_rproc_add_carveout() 657 cpu_addr = devm_ioremap_wc(dev, rmem->base, rmem->size); in imx_dsp_rproc_add_carveout() 660 dev_err(dev, "failed to map memory %p\n", &rmem->base); in imx_dsp_rproc_add_carveout() 665 mem = rproc_mem_entry_init(dev, (void __force *)cpu_addr, (dma_addr_t)rmem->base, in imx_dsp_rproc_add_carveout() 666 rmem->size, da, NULL, NULL, it.node->name); in imx_dsp_rproc_add_carveout() 669 rproc_coredump_add_segment(rproc, da, rmem->size); in imx_dsp_rproc_add_carveout()
|
| /linux-6.15/kernel/dma/ |
| H A D | contiguous.c | 441 dev->cma_area = rmem->priv; in rmem_cma_device_init() 445 static void rmem_cma_device_release(struct reserved_mem *rmem, in rmem_cma_device_release() argument 456 static int __init rmem_cma_setup(struct reserved_mem *rmem) in rmem_cma_setup() argument 458 unsigned long node = rmem->fdt_node; in rmem_cma_setup() 465 rmem->name); in rmem_cma_setup() 473 if (!IS_ALIGNED(rmem->base | rmem->size, CMA_MIN_ALIGNMENT_BYTES)) { in rmem_cma_setup() 478 err = cma_init_reserved_mem(rmem->base, rmem->size, 0, rmem->name, &cma); in rmem_cma_setup() 484 dma_contiguous_early_fixup(rmem->base, rmem->size); in rmem_cma_setup() 489 rmem->ops = &rmem_cma_ops; in rmem_cma_setup() 490 rmem->priv = cma; in rmem_cma_setup() [all …]
|
| H A D | coherent.c | 339 struct dma_coherent_mem *mem = rmem->priv; in rmem_dma_device_init() 342 mem = dma_init_coherent_memory(rmem->base, rmem->base, in rmem_dma_device_init() 343 rmem->size, true); in rmem_dma_device_init() 346 rmem->priv = mem; in rmem_dma_device_init() 350 if (mem->device_base + rmem->size - 1 > in rmem_dma_device_init() 370 static int __init rmem_dma_setup(struct reserved_mem *rmem) in rmem_dma_setup() argument 372 unsigned long node = rmem->fdt_node; in rmem_dma_setup() 388 dma_reserved_default_memory_base = rmem->base; in rmem_dma_setup() 389 dma_reserved_default_memory_size = rmem->size; in rmem_dma_setup() 393 rmem->ops = &rmem_dma_ops; in rmem_dma_setup() [all …]
|
| /linux-6.15/drivers/soc/fsl/qbman/ |
| H A D | dpaa_sys.c | 41 struct reserved_mem *rmem; in qbman_init_private_mem() local 55 rmem = of_reserved_mem_lookup(mem_node); in qbman_init_private_mem() 56 if (!rmem) { in qbman_init_private_mem() 60 *addr = rmem->base; in qbman_init_private_mem() 61 *size = rmem->size; in qbman_init_private_mem()
|
| /linux-6.15/drivers/hid/ |
| H A D | hid-wiimote-core.c | 443 if (rmem[0] == 0xff && rmem[1] == 0xff && rmem[2] == 0xff && in wiimote_cmd_read_ext() 444 rmem[3] == 0xff && rmem[4] == 0xff && rmem[5] == 0xff) in wiimote_cmd_read_ext() 447 if (rmem[4] == 0x00 && rmem[5] == 0x00) in wiimote_cmd_read_ext() 449 if (rmem[4] == 0x01 && rmem[5] == 0x01) in wiimote_cmd_read_ext() 451 if (rmem[4] == 0x04 && rmem[5] == 0x02) in wiimote_cmd_read_ext() 453 if (rmem[4] == 0x01 && rmem[5] == 0x20) in wiimote_cmd_read_ext() 456 rmem[4] == 0x01 && rmem[5] == 0x03) in wiimote_cmd_read_ext() 459 rmem[4] == 0x01 && rmem[5] == 0x03) in wiimote_cmd_read_ext() 462 rmem[4] == 0x01 && rmem[5] == 0x03) in wiimote_cmd_read_ext() 546 if (rmem[0] == 0xff && rmem[1] == 0xff && rmem[2] == 0xff && in wiimote_cmd_read_mp_mapped() [all …]
|
| /linux-6.15/drivers/media/platform/qcom/iris/ |
| H A D | iris_firmware.c | 22 struct reserved_mem *rmem; in iris_load_fw_to_memory() local 37 rmem = of_reserved_mem_lookup(node); in iris_load_fw_to_memory() 39 if (!rmem) in iris_load_fw_to_memory() 42 mem_phys = rmem->base; in iris_load_fw_to_memory() 43 res_size = rmem->size; in iris_load_fw_to_memory()
|
| /linux-6.15/drivers/nvmem/ |
| H A D | rmem.c | 14 struct rmem { struct 21 int (*checksum)(struct rmem *priv); argument 35 struct rmem *priv = context; in rmem_read() 64 static int rmem_eyeq5_checksum(struct rmem *priv) in rmem_eyeq5_checksum() 125 struct rmem *priv; in rmem_probe()
|
| /linux-6.15/arch/powerpc/kexec/ |
| H A D | elf_64.c | 40 struct crash_mem *rmem = NULL; in elf64_load() local 107 ret = get_reserved_memory_ranges(&rmem); in elf64_load() 113 kexec_extra_fdt_size_ppc64(image, rmem)); in elf64_load() 120 ret = setup_new_fdt_ppc64(image, fdt, rmem); in elf64_load() 154 kfree(rmem); in elf64_load()
|
| H A D | file_load_64.c | 662 unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem *rmem) in kexec_extra_fdt_size_ppc64() argument 682 if (rmem->nr_ranges > 0) in kexec_extra_fdt_size_ppc64() 683 extra_size += sizeof(struct fdt_reserve_entry) * rmem->nr_ranges; in kexec_extra_fdt_size_ppc64() 743 int setup_new_fdt_ppc64(const struct kimage *image, void *fdt, struct crash_mem *rmem) in setup_new_fdt_ppc64() argument 801 nr_ranges = rmem ? rmem->nr_ranges : 0; in setup_new_fdt_ppc64() 805 base = rmem->ranges[i].start; in setup_new_fdt_ppc64() 806 size = rmem->ranges[i].end - base + 1; in setup_new_fdt_ppc64()
|
| /linux-6.15/include/linux/ |
| H A D | of_reserved_mem.h | 21 int (*device_init)(struct reserved_mem *rmem, 23 void (*device_release)(struct reserved_mem *rmem, 27 typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem);
|
| /linux-6.15/Documentation/devicetree/bindings/nvmem/ |
| H A D | rmem.yaml | 4 $id: http://devicetree.org/schemas/nvmem/rmem.yaml# 22 - const: nvmem-rmem 46 compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
|
| /linux-6.15/drivers/net/ethernet/airoha/ |
| H A D | airoha_npu.c | 165 struct reserved_mem *rmem) in airoha_npu_run_firmware() argument 182 addr = devm_ioremap(dev, rmem->base, rmem->size); in airoha_npu_run_firmware() 409 struct reserved_mem *rmem; in airoha_npu_probe() local 437 rmem = of_reserved_mem_lookup(np); in airoha_npu_probe() 440 if (!rmem) in airoha_npu_probe() 474 err = airoha_npu_run_firmware(dev, base, rmem); in airoha_npu_probe() 479 rmem->base + NPU_EN7581_FIRMWARE_RV32_MAX_SIZE); in airoha_npu_probe() 487 regmap_write(npu->regmap, REG_CR_BOOT_BASE(i), rmem->base); in airoha_npu_probe()
|
| /linux-6.15/drivers/soc/qcom/ |
| H A D | cmd-db.c | 343 struct reserved_mem *rmem; in cmd_db_dev_probe() local 346 rmem = of_reserved_mem_lookup(pdev->dev.of_node); in cmd_db_dev_probe() 347 if (!rmem) { in cmd_db_dev_probe() 352 cmd_db_header = memremap(rmem->base, rmem->size, MEMREMAP_WC); in cmd_db_dev_probe()
|
| H A D | rmtfs_mem.c | 175 struct reserved_mem *rmem; in qcom_rmtfs_mem_probe() local 182 rmem = of_reserved_mem_lookup(node); in qcom_rmtfs_mem_probe() 183 if (!rmem) { in qcom_rmtfs_mem_probe() 199 rmtfs_mem->addr = rmem->base; in qcom_rmtfs_mem_probe() 201 rmtfs_mem->size = rmem->size; in qcom_rmtfs_mem_probe()
|
| /linux-6.15/drivers/media/platform/qcom/venus/ |
| H A D | firmware.c | 86 struct reserved_mem *rmem; in venus_load_fw() local 103 rmem = of_reserved_mem_lookup(node); in venus_load_fw() 105 if (!rmem) { in venus_load_fw() 120 *mem_phys = rmem->base; in venus_load_fw() 121 *mem_size = rmem->size; in venus_load_fw()
|