Home
last modified time | relevance | path

Searched refs:shmem (Results 1 – 25 of 77) sorted by relevance

1234

/openbmc/linux/drivers/gpu/drm/
H A Ddrm_gem_shmem_helper.c55 struct drm_gem_shmem_object *shmem; in __drm_gem_shmem_create() local
65 shmem = to_drm_gem_shmem_obj(obj); in __drm_gem_shmem_create()
67 shmem = kzalloc(sizeof(*shmem), GFP_KERNEL); in __drm_gem_shmem_create()
68 if (!shmem) in __drm_gem_shmem_create()
70 obj = &shmem->base; in __drm_gem_shmem_create()
78 shmem->map_wc = false; /* dma-buf mappings use always writecombine */ in __drm_gem_shmem_create()
91 INIT_LIST_HEAD(&shmem->madv_list); in __drm_gem_shmem_create()
105 return shmem; in __drm_gem_shmem_create()
138 void drm_gem_shmem_free(struct drm_gem_shmem_object *shmem) in drm_gem_shmem_free() argument
140 struct drm_gem_object *obj = &shmem->base; in drm_gem_shmem_free()
[all …]
/openbmc/linux/include/drm/
H A Ddrm_gem_shmem_helper.h100 void drm_gem_shmem_free(struct drm_gem_shmem_object *shmem);
102 void drm_gem_shmem_put_pages(struct drm_gem_shmem_object *shmem);
103 int drm_gem_shmem_pin(struct drm_gem_shmem_object *shmem);
104 void drm_gem_shmem_unpin(struct drm_gem_shmem_object *shmem);
105 int drm_gem_shmem_vmap(struct drm_gem_shmem_object *shmem,
107 void drm_gem_shmem_vunmap(struct drm_gem_shmem_object *shmem,
109 int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma);
111 int drm_gem_shmem_madvise(struct drm_gem_shmem_object *shmem, int madv);
113 static inline bool drm_gem_shmem_is_purgeable(struct drm_gem_shmem_object *shmem) in drm_gem_shmem_is_purgeable() argument
115 return (shmem->madv > 0) && in drm_gem_shmem_is_purgeable()
[all …]
/openbmc/linux/drivers/firmware/arm_scmi/
H A Dshmem.c35 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, in shmem_tx_prepare() argument
55 spin_until_cond((ioread32(&shmem->channel_status) & in shmem_tx_prepare()
58 if (!(ioread32(&shmem->channel_status) & in shmem_tx_prepare()
67 iowrite32(0x0, &shmem->channel_status); in shmem_tx_prepare()
69 &shmem->flags); in shmem_tx_prepare()
70 iowrite32(sizeof(shmem->msg_header) + xfer->tx.len, &shmem->length); in shmem_tx_prepare()
71 iowrite32(pack_scmi_header(&xfer->hdr), &shmem->msg_header); in shmem_tx_prepare()
73 memcpy_toio(shmem->msg_payload, xfer->tx.buf, xfer->tx.len); in shmem_tx_prepare()
76 u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem) in shmem_read_header() argument
78 return ioread32(&shmem->msg_header); in shmem_read_header()
[all …]
H A Dmailbox.c33 struct scmi_shared_mem __iomem *shmem; member
43 shmem_tx_prepare(smbox->shmem, m, smbox->cinfo); in tx_prepare()
59 if (cl->knows_txdone && !shmem_channel_free(smbox->shmem)) { in rx_callback()
64 scmi_rx_callback(smbox->cinfo, shmem_read_header(smbox->shmem), NULL); in rx_callback()
167 struct device_node *shmem; in mailbox_chan_setup() local
184 shmem = of_parse_phandle(cdev->of_node, "shmem", idx); in mailbox_chan_setup()
185 if (!of_device_is_compatible(shmem, "arm,scmi-shmem")) { in mailbox_chan_setup()
186 of_node_put(shmem); in mailbox_chan_setup()
190 ret = of_address_to_resource(shmem, 0, &res); in mailbox_chan_setup()
191 of_node_put(shmem); in mailbox_chan_setup()
[all …]
H A Dcommon.h309 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem,
311 u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem);
312 void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem,
314 void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem,
316 void shmem_clear_channel(struct scmi_shared_mem __iomem *shmem);
317 bool shmem_poll_done(struct scmi_shared_mem __iomem *shmem,
319 bool shmem_channel_free(struct scmi_shared_mem __iomem *shmem);
H A Dsmc.c58 struct scmi_shared_mem __iomem *shmem; member
73 shmem_read_header(scmi_info->shmem), NULL); in smc_msg_done_isr()
155 scmi_info->shmem = devm_ioremap(dev, res.start, size); in smc_chan_setup()
156 if (!scmi_info->shmem) { in smc_chan_setup()
230 shmem_tx_prepare(scmi_info->shmem, xfer, cinfo); in smc_send_message()
249 shmem_fetch_response(scmi_info->shmem, xfer); in smc_fetch_response()
H A Doptee.c125 struct scmi_shared_mem __iomem *shmem; member
344 shmem_clear_channel(channel->req.shmem); in scmi_optee_clear_channel()
388 channel->req.shmem = devm_ioremap(dev, res.start, size); in setup_static_shmem()
389 if (!channel->req.shmem) { in setup_static_shmem()
506 shmem_tx_prepare(channel->req.shmem, xfer, cinfo); in scmi_optee_send_message()
524 shmem_fetch_response(channel->req.shmem, xfer); in scmi_optee_fetch_response()
/openbmc/linux/drivers/gpu/drm/panfrost/
H A Dpanfrost_gem_shrinker.c23 struct drm_gem_shmem_object *shmem; in panfrost_gem_shrinker_count() local
29 list_for_each_entry(shmem, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_count()
30 if (drm_gem_shmem_is_purgeable(shmem)) in panfrost_gem_shrinker_count()
31 count += shmem->base.size >> PAGE_SHIFT; in panfrost_gem_shrinker_count()
41 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in panfrost_gem_purge() local
51 if (!dma_resv_trylock(shmem->base.resv)) in panfrost_gem_purge()
58 dma_resv_unlock(shmem->base.resv); in panfrost_gem_purge()
70 struct drm_gem_shmem_object *shmem, *tmp; in panfrost_gem_shrinker_scan() local
76 list_for_each_entry_safe(shmem, tmp, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_scan()
79 if (drm_gem_shmem_is_purgeable(shmem) && in panfrost_gem_shrinker_scan()
[all …]
H A Dpanfrost_gem.c240 struct drm_gem_shmem_object *shmem; in panfrost_gem_create() local
247 shmem = drm_gem_shmem_create(dev, size); in panfrost_gem_create()
248 if (IS_ERR(shmem)) in panfrost_gem_create()
249 return ERR_CAST(shmem); in panfrost_gem_create()
251 bo = to_panfrost_bo(&shmem->base); in panfrost_gem_create()
/openbmc/linux/drivers/net/ethernet/microsoft/mana/
H A Dshm_channel.c146 u64 *shmem; in mana_smc_setup_hwc() local
186 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
188 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
194 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
196 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
202 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
204 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
210 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
212 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
/openbmc/linux/Documentation/devicetree/bindings/mailbox/
H A Dmailbox.txt26 - shmem : List of phandle pointing to the shared memory(SHM) area between the
39 Example with shared memory(shmem):
49 cl_shmem: shmem@0 {
50 compatible = "client-shmem";
58 shmem = <&cl_shmem>;
/openbmc/linux/arch/arm64/boot/dts/arm/
H A Djuno-scmi.dtsi49 shmem = <&cpu_scp_lpri0 &cpu_scp_lpri1>;
63 shmem = <&cpu_scp_hpri0 &cpu_scp_hpri1>;
205 compatible = "arm,scmi-shmem";
210 compatible = "arm,scmi-shmem";
215 compatible = "arm,scmi-shmem";
220 compatible = "arm,scmi-shmem";
/openbmc/linux/drivers/net/arcnet/
H A Dcom90xx.c58 static int com90xx_found(int ioaddr, int airq, u_long shmem, void __iomem *);
88 static int shmem; variable
93 module_param(shmem, int, 0);
107 if (!io && !irq && !shmem && !*device && com90xx_skip_probe) in com90xx_probe()
131 if (shmem) in com90xx_probe()
132 shmems[numshmems++] = shmem; in com90xx_probe()
460 static int __init com90xx_found(int ioaddr, int airq, u_long shmem, in com90xx_found() argument
473 release_mem_region(shmem, MIRROR_SIZE); in com90xx_found()
485 check_mirror(shmem - MIRROR_SIZE, MIRROR_SIZE) == 0 && in com90xx_found()
486 check_mirror(shmem - 2 * MIRROR_SIZE, MIRROR_SIZE) == 1) in com90xx_found()
[all …]
H A Darc-rimi.c126 unsigned long first_mirror, last_mirror, shmem; in arcrimi_found() local
146 shmem = dev->mem_start; in arcrimi_found()
159 check_mirror(shmem - MIRROR_SIZE, MIRROR_SIZE) == 0 && in arcrimi_found()
160 check_mirror(shmem - 2 * MIRROR_SIZE, MIRROR_SIZE) == 1) in arcrimi_found()
163 first_mirror = shmem - mirror_size; in arcrimi_found()
168 last_mirror = shmem + mirror_size; in arcrimi_found()
194 release_mem_region(shmem, MIRROR_SIZE); in arcrimi_found()
/openbmc/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_object.c123 struct virtio_gpu_object_shmem *shmem; in virtio_gpu_create_object() local
126 shmem = kzalloc(sizeof(*shmem), GFP_KERNEL); in virtio_gpu_create_object()
127 if (!shmem) in virtio_gpu_create_object()
130 dshmem = &shmem->base.base; in virtio_gpu_create_object()
/openbmc/linux/drivers/gpu/drm/lima/
H A Dlima_gem.c113 struct drm_gem_shmem_object *shmem; in lima_gem_create_handle() local
118 shmem = drm_gem_shmem_create(dev, size); in lima_gem_create_handle()
119 if (IS_ERR(shmem)) in lima_gem_create_handle()
120 return PTR_ERR(shmem); in lima_gem_create_handle()
122 obj = &shmem->base; in lima_gem_create_handle()
136 struct sg_table *sgt = drm_gem_shmem_get_pages_sgt(shmem); in lima_gem_create_handle()
/openbmc/linux/Documentation/admin-guide/cgroup-v1/
H A Dmemcg_test.rst111 The best way to understand shmem's page state transition is to read
112 mm/shmem.c.
114 But brief explanation of the behavior of memcg around shmem will be
119 - radix-tree of shmem's inode.
126 - A new page is added to shmem's radix-tree.
158 Historically, memcg's shmem handling was poor and we saw some amount
159 of troubles here. This is because shmem is page-cache but can be
160 SwapCache. Test with shmem/tmpfs is always good test.
/openbmc/u-boot/doc/device-tree-bindings/firmware/
H A Dnvidia,tegra186-bpmp.txt17 - shmem : List of the phandle of the TX and RX shared memory area that
82 compatible = "nvidia,tegra186-bpmp-shmem";
87 compatible = "nvidia,tegra186-bpmp-shmem";
95 shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
/openbmc/linux/drivers/mailbox/
H A Dpcc.c282 if (pchan->chan.shmem == NULL) { in check_and_ack()
286 memcpy_fromio(&pcc_hdr, pchan->chan.shmem, in check_and_ack()
397 if (pcc_mbox_chan->shmem) { in pcc_mbox_free_channel()
398 iounmap(pcc_mbox_chan->shmem); in pcc_mbox_free_channel()
399 pcc_mbox_chan->shmem = NULL; in pcc_mbox_free_channel()
415 pcc_mbox_chan->shmem = ioremap(pcc_mbox_chan->shmem_base_addr, in pcc_mbox_ioremap()
/openbmc/linux/drivers/net/ethernet/8390/
H A Dmac8390.c738 long shmem = (start_page - WD_START_PG)<<8; in sane_block_output() local
740 memcpy_toio((void __iomem *)dev->mem_start + shmem, buf, count); in sane_block_output()
780 long shmem = (start_page - WD_START_PG)<<8; in dayna_block_output() local
782 dayna_memcpy_tocard(dev, shmem, buf, count); in dayna_block_output()
819 long shmem = (start_page - WD_START_PG)<<8; in slow_sane_block_output() local
821 word_memcpy_tocard(dev->mem_start + shmem, buf, count); in slow_sane_block_output()
/openbmc/u-boot/arch/arm/dts/
H A Dmeson-gx.dtsi159 shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
328 cpu_scp_lpri: scp-shmem@0 {
329 compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
333 cpu_scp_hpri: scp-shmem@200 {
334 compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
H A Dtegra186.dtsi304 sysram_cpu_bpmp_tx: shmem@4e000 {
305 compatible = "nvidia,tegra186-bpmp-shmem";
309 sysram_cpu_bpmp_rx: shmem@4f000 {
310 compatible = "nvidia,tegra186-bpmp-shmem";
325 shmem = <&sysram_cpu_bpmp_tx &sysram_cpu_bpmp_rx>;
/openbmc/linux/drivers/tee/amdtee/
H A Dcore.c345 struct shmem_desc shmem; in amdtee_map_shmem() local
357 shmem.kaddr = shm->kaddr; in amdtee_map_shmem()
358 shmem.size = shm->size; in amdtee_map_shmem()
364 rc = handle_map_shmem(count, &shmem, &buf_id); in amdtee_map_shmem()
/openbmc/linux/drivers/gpu/drm/i915/selftests/
H A Di915_mock_selftests.h19 selftest(shmem, shmem_utils_mock_selftests)
/openbmc/linux/include/acpi/
H A Dpcc.h15 void __iomem *shmem; member

1234