| /linux/drivers/net/ethernet/broadcom/bnge/ |
| H A D | bnge_rmem.c | 36 void bnge_free_ring(struct bnge_dev *bd, struct bnge_ring_mem_info *rmem) in bnge_free_ring() argument 41 if (!rmem->pg_arr) in bnge_free_ring() 44 for (i = 0; i < rmem->nr_pages; i++) { in bnge_free_ring() 45 if (!rmem->pg_arr[i]) in bnge_free_ring() 48 dma_free_coherent(&pdev->dev, rmem->page_size, in bnge_free_ring() 49 rmem->pg_arr[i], rmem->dma_arr[i]); in bnge_free_ring() 51 rmem->pg_arr[i] = NULL; in bnge_free_ring() 54 if (rmem->pg_tbl) { in bnge_free_ring() 55 size_t pg_tbl_size = rmem->nr_pages * 8; in bnge_free_ring() 57 if (rmem->flags & BNGE_RMEM_USE_FULL_PAGE_FLAG) in bnge_free_ring() [all …]
|
| H A D | bnge_hwrm_lib.c | 319 static void bnge_hwrm_set_pg_attr(struct bnge_ring_mem_info *rmem, u8 *pg_attr, in bnge_hwrm_set_pg_attr() argument 322 if (!rmem->nr_pages) in bnge_hwrm_set_pg_attr() 326 if (rmem->depth >= 1) { in bnge_hwrm_set_pg_attr() 327 if (rmem->depth == 2) in bnge_hwrm_set_pg_attr() 331 *pg_dir = cpu_to_le64(rmem->dma_pg_tbl); in bnge_hwrm_set_pg_attr() 333 *pg_dir = cpu_to_le64(rmem->dma_arr[0]); in bnge_hwrm_set_pg_attr() 1071 struct bnge_ring_mem_info *rmem = &ring->ring_mem; in hwrm_ring_alloc_send_msg() local 1084 if (rmem->nr_pages > 1) { in hwrm_ring_alloc_send_msg() 1085 req->page_tbl_addr = cpu_to_le64(rmem->dma_pg_tbl); in hwrm_ring_alloc_send_msg() 1090 req->page_tbl_addr = cpu_to_le64(rmem->dma_arr[0]); in hwrm_ring_alloc_send_msg()
|
| H A D | bnge_netdev.c | 228 struct bnge_ring_mem_info *rmem; in alloc_one_cp_ring() local 237 rmem = &ring->ring_mem; in alloc_one_cp_ring() 238 rmem->nr_pages = bn->cp_nr_pages; in alloc_one_cp_ring() 239 rmem->page_size = HW_CMPD_RING_SIZE; in alloc_one_cp_ring() 240 rmem->pg_arr = (void **)cpr->desc_ring; in alloc_one_cp_ring() 241 rmem->dma_arr = cpr->desc_mapping; in alloc_one_cp_ring() 242 rmem->flags = BNGE_RMEM_RING_PTE_FLAG; in alloc_one_cp_ring() 243 rc = bnge_alloc_ring(bd, rmem); in alloc_one_cp_ring()
|
| /linux/drivers/of/ |
| H A D | of_reserved_mem.c | 107 static void __init fdt_init_reserved_mem_node(struct reserved_mem *rmem); 114 struct reserved_mem *rmem = &reserved_mem[reserved_mem_count]; in fdt_reserved_mem_save_node() local 121 rmem->fdt_node = node; in fdt_reserved_mem_save_node() 122 rmem->name = uname; in fdt_reserved_mem_save_node() 123 rmem->base = base; in fdt_reserved_mem_save_node() 124 rmem->size = size; in fdt_reserved_mem_save_node() 127 fdt_init_reserved_mem_node(rmem); in fdt_reserved_mem_save_node() 353 struct reserved_mem *rmem = &reserved_mem[i]; in __reserved_mem_alloc_in_range() local 356 if (rmem->size == 0) in __reserved_mem_alloc_in_range() 364 if (start >= rmem->base && start <= (rmem->base + rmem->size)) in __reserved_mem_alloc_in_range() [all …]
|
| /linux/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/drivers/misc/ |
| H A D | open-dice.c | 34 struct reserved_mem *rmem; member 48 kaddr = devm_memremap(drvdata->misc.this_device, drvdata->rmem->base, in open_dice_wipe() 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() [all …]
|
| /linux/kernel/dma/ |
| H A D | coherent.c | 337 static int rmem_dma_device_init(struct reserved_mem *rmem, struct device *dev) in rmem_dma_device_init() argument 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() 358 static void rmem_dma_device_release(struct reserved_mem *rmem, in rmem_dma_device_release() argument 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() [all …]
|
| H A D | contiguous.c | 461 static int rmem_cma_device_init(struct reserved_mem *rmem, struct device *dev) in rmem_cma_device_init() argument 463 dev->cma_area = rmem->priv; in rmem_cma_device_init() 467 static void rmem_cma_device_release(struct reserved_mem *rmem, in rmem_cma_device_release() argument 478 static int __init rmem_cma_setup(struct reserved_mem *rmem) in rmem_cma_setup() argument 480 unsigned long node = rmem->fdt_node; in rmem_cma_setup() 489 if (!IS_ALIGNED(rmem->base | rmem->size, CMA_MIN_ALIGNMENT_BYTES)) { in rmem_cma_setup() 494 err = cma_init_reserved_mem(rmem->base, rmem->size, 0, rmem->name, &cma); in rmem_cma_setup() 503 rmem->ops = &rmem_cma_ops; in rmem_cma_setup() 504 rmem->priv = cma; in rmem_cma_setup() 507 &rmem->base, (unsigned long)rmem->size / SZ_1M); in rmem_cma_setup()
|
| H A D | swiotlb.c | 1790 static int rmem_swiotlb_device_init(struct reserved_mem *rmem, in rmem_swiotlb_device_init() argument 1793 struct io_tlb_mem *mem = rmem->priv; in rmem_swiotlb_device_init() 1794 unsigned long nslabs = rmem->size >> IO_TLB_SHIFT; in rmem_swiotlb_device_init() 1799 if (PageHighMem(pfn_to_page(PHYS_PFN(rmem->base)))) { in rmem_swiotlb_device_init() 1830 set_memory_decrypted((unsigned long)phys_to_virt(rmem->base), in rmem_swiotlb_device_init() 1831 rmem->size >> PAGE_SHIFT); in rmem_swiotlb_device_init() 1832 swiotlb_init_io_tlb_pool(pool, rmem->base, nslabs, in rmem_swiotlb_device_init() 1842 rmem->priv = mem; in rmem_swiotlb_device_init() 1844 swiotlb_create_debugfs_files(mem, rmem->name); in rmem_swiotlb_device_init() 1852 static void rmem_swiotlb_device_release(struct reserved_mem *rmem, in rmem_swiotlb_device_release() argument [all …]
|
| /linux/drivers/remoteproc/ |
| H A D | ti_k3_common.c | 334 if (!kproc->rmem[0].cpu_addr) { in k3_get_loaded_rsc_table() 347 return (__force struct resource_table *)kproc->rmem[0].cpu_addr; in k3_get_loaded_rsc_table() 394 dev_addr = kproc->rmem[i].dev_addr; in k3_rproc_da_to_va() 395 size = kproc->rmem[i].size; in k3_rproc_da_to_va() 399 va = kproc->rmem[i].cpu_addr + offset; in k3_rproc_da_to_va() 499 kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), GFP_KERNEL); in k3_reserved_mem_init() 500 if (!kproc->rmem) in k3_reserved_mem_init() 511 kproc->rmem[i].bus_addr = res.start; in k3_reserved_mem_init() 513 kproc->rmem[i].dev_addr = (u32)res.start; in k3_reserved_mem_init() 514 kproc->rmem[i].size = resource_size(&res); in k3_reserved_mem_init() [all …]
|
| /linux/drivers/hid/ |
| H A D | hid-wiimote-core.c | 381 ssize_t wiimote_cmd_read(struct wiimote_data *wdata, __u32 offset, __u8 *rmem, in wiimote_cmd_read() argument 389 wdata->state.cmd_read_buf = rmem; in wiimote_cmd_read() 432 static __u8 wiimote_cmd_read_ext(struct wiimote_data *wdata, __u8 *rmem) in wiimote_cmd_read_ext() argument 437 ret = wiimote_cmd_read(wdata, 0xa400fa, rmem, 6); in wiimote_cmd_read_ext() 441 hid_dbg(wdata->hdev, "extension ID: %6phC\n", rmem); in wiimote_cmd_read_ext() 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() [all …]
|
| H A D | hid-wiimote.h | 276 __u8 *rmem, __u8 size);
|
| /linux/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/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()
|
| /linux/include/linux/ |
| H A D | of_reserved_mem.h | 22 int (*device_init)(struct reserved_mem *rmem, 24 void (*device_release)(struct reserved_mem *rmem, 28 typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem);
|
| /linux/drivers/soc/qcom/ |
| 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()
|
| H A D | smem.c | 1128 struct reserved_mem *rmem; in qcom_smem_probe() local 1150 rmem = of_reserved_mem_lookup(pdev->dev.of_node); in qcom_smem_probe() 1151 if (rmem) { in qcom_smem_probe() 1152 smem->regions[0].aux_base = rmem->base; in qcom_smem_probe() 1153 smem->regions[0].size = rmem->size; in qcom_smem_probe()
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_coredump.c | 529 static u32 bnxt_copy_crash_data(struct bnxt_ring_mem_info *rmem, void *buf, in bnxt_copy_crash_data() argument 536 for (i = 0; i < rmem->nr_pages; i++) { in bnxt_copy_crash_data() 537 data_len = rmem->page_size; in bnxt_copy_crash_data() 540 memcpy(buf + data_copied, rmem->pg_arr[i], data_len); in bnxt_copy_crash_data() 550 struct bnxt_ring_mem_info *rmem; in bnxt_copy_crash_dump() local 556 rmem = &bp->fw_crash_mem->ring_mem; in bnxt_copy_crash_dump() 558 if (rmem->depth > 1) { in bnxt_copy_crash_dump() 561 for (i = 0; i < rmem->nr_pages; i++) { in bnxt_copy_crash_dump() 572 bnxt_copy_crash_data(rmem, buf, dump_len); in bnxt_copy_crash_dump()
|
| H A D | bnxt.c | 2573 struct bnxt_ring_mem_info *rmem, *rmem_pg_tbl; in bnxt_bs_trace_init() local 2587 rmem = &ctx_pg[0].ring_mem; in bnxt_bs_trace_init() 2592 int last_pg_dir = rmem->nr_pages - 1; in bnxt_bs_trace_init() 2597 bs_trace->magic_byte = rmem->pg_arr[last_pg]; in bnxt_bs_trace_init() 3606 static size_t __bnxt_copy_ring(struct bnxt *bp, struct bnxt_ring_mem_info *rmem, in __bnxt_copy_ring() argument 3613 head_page = head / rmem->page_size; in __bnxt_copy_ring() 3614 source_offset = head % rmem->page_size; in __bnxt_copy_ring() 3619 max_bytes = (rmem->nr_pages - start_idx) * rmem->page_size - in __bnxt_copy_ring() 3625 len = min((size_t)(rmem->page_size - source_offset), rem_len); in __bnxt_copy_ring() 3627 memcpy(buf + offset, rmem->pg_arr[i] + source_offset, in __bnxt_copy_ring() [all …]
|
| /linux/arch/arm/boot/dts/broadcom/ |
| H A D | bcm2711-rpi.dtsi | 88 &rmem { 95 compatible = "raspberrypi,bootloader-config", "nvmem-rmem";
|
| /linux/arch/powerpc/include/asm/ |
| H A D | kexec.h | 107 unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem *rmem); 108 int setup_new_fdt_ppc64(const struct kimage *image, void *fdt, struct crash_mem *rmem);
|
| /linux/drivers/nvmem/ |
| H A D | Makefile | 65 obj-$(CONFIG_NVMEM_RMEM) += nvmem-rmem.o 66 nvmem-rmem-y := rmem.o
|
| /linux/net/netlink/ |
| H A D | af_netlink.c | 1214 unsigned int rmem; in netlink_attachskb() local 1217 rmem = atomic_add_return(skb->truesize, &sk->sk_rmem_alloc); in netlink_attachskb() 1219 if ((rmem == skb->truesize || rmem <= READ_ONCE(sk->sk_rcvbuf)) && in netlink_attachskb() 1237 rmem = atomic_read(&sk->sk_rmem_alloc); in netlink_attachskb() 1239 if (((rmem && rmem + skb->truesize > READ_ONCE(sk->sk_rcvbuf)) || in netlink_attachskb() 1391 unsigned int rmem, rcvbuf; in netlink_broadcast_deliver() local 1393 rmem = atomic_add_return(skb->truesize, &sk->sk_rmem_alloc); in netlink_broadcast_deliver() 1396 if ((rmem == skb->truesize || rmem <= rcvbuf) && in netlink_broadcast_deliver() 1400 return rmem > (rcvbuf >> 1); in netlink_broadcast_deliver() 2259 unsigned int rmem, rcvbuf; in netlink_dump() local [all …]
|
| /linux/drivers/tee/optee/ |
| H A D | smc_abi.c | 117 p->u.memref.size = mp->u.rmem.size; in from_msg_param_reg_mem() 118 shm = (struct tee_shm *)(unsigned long)mp->u.rmem.shm_ref; in from_msg_param_reg_mem() 121 p->u.memref.shm_offs = mp->u.rmem.offs; in from_msg_param_reg_mem() 214 mp->u.rmem.shm_ref = (unsigned long)p->u.memref.shm; in to_msg_param_reg_mem() 215 mp->u.rmem.size = p->u.memref.size; in to_msg_param_reg_mem() 216 mp->u.rmem.offs = p->u.memref.shm_offs; in to_msg_param_reg_mem() 552 msg_arg->params[0].u.rmem.shm_ref = (unsigned long)shm; in optee_shm_unregister() 1019 msg_arg->params[0].u.rmem.shm_ref = (u_long)protmem; in optee_smc_reclaim_protmem()
|
| /linux/drivers/net/wireless/ath/ath12k/ |
| H A D | qmi.c | 2730 struct reserved_mem *rmem; in ath12k_qmi_assign_target_mem_chunk() local 2737 rmem = ath12k_core_get_reserved_mem(ab, 0); in ath12k_qmi_assign_target_mem_chunk() 2738 if (!rmem) { in ath12k_qmi_assign_target_mem_chunk() 2743 avail_rmem_size = rmem->size; in ath12k_qmi_assign_target_mem_chunk() 2754 ab->qmi.target_mem[idx].paddr = rmem->base; in ath12k_qmi_assign_target_mem_chunk() 2767 rmem = ath12k_core_get_reserved_mem(ab, 0); in ath12k_qmi_assign_target_mem_chunk() 2768 if (!rmem) { in ath12k_qmi_assign_target_mem_chunk() 2773 avail_rmem_size = rmem->size - ab->hw_params->bdf_addr_offset; in ath12k_qmi_assign_target_mem_chunk() 2784 rmem->base + ab->hw_params->bdf_addr_offset; in ath12k_qmi_assign_target_mem_chunk() 2809 rmem = ath12k_core_get_reserved_mem(ab, 1); in ath12k_qmi_assign_target_mem_chunk() [all …]
|