arch/powerpc/include/asm/kexec.h
109
unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem *rmem);
arch/powerpc/include/asm/kexec.h
110
int setup_new_fdt_ppc64(const struct kimage *image, void *fdt, struct crash_mem *rmem);
arch/powerpc/kexec/elf_64.c
111
ret = get_reserved_memory_ranges(&rmem);
arch/powerpc/kexec/elf_64.c
117
kexec_extra_fdt_size_ppc64(image, rmem));
arch/powerpc/kexec/elf_64.c
124
ret = setup_new_fdt_ppc64(image, fdt, rmem);
arch/powerpc/kexec/elf_64.c
158
kfree(rmem);
arch/powerpc/kexec/elf_64.c
40
struct crash_mem *rmem = NULL;
arch/powerpc/kexec/file_load_64.c
647
unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem *rmem)
arch/powerpc/kexec/file_load_64.c
667
if (rmem->nr_ranges > 0)
arch/powerpc/kexec/file_load_64.c
668
extra_size += sizeof(struct fdt_reserve_entry) * rmem->nr_ranges;
arch/powerpc/kexec/file_load_64.c
728
int setup_new_fdt_ppc64(const struct kimage *image, void *fdt, struct crash_mem *rmem)
arch/powerpc/kexec/file_load_64.c
786
nr_ranges = rmem ? rmem->nr_ranges : 0;
arch/powerpc/kexec/file_load_64.c
790
base = rmem->ranges[i].start;
arch/powerpc/kexec/file_load_64.c
791
size = rmem->ranges[i].end - base + 1;
drivers/hid/hid-wiimote-core.c
381
ssize_t wiimote_cmd_read(struct wiimote_data *wdata, __u32 offset, __u8 *rmem,
drivers/hid/hid-wiimote-core.c
389
wdata->state.cmd_read_buf = rmem;
drivers/hid/hid-wiimote-core.c
432
static __u8 wiimote_cmd_read_ext(struct wiimote_data *wdata, __u8 *rmem)
drivers/hid/hid-wiimote-core.c
437
ret = wiimote_cmd_read(wdata, 0xa400fa, rmem, 6);
drivers/hid/hid-wiimote-core.c
441
hid_dbg(wdata->hdev, "extension ID: %6phC\n", rmem);
drivers/hid/hid-wiimote-core.c
443
if (rmem[0] == 0xff && rmem[1] == 0xff && rmem[2] == 0xff &&
drivers/hid/hid-wiimote-core.c
444
rmem[3] == 0xff && rmem[4] == 0xff && rmem[5] == 0xff)
drivers/hid/hid-wiimote-core.c
447
if (rmem[4] == 0x00 && rmem[5] == 0x00)
drivers/hid/hid-wiimote-core.c
449
if (rmem[4] == 0x01 && rmem[5] == 0x01)
drivers/hid/hid-wiimote-core.c
451
if (rmem[4] == 0x04 && rmem[5] == 0x02)
drivers/hid/hid-wiimote-core.c
453
if (rmem[4] == 0x01 && rmem[5] == 0x20)
drivers/hid/hid-wiimote-core.c
455
if (rmem[0] == 0x01 && rmem[1] == 0x00 &&
drivers/hid/hid-wiimote-core.c
456
rmem[4] == 0x01 && rmem[5] == 0x03)
drivers/hid/hid-wiimote-core.c
458
if (rmem[0] == 0x00 && rmem[1] == 0x00 &&
drivers/hid/hid-wiimote-core.c
459
rmem[4] == 0x01 && rmem[5] == 0x03)
drivers/hid/hid-wiimote-core.c
461
if (rmem[0] == 0x03 && rmem[1] == 0x00 &&
drivers/hid/hid-wiimote-core.c
462
rmem[4] == 0x01 && rmem[5] == 0x03)
drivers/hid/hid-wiimote-core.c
514
static bool wiimote_cmd_read_mp(struct wiimote_data *wdata, __u8 *rmem)
drivers/hid/hid-wiimote-core.c
519
ret = wiimote_cmd_read(wdata, 0xa600fa, rmem, 6);
drivers/hid/hid-wiimote-core.c
523
hid_dbg(wdata->hdev, "motion plus ID: %6phC\n", rmem);
drivers/hid/hid-wiimote-core.c
525
if (rmem[5] == 0x05)
drivers/hid/hid-wiimote-core.c
528
hid_info(wdata->hdev, "unknown motion plus ID: %6phC\n", rmem);
drivers/hid/hid-wiimote-core.c
537
__u8 rmem[6];
drivers/hid/hid-wiimote-core.c
540
ret = wiimote_cmd_read(wdata, 0xa400fa, rmem, 6);
drivers/hid/hid-wiimote-core.c
544
hid_dbg(wdata->hdev, "mapped motion plus ID: %6phC\n", rmem);
drivers/hid/hid-wiimote-core.c
546
if (rmem[0] == 0xff && rmem[1] == 0xff && rmem[2] == 0xff &&
drivers/hid/hid-wiimote-core.c
547
rmem[3] == 0xff && rmem[4] == 0xff && rmem[5] == 0xff)
drivers/hid/hid-wiimote-core.c
550
if (rmem[4] == 0x04 && rmem[5] == 0x05)
drivers/hid/hid-wiimote-core.c
552
else if (rmem[4] == 0x05 && rmem[5] == 0x05)
drivers/hid/hid-wiimote-core.c
554
else if (rmem[4] == 0x07 && rmem[5] == 0x05)
drivers/hid/hid-wiimote.h
276
__u8 *rmem, __u8 size);
drivers/memory/tegra/tegra210-emc-table.c
12
static int tegra210_emc_table_device_init(struct reserved_mem *rmem,
drivers/memory/tegra/tegra210-emc-table.c
19
timings = memremap(rmem->base, rmem->size, MEMREMAP_WB);
drivers/memory/tegra/tegra210-emc-table.c
34
dev_warn(dev, "excess EMC table '%s'\n", rmem->name);
drivers/memory/tegra/tegra210-emc-table.c
54
rmem->priv = timings;
drivers/memory/tegra/tegra210-emc-table.c
59
static void tegra210_emc_table_device_release(struct reserved_mem *rmem,
drivers/memory/tegra/tegra210-emc-table.c
62
struct tegra210_emc_timing *timings = rmem->priv;
drivers/memory/tegra/tegra210-emc-table.c
68
rmem->name);
drivers/memory/tegra/tegra210-emc-table.c
74
struct reserved_mem *rmem)
drivers/memory/tegra/tegra210-emc-table.c
76
pr_debug("Tegra210 EMC table at %pa, size %lu bytes\n", &rmem->base,
drivers/memory/tegra/tegra210-emc-table.c
77
(unsigned long)rmem->size);
drivers/misc/open-dice.c
105
mmap_action_simple_ioremap(desc, drvdata->rmem->base,
drivers/misc/open-dice.c
106
drvdata->rmem->size);
drivers/misc/open-dice.c
121
struct reserved_mem *rmem;
drivers/misc/open-dice.c
125
rmem = of_reserved_mem_lookup(dev->of_node);
drivers/misc/open-dice.c
126
if (!rmem) {
drivers/misc/open-dice.c
131
if (!rmem->size || (rmem->size > ULONG_MAX)) {
drivers/misc/open-dice.c
136
if (!PAGE_ALIGNED(rmem->base) || !PAGE_ALIGNED(rmem->size)) {
drivers/misc/open-dice.c
146
.rmem = rmem,
drivers/misc/open-dice.c
34
struct reserved_mem *rmem;
drivers/misc/open-dice.c
48
kaddr = devm_memremap(drvdata->misc.this_device, drvdata->rmem->base,
drivers/misc/open-dice.c
49
drvdata->rmem->size, MEMREMAP_WC);
drivers/misc/open-dice.c
55
memset(kaddr, 0, drvdata->rmem->size);
drivers/misc/open-dice.c
67
unsigned long val = to_open_dice_drvdata(filp)->rmem->size;
drivers/net/ethernet/airoha/airoha_eth.c
1260
struct reserved_mem *rmem;
drivers/net/ethernet/airoha/airoha_eth.c
1271
rmem = of_reserved_mem_lookup(np);
drivers/net/ethernet/airoha/airoha_eth.c
1273
if (!rmem)
drivers/net/ethernet/airoha/airoha_eth.c
1276
dma_addr = rmem->base;
drivers/net/ethernet/airoha/airoha_eth.c
1280
num_desc = div_u64(rmem->size, buf_size);
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
1315
struct bnge_ring_mem_info *rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
1328
if (rmem->nr_pages > 1) {
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
1329
req->page_tbl_addr = cpu_to_le64(rmem->dma_pg_tbl);
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
1334
req->page_tbl_addr = cpu_to_le64(rmem->dma_arr[0]);
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
343
static void bnge_hwrm_set_pg_attr(struct bnge_ring_mem_info *rmem, u8 *pg_attr,
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
346
if (!rmem->nr_pages)
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
350
if (rmem->depth >= 1) {
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
351
if (rmem->depth == 2)
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
355
*pg_dir = cpu_to_le64(rmem->dma_pg_tbl);
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
357
*pg_dir = cpu_to_le64(rmem->dma_arr[0]);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
571
struct bnge_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
580
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
581
rmem->nr_pages = bn->cp_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
582
rmem->page_size = HW_CMPD_RING_SIZE;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
583
rmem->pg_arr = (void **)cpr->desc_ring;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
584
rmem->dma_arr = cpr->desc_mapping;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
585
rmem->flags = BNGE_RMEM_RING_PTE_FLAG;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
586
rc = bnge_alloc_ring(bd, rmem);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
100
if (rmem->ctx_mem)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
101
bnge_init_ctx_mem(rmem->ctx_mem, rmem->pg_arr[i],
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
102
rmem->page_size);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
104
if (rmem->nr_pages > 1 || rmem->depth > 0) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
105
if (i == rmem->nr_pages - 2 &&
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
106
(rmem->flags & BNGE_RMEM_RING_PTE_FLAG))
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
108
else if (i == rmem->nr_pages - 1 &&
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
109
(rmem->flags & BNGE_RMEM_RING_PTE_FLAG))
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
111
rmem->pg_tbl[i] =
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
112
cpu_to_le64(rmem->dma_arr[i] | extra_bits);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
116
if (rmem->vmem_size) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
117
*rmem->vmem = vzalloc(rmem->vmem_size);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
118
if (!(*rmem->vmem))
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
124
bnge_free_ring(bd, rmem);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
131
struct bnge_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
133
rmem->page_size = BNGE_PAGE_SIZE;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
134
rmem->pg_arr = ctx_pg->ctx_pg_arr;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
135
rmem->dma_arr = ctx_pg->ctx_dma_arr;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
136
rmem->flags = BNGE_RMEM_VALID_PTE_FLAG;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
137
if (rmem->depth >= 1)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
138
rmem->flags |= BNGE_RMEM_USE_FULL_PAGE_FLAG;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
139
return bnge_alloc_ring(bd, rmem);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
146
struct bnge_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
160
rmem->depth = 2;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
165
rmem->nr_pages = nr_tbls;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
176
rmem = &pg_tbl->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
177
rmem->pg_tbl = ctx_pg->ctx_pg_arr[i];
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
178
rmem->dma_pg_tbl = ctx_pg->ctx_dma_arr[i];
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
179
rmem->depth = 1;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
180
rmem->nr_pages = MAX_CTX_PAGES;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
181
rmem->ctx_mem = ctxm;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
186
rmem->nr_pages = rem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
193
rmem->nr_pages = DIV_ROUND_UP(mem_size, BNGE_PAGE_SIZE);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
194
if (rmem->nr_pages > 1 || depth)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
195
rmem->depth = 1;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
196
rmem->ctx_mem = ctxm;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
206
struct bnge_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
208
if (rmem->depth > 1 || ctx_pg->nr_pages > MAX_CTX_PAGES ||
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
210
int i, nr_tbls = rmem->nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
228
bnge_free_ring(bd, rmem);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
36
void bnge_free_ring(struct bnge_dev *bd, struct bnge_ring_mem_info *rmem)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
41
if (!rmem->pg_arr)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
433
struct bnge_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
44
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
441
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
442
rmem->nr_pages = bn->cp_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
443
rmem->page_size = HW_CMPD_RING_SIZE;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
444
rmem->pg_arr = (void **)nqr->desc_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
445
rmem->dma_arr = nqr->desc_mapping;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
446
rmem->vmem_size = 0;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
45
if (!rmem->pg_arr[i])
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
453
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
454
rmem->nr_pages = bn->rx_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
455
rmem->page_size = HW_RXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
456
rmem->pg_arr = (void **)rxr->rx_desc_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
457
rmem->dma_arr = rxr->rx_desc_mapping;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
458
rmem->vmem_size = SW_RXBD_RING_SIZE * bn->rx_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
459
rmem->vmem = (void **)&rxr->rx_buf_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
462
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
463
rmem->nr_pages = bn->rx_agg_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
464
rmem->page_size = HW_RXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
465
rmem->pg_arr = (void **)rxr->rx_agg_desc_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
466
rmem->dma_arr = rxr->rx_agg_desc_mapping;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
467
rmem->vmem_size = SW_RXBD_AGG_RING_SIZE * bn->rx_agg_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
468
rmem->vmem = (void **)&rxr->rx_agg_buf_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
473
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
474
rmem->nr_pages = bn->tx_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
475
rmem->page_size = HW_TXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
476
rmem->pg_arr = (void **)txr->tx_desc_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
477
rmem->dma_arr = txr->tx_desc_mapping;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
478
rmem->vmem_size = SW_TXBD_RING_SIZE * bn->tx_nr_pages;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
479
rmem->vmem = (void **)&txr->tx_buf_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
48
dma_free_coherent(&pdev->dev, rmem->page_size,
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
49
rmem->pg_arr[i], rmem->dma_arr[i]);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
51
rmem->pg_arr[i] = NULL;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
54
if (rmem->pg_tbl) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
55
size_t pg_tbl_size = rmem->nr_pages * 8;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
57
if (rmem->flags & BNGE_RMEM_USE_FULL_PAGE_FLAG)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
58
pg_tbl_size = rmem->page_size;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
60
rmem->pg_tbl, rmem->dma_pg_tbl);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
61
rmem->pg_tbl = NULL;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
63
if (rmem->vmem_size && *rmem->vmem) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
64
vfree(*rmem->vmem);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
65
*rmem->vmem = NULL;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
69
int bnge_alloc_ring(struct bnge_dev *bd, struct bnge_ring_mem_info *rmem)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
75
if (rmem->flags & (BNGE_RMEM_VALID_PTE_FLAG | BNGE_RMEM_RING_PTE_FLAG))
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
78
if ((rmem->nr_pages > 1 || rmem->depth > 0) && !rmem->pg_tbl) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
79
size_t pg_tbl_size = rmem->nr_pages * 8;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
81
if (rmem->flags & BNGE_RMEM_USE_FULL_PAGE_FLAG)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
82
pg_tbl_size = rmem->page_size;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
83
rmem->pg_tbl = dma_alloc_coherent(&pdev->dev, pg_tbl_size,
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
84
&rmem->dma_pg_tbl,
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
86
if (!rmem->pg_tbl)
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
90
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
93
rmem->pg_arr[i] = dma_alloc_coherent(&pdev->dev,
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
94
rmem->page_size,
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
95
&rmem->dma_arr[i],
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
97
if (!rmem->pg_arr[i])
drivers/net/ethernet/broadcom/bnge/bnge_rmem.h
196
int bnge_alloc_ring(struct bnge_dev *bd, struct bnge_ring_mem_info *rmem);
drivers/net/ethernet/broadcom/bnge/bnge_rmem.h
197
void bnge_free_ring(struct bnge_dev *bd, struct bnge_ring_mem_info *rmem);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2601
struct bnxt_ring_mem_info *rmem, *rmem_pg_tbl;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2615
rmem = &ctx_pg[0].ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2620
int last_pg_dir = rmem->nr_pages - 1;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2625
bs_trace->magic_byte = rmem->pg_arr[last_pg];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3658
static size_t __bnxt_copy_ring(struct bnxt *bp, struct bnxt_ring_mem_info *rmem,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3665
head_page = head / rmem->page_size;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3666
source_offset = head % rmem->page_size;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3671
max_bytes = (rmem->nr_pages - start_idx) * rmem->page_size -
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3677
len = min((size_t)(rmem->page_size - source_offset), rem_len);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3679
memcpy(buf + offset, rmem->pg_arr[i] + source_offset,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3687
static void bnxt_free_ring(struct bnxt *bp, struct bnxt_ring_mem_info *rmem)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3692
if (!rmem->pg_arr)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3695
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3696
if (!rmem->pg_arr[i])
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3699
dma_free_coherent(&pdev->dev, rmem->page_size,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3700
rmem->pg_arr[i], rmem->dma_arr[i]);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3702
rmem->pg_arr[i] = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3705
if (rmem->pg_tbl) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3706
size_t pg_tbl_size = rmem->nr_pages * 8;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3708
if (rmem->flags & BNXT_RMEM_USE_FULL_PAGE_FLAG)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3709
pg_tbl_size = rmem->page_size;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3711
rmem->pg_tbl, rmem->pg_tbl_map);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3712
rmem->pg_tbl = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3714
if (rmem->vmem_size && *rmem->vmem) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3715
vfree(*rmem->vmem);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3716
*rmem->vmem = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3720
static int bnxt_alloc_ring(struct bnxt *bp, struct bnxt_ring_mem_info *rmem)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3726
if (rmem->flags & (BNXT_RMEM_VALID_PTE_FLAG | BNXT_RMEM_RING_PTE_FLAG))
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3728
if ((rmem->nr_pages > 1 || rmem->depth > 0) && !rmem->pg_tbl) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3729
size_t pg_tbl_size = rmem->nr_pages * 8;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3731
if (rmem->flags & BNXT_RMEM_USE_FULL_PAGE_FLAG)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3732
pg_tbl_size = rmem->page_size;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3733
rmem->pg_tbl = dma_alloc_coherent(&pdev->dev, pg_tbl_size,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3734
&rmem->pg_tbl_map,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3736
if (!rmem->pg_tbl)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3740
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3743
rmem->pg_arr[i] = dma_alloc_coherent(&pdev->dev,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3744
rmem->page_size,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3745
&rmem->dma_arr[i],
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3747
if (!rmem->pg_arr[i])
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3750
if (rmem->ctx_mem)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3751
bnxt_init_ctx_mem(rmem->ctx_mem, rmem->pg_arr[i],
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3752
rmem->page_size);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3753
if (rmem->nr_pages > 1 || rmem->depth > 0) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3754
if (i == rmem->nr_pages - 2 &&
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3755
(rmem->flags & BNXT_RMEM_RING_PTE_FLAG))
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3757
else if (i == rmem->nr_pages - 1 &&
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3758
(rmem->flags & BNXT_RMEM_RING_PTE_FLAG))
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3760
rmem->pg_tbl[i] =
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3761
cpu_to_le64(rmem->dma_arr[i] | extra_bits);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3765
if (rmem->vmem_size) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3766
*rmem->vmem = vzalloc(rmem->vmem_size);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3767
if (!(*rmem->vmem))
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4260
struct bnxt_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4270
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4271
rmem->nr_pages = bp->cp_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4272
rmem->page_size = HW_CMPD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4273
rmem->pg_arr = (void **)cpr->cp_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4274
rmem->dma_arr = cpr->cp_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4275
rmem->flags = BNXT_RMEM_RING_PTE_FLAG;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4276
rc = bnxt_alloc_ring(bp, rmem);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4278
bnxt_free_ring(bp, rmem);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4362
struct bnxt_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4366
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4367
rmem->nr_pages = bp->rx_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4368
rmem->page_size = HW_RXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4369
rmem->pg_arr = (void **)rxr->rx_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4370
rmem->dma_arr = rxr->rx_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4371
rmem->vmem_size = SW_RXBD_RING_SIZE * bp->rx_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4372
rmem->vmem = (void **)&rxr->rx_buf_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4375
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4376
rmem->nr_pages = bp->rx_agg_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4377
rmem->page_size = HW_RXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4378
rmem->pg_arr = (void **)rxr->rx_agg_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4379
rmem->dma_arr = rxr->rx_agg_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4380
rmem->vmem_size = SW_RXBD_AGG_RING_SIZE * bp->rx_agg_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4381
rmem->vmem = (void **)&rxr->rx_agg_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4387
struct bnxt_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4398
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4399
rmem->pg_tbl = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4400
rmem->pg_tbl_map = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4401
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4402
rmem->pg_arr[i] = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4403
rmem->dma_arr[i] = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4405
*rmem->vmem = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4408
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4409
rmem->pg_tbl = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4410
rmem->pg_tbl_map = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4411
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4412
rmem->pg_arr[i] = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4413
rmem->dma_arr[i] = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4415
*rmem->vmem = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4425
struct bnxt_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4436
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4437
rmem->nr_pages = bp->cp_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4438
rmem->page_size = HW_CMPD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4439
rmem->pg_arr = (void **)cpr->cp_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4440
rmem->dma_arr = cpr->cp_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4441
rmem->vmem_size = 0;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4451
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4452
rmem->nr_pages = bp->rx_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4453
rmem->page_size = HW_RXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4454
rmem->pg_arr = (void **)rxr->rx_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4455
rmem->dma_arr = rxr->rx_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4456
rmem->vmem_size = SW_RXBD_RING_SIZE * bp->rx_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4457
rmem->vmem = (void **)&rxr->rx_buf_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4460
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4461
rmem->nr_pages = bp->rx_agg_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4462
rmem->page_size = HW_RXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4463
rmem->pg_arr = (void **)rxr->rx_agg_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4464
rmem->dma_arr = rxr->rx_agg_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4465
rmem->vmem_size = SW_RXBD_AGG_RING_SIZE * bp->rx_agg_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4466
rmem->vmem = (void **)&rxr->rx_agg_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4471
rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4472
rmem->nr_pages = bp->tx_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4473
rmem->page_size = HW_TXBD_RING_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4474
rmem->pg_arr = (void **)txr->tx_desc_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4475
rmem->dma_arr = txr->tx_desc_mapping;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4476
rmem->vmem_size = SW_TXBD_RING_SIZE * bp->tx_nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4477
rmem->vmem = (void **)&txr->tx_buf_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7225
struct bnxt_ring_mem_info *rmem = &ring->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7235
if (rmem->nr_pages > 1) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7236
req->page_tbl_addr = cpu_to_le64(rmem->pg_tbl_map);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7241
req->page_tbl_addr = cpu_to_le64(rmem->dma_arr[0]);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8960
static void bnxt_hwrm_set_pg_attr(struct bnxt_ring_mem_info *rmem, u8 *pg_attr,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8963
if (!rmem->nr_pages)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8967
if (rmem->depth >= 1) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8968
if (rmem->depth == 2)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8972
*pg_dir = cpu_to_le64(rmem->pg_tbl_map);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8974
*pg_dir = cpu_to_le64(rmem->dma_arr[0]);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9118
struct bnxt_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9120
rmem->page_size = BNXT_PAGE_SIZE;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9121
rmem->pg_arr = ctx_pg->ctx_pg_arr;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9122
rmem->dma_arr = ctx_pg->ctx_dma_arr;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9123
rmem->flags = BNXT_RMEM_VALID_PTE_FLAG;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9124
if (rmem->depth >= 1)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9125
rmem->flags |= BNXT_RMEM_USE_FULL_PAGE_FLAG;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9126
return bnxt_alloc_ring(bp, rmem);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9133
struct bnxt_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9147
rmem->depth = 2;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9152
rmem->nr_pages = nr_tbls;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9163
rmem = &pg_tbl->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9164
rmem->pg_tbl = ctx_pg->ctx_pg_arr[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9165
rmem->pg_tbl_map = ctx_pg->ctx_dma_arr[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9166
rmem->depth = 1;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9167
rmem->nr_pages = MAX_CTX_PAGES;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9168
rmem->ctx_mem = ctxm;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9173
rmem->nr_pages = rem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9180
rmem->nr_pages = DIV_ROUND_UP(mem_size, BNXT_PAGE_SIZE);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9181
if (rmem->nr_pages > 1 || depth)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9182
rmem->depth = 1;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9183
rmem->ctx_mem = ctxm;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9194
struct bnxt_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9196
int page_size = rmem->page_size;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9198
u16 depth = rmem->depth;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9207
rmem = &pg_tbl->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9209
len = __bnxt_copy_ring(bp, rmem, buf, offset, head, tail);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9222
struct bnxt_ring_mem_info *rmem = &ctx_pg->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9224
if (rmem->depth > 1 || ctx_pg->nr_pages > MAX_CTX_PAGES ||
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9226
int i, nr_tbls = rmem->nr_pages;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
9244
bnxt_free_ring(bp, rmem);
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
529
static u32 bnxt_copy_crash_data(struct bnxt_ring_mem_info *rmem, void *buf,
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
536
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
537
data_len = rmem->page_size;
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
540
memcpy(buf + data_copied, rmem->pg_arr[i], data_len);
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
550
struct bnxt_ring_mem_info *rmem;
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
556
rmem = &bp->fw_crash_mem->ring_mem;
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
558
if (rmem->depth > 1) {
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
561
for (i = 0; i < rmem->nr_pages; i++) {
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
572
bnxt_copy_crash_data(rmem, buf, dump_len);
drivers/net/wireless/ath/ath12k/ahb.c
341
struct reserved_mem *rmem = NULL;
drivers/net/wireless/ath/ath12k/ahb.c
349
rmem = ath12k_core_get_reserved_mem(ab, 0);
drivers/net/wireless/ath/ath12k/ahb.c
350
if (!rmem)
drivers/net/wireless/ath/ath12k/ahb.c
353
mem_phys = rmem->base;
drivers/net/wireless/ath/ath12k/ahb.c
354
mem_size = rmem->size;
drivers/net/wireless/ath/ath12k/ahb.c
358
&rmem->base, &rmem->size);
drivers/net/wireless/ath/ath12k/core.c
644
struct reserved_mem *rmem;
drivers/net/wireless/ath/ath12k/core.c
654
rmem = of_reserved_mem_lookup(node);
drivers/net/wireless/ath/ath12k/core.c
656
if (!rmem) {
drivers/net/wireless/ath/ath12k/core.c
662
return rmem;
drivers/net/wireless/ath/ath12k/qmi.c
2730
struct reserved_mem *rmem;
drivers/net/wireless/ath/ath12k/qmi.c
2737
rmem = ath12k_core_get_reserved_mem(ab, 0);
drivers/net/wireless/ath/ath12k/qmi.c
2738
if (!rmem) {
drivers/net/wireless/ath/ath12k/qmi.c
2743
avail_rmem_size = rmem->size;
drivers/net/wireless/ath/ath12k/qmi.c
2754
ab->qmi.target_mem[idx].paddr = rmem->base;
drivers/net/wireless/ath/ath12k/qmi.c
2767
rmem = ath12k_core_get_reserved_mem(ab, 0);
drivers/net/wireless/ath/ath12k/qmi.c
2768
if (!rmem) {
drivers/net/wireless/ath/ath12k/qmi.c
2773
avail_rmem_size = rmem->size - ab->hw_params->bdf_addr_offset;
drivers/net/wireless/ath/ath12k/qmi.c
2784
rmem->base + ab->hw_params->bdf_addr_offset;
drivers/net/wireless/ath/ath12k/qmi.c
2809
rmem = ath12k_core_get_reserved_mem(ab, 1);
drivers/net/wireless/ath/ath12k/qmi.c
2810
if (!rmem) {
drivers/net/wireless/ath/ath12k/qmi.c
2815
avail_rmem_size = rmem->size;
drivers/net/wireless/ath/ath12k/qmi.c
2826
ab->qmi.target_mem[idx].paddr = rmem->base;
drivers/nvmem/rmem.c
125
struct rmem *priv;
drivers/nvmem/rmem.c
21
int (*checksum)(struct rmem *priv);
drivers/nvmem/rmem.c
35
struct rmem *priv = context;
drivers/nvmem/rmem.c
64
static int rmem_eyeq5_checksum(struct rmem *priv)
drivers/of/of_reserved_mem.c
410
struct reserved_mem *rmem = &reserved_mem[i];
drivers/of/of_reserved_mem.c
413
if (rmem->size == 0)
drivers/of/of_reserved_mem.c
421
if (start >= rmem->base && start <= (rmem->base + rmem->size))
drivers/of/of_reserved_mem.c
429
if (end >= rmem->base && end <= (rmem->base + rmem->size))
drivers/of/of_reserved_mem.c
599
static int __init __reserved_mem_init_node(struct reserved_mem *rmem,
drivers/of/of_reserved_mem.c
613
ret = ops->node_init(node, rmem);
drivers/of/of_reserved_mem.c
615
rmem->ops = ops;
drivers/of/of_reserved_mem.c
617
rmem->name, compat);
drivers/of/of_reserved_mem.c
641
struct reserved_mem *rmem = &reserved_mem[reserved_mem_count];
drivers/of/of_reserved_mem.c
648
rmem->name = uname;
drivers/of/of_reserved_mem.c
649
rmem->base = base;
drivers/of/of_reserved_mem.c
650
rmem->size = size;
drivers/of/of_reserved_mem.c
654
err = __reserved_mem_init_node(rmem, node);
drivers/of/of_reserved_mem.c
656
pr_info("node %s compatible matching fail\n", rmem->name);
drivers/of/of_reserved_mem.c
657
rmem->name = NULL;
drivers/of/of_reserved_mem.c
660
memblock_clear_nomap(rmem->base, rmem->size);
drivers/of/of_reserved_mem.c
662
memblock_phys_free(rmem->base, rmem->size);
drivers/of/of_reserved_mem.c
665
phys_addr_t end = rmem->base + rmem->size - 1;
drivers/of/of_reserved_mem.c
670
&rmem->base, &end, (unsigned long)(rmem->size / SZ_1K),
drivers/of/of_reserved_mem.c
673
rmem->name ? rmem->name : "unknown");
drivers/of/of_reserved_mem.c
681
struct reserved_mem *rmem;
drivers/of/of_reserved_mem.c
708
struct reserved_mem *rmem;
drivers/of/of_reserved_mem.c
723
rmem = of_reserved_mem_lookup(target);
drivers/of/of_reserved_mem.c
726
if (!rmem || !rmem->ops || !rmem->ops->device_init)
drivers/of/of_reserved_mem.c
733
ret = rmem->ops->device_init(rmem, dev);
drivers/of/of_reserved_mem.c
736
rd->rmem = rmem;
drivers/of/of_reserved_mem.c
742
dev_info(dev, "assigned reserved memory node %s\n", rmem->name);
drivers/of/of_reserved_mem.c
790
if (rd->rmem && rd->rmem->ops && rd->rmem->ops->device_release)
drivers/of/of_reserved_mem.c
791
rd->rmem->ops->device_release(rd->rmem, dev);
drivers/of/of_reserved_mem.c
840
struct reserved_mem *rmem;
drivers/of/of_reserved_mem.c
849
rmem = of_reserved_mem_lookup(target);
drivers/of/of_reserved_mem.c
850
if (!rmem)
drivers/of/of_reserved_mem.c
853
resource_set_range(res, rmem->base, rmem->size);
drivers/of/of_reserved_mem.c
855
res->name = rmem->name;
drivers/remoteproc/ti_k3_common.c
334
if (!kproc->rmem[0].cpu_addr) {
drivers/remoteproc/ti_k3_common.c
347
return (__force struct resource_table *)kproc->rmem[0].cpu_addr;
drivers/remoteproc/ti_k3_common.c
394
dev_addr = kproc->rmem[i].dev_addr;
drivers/remoteproc/ti_k3_common.c
395
size = kproc->rmem[i].size;
drivers/remoteproc/ti_k3_common.c
399
va = kproc->rmem[i].cpu_addr + offset;
drivers/remoteproc/ti_k3_common.c
499
kproc->rmem = devm_kcalloc(dev, num_rmems, sizeof(*kproc->rmem), GFP_KERNEL);
drivers/remoteproc/ti_k3_common.c
500
if (!kproc->rmem)
drivers/remoteproc/ti_k3_common.c
511
kproc->rmem[i].bus_addr = res.start;
drivers/remoteproc/ti_k3_common.c
513
kproc->rmem[i].dev_addr = (u32)res.start;
drivers/remoteproc/ti_k3_common.c
514
kproc->rmem[i].size = resource_size(&res);
drivers/remoteproc/ti_k3_common.c
515
kproc->rmem[i].cpu_addr = devm_ioremap_resource_wc(dev, &res);
drivers/remoteproc/ti_k3_common.c
516
if (IS_ERR(kproc->rmem[i].cpu_addr)) {
drivers/remoteproc/ti_k3_common.c
523
i + 1, &kproc->rmem[i].bus_addr,
drivers/remoteproc/ti_k3_common.c
524
kproc->rmem[i].size, kproc->rmem[i].cpu_addr,
drivers/remoteproc/ti_k3_common.c
525
kproc->rmem[i].dev_addr);
drivers/remoteproc/ti_k3_common.h
86
struct k3_rproc_mem *rmem;
drivers/soc/fsl/qbman/dpaa_sys.c
41
struct reserved_mem *rmem;
drivers/soc/fsl/qbman/dpaa_sys.c
55
rmem = of_reserved_mem_lookup(mem_node);
drivers/soc/fsl/qbman/dpaa_sys.c
56
if (!rmem) {
drivers/soc/fsl/qbman/dpaa_sys.c
60
*addr = rmem->base;
drivers/soc/fsl/qbman/dpaa_sys.c
61
*size = rmem->size;
drivers/soc/qcom/cmd-db.c
343
struct reserved_mem *rmem;
drivers/soc/qcom/cmd-db.c
346
rmem = of_reserved_mem_lookup(pdev->dev.of_node);
drivers/soc/qcom/cmd-db.c
347
if (!rmem) {
drivers/soc/qcom/cmd-db.c
352
cmd_db_header = devm_memremap(&pdev->dev, rmem->base, rmem->size, MEMREMAP_WC);
drivers/soc/qcom/rmtfs_mem.c
175
struct reserved_mem *rmem;
drivers/soc/qcom/rmtfs_mem.c
182
rmem = of_reserved_mem_lookup(node);
drivers/soc/qcom/rmtfs_mem.c
183
if (!rmem) {
drivers/soc/qcom/rmtfs_mem.c
199
rmtfs_mem->addr = rmem->base;
drivers/soc/qcom/rmtfs_mem.c
201
rmtfs_mem->size = rmem->size;
drivers/soc/qcom/smem.c
1132
struct reserved_mem *rmem;
drivers/soc/qcom/smem.c
1154
rmem = of_reserved_mem_lookup(pdev->dev.of_node);
drivers/soc/qcom/smem.c
1155
if (rmem) {
drivers/soc/qcom/smem.c
1156
smem->regions[0].aux_base = rmem->base;
drivers/soc/qcom/smem.c
1157
smem->regions[0].size = rmem->size;
drivers/staging/rtl8723bs/include/xmit_osdep.h
37
int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen);
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
24
int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen)
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
33
if (rmem) {
drivers/staging/rtl8723bs/os_dep/xmit_linux.c
34
ret = skb_copy_bits(pfile->pkt, pfile->buf_len - pfile->pkt_len, rmem, rlen);
drivers/tee/optee/optee_msg.h
187
struct optee_msg_param_rmem rmem;
drivers/tee/optee/smc_abi.c
1019
msg_arg->params[0].u.rmem.shm_ref = (u_long)protmem;
drivers/tee/optee/smc_abi.c
117
p->u.memref.size = mp->u.rmem.size;
drivers/tee/optee/smc_abi.c
118
shm = (struct tee_shm *)(unsigned long)mp->u.rmem.shm_ref;
drivers/tee/optee/smc_abi.c
121
p->u.memref.shm_offs = mp->u.rmem.offs;
drivers/tee/optee/smc_abi.c
214
mp->u.rmem.shm_ref = (unsigned long)p->u.memref.shm;
drivers/tee/optee/smc_abi.c
215
mp->u.rmem.size = p->u.memref.size;
drivers/tee/optee/smc_abi.c
216
mp->u.rmem.offs = p->u.memref.shm_offs;
drivers/tee/optee/smc_abi.c
552
msg_arg->params[0].u.rmem.shm_ref = (unsigned long)shm;
include/linux/of_reserved_mem.h
24
int (*node_init)(unsigned long fdt_node, struct reserved_mem *rmem);
include/linux/of_reserved_mem.h
25
int (*device_init)(struct reserved_mem *rmem,
include/linux/of_reserved_mem.h
27
void (*device_release)(struct reserved_mem *rmem,
kernel/dma/coherent.c
337
static int rmem_dma_device_init(struct reserved_mem *rmem, struct device *dev)
kernel/dma/coherent.c
339
struct dma_coherent_mem *mem = rmem->priv;
kernel/dma/coherent.c
342
mem = dma_init_coherent_memory(rmem->base, rmem->base,
kernel/dma/coherent.c
343
rmem->size, true);
kernel/dma/coherent.c
346
rmem->priv = mem;
kernel/dma/coherent.c
350
if (mem->device_base + rmem->size - 1 >
kernel/dma/coherent.c
358
static void rmem_dma_device_release(struct reserved_mem *rmem,
kernel/dma/coherent.c
366
static int __init rmem_dma_setup(unsigned long node, struct reserved_mem *rmem)
kernel/dma/coherent.c
382
dma_reserved_default_memory_base = rmem->base;
kernel/dma/coherent.c
383
dma_reserved_default_memory_size = rmem->size;
kernel/dma/coherent.c
388
&rmem->base, (unsigned long)rmem->size / SZ_1M);
kernel/dma/contiguous.c
491
static int rmem_cma_device_init(struct reserved_mem *rmem, struct device *dev)
kernel/dma/contiguous.c
493
dev->cma_area = rmem->priv;
kernel/dma/contiguous.c
497
static void rmem_cma_device_release(struct reserved_mem *rmem,
kernel/dma/contiguous.c
543
static int __init rmem_cma_setup(unsigned long node, struct reserved_mem *rmem)
kernel/dma/contiguous.c
553
if (!IS_ALIGNED(rmem->base | rmem->size, CMA_MIN_ALIGNMENT_BYTES)) {
kernel/dma/contiguous.c
558
ret = cma_init_reserved_mem(rmem->base, rmem->size, 0, rmem->name, &cma);
kernel/dma/contiguous.c
567
rmem->priv = cma;
kernel/dma/contiguous.c
570
&rmem->base, (unsigned long)rmem->size / SZ_1M);
kernel/dma/swiotlb.c
1812
static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
kernel/dma/swiotlb.c
1815
struct io_tlb_mem *mem = rmem->priv;
kernel/dma/swiotlb.c
1816
unsigned long nslabs = rmem->size >> IO_TLB_SHIFT;
kernel/dma/swiotlb.c
1821
if (PageHighMem(pfn_to_page(PHYS_PFN(rmem->base)))) {
kernel/dma/swiotlb.c
1852
set_memory_decrypted((unsigned long)phys_to_virt(rmem->base),
kernel/dma/swiotlb.c
1853
rmem->size >> PAGE_SHIFT);
kernel/dma/swiotlb.c
1854
swiotlb_init_io_tlb_pool(pool, rmem->base, nslabs,
kernel/dma/swiotlb.c
1864
rmem->priv = mem;
kernel/dma/swiotlb.c
1866
swiotlb_create_debugfs_files(mem, rmem->name);
kernel/dma/swiotlb.c
1874
static void rmem_swiotlb_device_release(struct reserved_mem *rmem,
kernel/dma/swiotlb.c
1881
struct reserved_mem *rmem)
kernel/dma/swiotlb.c
1890
&rmem->base, (unsigned long)rmem->size / SZ_1M);
net/ipv4/tcp_input.c
5359
unsigned int rmem = atomic_read(&sk->sk_rmem_alloc);
net/ipv4/tcp_input.c
5361
return rmem <= sk->sk_rcvbuf;
net/ipv4/udp.c
1661
unsigned int rmem, rcvbuf;
net/ipv4/udp.c
1668
rmem = atomic_read(&sk->sk_rmem_alloc);
net/ipv4/udp.c
1674
rmem += atomic_read(&udp_prod_queue->rmem_alloc);
net/ipv4/udp.c
1679
if (rmem + size > rcvbuf) {
net/ipv4/udp.c
1684
if (rmem)
net/ipv4/udp.c
1694
if (rmem > (rcvbuf >> 1)) {
net/netlink/af_netlink.c
1215
unsigned int rmem;
net/netlink/af_netlink.c
1218
rmem = atomic_add_return(skb->truesize, &sk->sk_rmem_alloc);
net/netlink/af_netlink.c
1220
if ((rmem == skb->truesize || rmem <= READ_ONCE(sk->sk_rcvbuf)) &&
net/netlink/af_netlink.c
1238
rmem = atomic_read(&sk->sk_rmem_alloc);
net/netlink/af_netlink.c
1240
if (((rmem && rmem + skb->truesize > READ_ONCE(sk->sk_rcvbuf)) ||
net/netlink/af_netlink.c
1392
unsigned int rmem, rcvbuf;
net/netlink/af_netlink.c
1394
rmem = atomic_add_return(skb->truesize, &sk->sk_rmem_alloc);
net/netlink/af_netlink.c
1397
if ((rmem == skb->truesize || rmem <= rcvbuf) &&
net/netlink/af_netlink.c
1401
return rmem > (rcvbuf >> 1);
net/netlink/af_netlink.c
2265
unsigned int rmem, rcvbuf;
net/netlink/af_netlink.c
2302
rmem = atomic_add_return(skb->truesize, &sk->sk_rmem_alloc);
net/netlink/af_netlink.c
2303
if (rmem != skb->truesize && rmem >= rcvbuf) {