/Linux-v6.1/drivers/gpu/drm/ |
D | drm_gem_shmem_helper.c | 55 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() 89 mutex_init(&shmem->pages_lock); in __drm_gem_shmem_create() 90 mutex_init(&shmem->vmap_lock); 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() [all …]
|
/Linux-v6.1/include/drm/ |
D | drm_gem_shmem_helper.h | 110 void drm_gem_shmem_free(struct drm_gem_shmem_object *shmem); 112 int drm_gem_shmem_get_pages(struct drm_gem_shmem_object *shmem); 113 void drm_gem_shmem_put_pages(struct drm_gem_shmem_object *shmem); 114 int drm_gem_shmem_pin(struct drm_gem_shmem_object *shmem); 115 void drm_gem_shmem_unpin(struct drm_gem_shmem_object *shmem); 116 int drm_gem_shmem_vmap(struct drm_gem_shmem_object *shmem, 118 void drm_gem_shmem_vunmap(struct drm_gem_shmem_object *shmem, 120 int drm_gem_shmem_mmap(struct drm_gem_shmem_object *shmem, struct vm_area_struct *vma); 122 int drm_gem_shmem_madvise(struct drm_gem_shmem_object *shmem, int madv); 124 static inline bool drm_gem_shmem_is_purgeable(struct drm_gem_shmem_object *shmem) in drm_gem_shmem_is_purgeable() argument [all …]
|
/Linux-v6.1/drivers/firmware/arm_scmi/ |
D | shmem.c | 35 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 …]
|
D | mailbox.c | 30 struct scmi_shared_mem __iomem *shmem; member 39 shmem_tx_prepare(smbox->shmem, m, smbox->cinfo); in tx_prepare() 46 scmi_rx_callback(smbox->cinfo, shmem_read_header(smbox->shmem), NULL); in rx_callback() 61 struct device_node *shmem; in mailbox_chan_setup() local 71 shmem = of_parse_phandle(cdev->of_node, "shmem", idx); in mailbox_chan_setup() 72 if (!of_device_is_compatible(shmem, "arm,scmi-shmem")) in mailbox_chan_setup() 75 ret = of_address_to_resource(shmem, 0, &res); in mailbox_chan_setup() 76 of_node_put(shmem); in mailbox_chan_setup() 83 smbox->shmem = devm_ioremap(dev, res.start, size); in mailbox_chan_setup() 84 if (!smbox->shmem) { in mailbox_chan_setup() [all …]
|
D | smc.c | 37 struct scmi_shared_mem __iomem *shmem; member 50 shmem_read_header(scmi_info->shmem), NULL); in smc_msg_done_isr() 130 scmi_info->shmem = devm_ioremap(dev, res.start, size); in smc_chan_setup() 131 if (!scmi_info->shmem) { in smc_chan_setup() 191 shmem_tx_prepare(scmi_info->shmem, xfer, cinfo); in smc_send_message() 209 shmem_fetch_response(scmi_info->shmem, xfer); in smc_fetch_response()
|
D | common.h | 237 void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, 239 u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem); 240 void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem, 242 void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem, 244 void shmem_clear_channel(struct scmi_shared_mem __iomem *shmem); 245 bool shmem_poll_done(struct scmi_shared_mem __iomem *shmem,
|
D | optee.c | 125 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() 501 shmem_tx_prepare(channel->req.shmem, xfer, cinfo); in scmi_optee_send_message() 519 shmem_fetch_response(channel->req.shmem, xfer); in scmi_optee_fetch_response()
|
D | Makefile | 4 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
|
/Linux-v6.1/drivers/gpu/drm/panfrost/ |
D | panfrost_gem_shrinker.c | 23 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 (!mutex_trylock(&shmem->pages_lock)) in panfrost_gem_purge() 58 mutex_unlock(&shmem->pages_lock); 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 …]
|
D | panfrost_gem.c | 244 struct drm_gem_shmem_object *shmem; in panfrost_gem_create_with_handle() local 251 shmem = drm_gem_shmem_create(dev, size); in panfrost_gem_create_with_handle() 252 if (IS_ERR(shmem)) in panfrost_gem_create_with_handle() 253 return ERR_CAST(shmem); in panfrost_gem_create_with_handle() 255 bo = to_panfrost_bo(&shmem->base); in panfrost_gem_create_with_handle() 263 ret = drm_gem_handle_create(file_priv, &shmem->base, handle); in panfrost_gem_create_with_handle() 265 drm_gem_object_put(&shmem->base); in panfrost_gem_create_with_handle()
|
/Linux-v6.1/drivers/net/ethernet/microsoft/mana/ |
D | shm_channel.c | 145 u64 *shmem; in mana_smc_setup_hwc() local 185 shmem = (u64 *)ptr; in mana_smc_setup_hwc() 187 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc() 193 shmem = (u64 *)ptr; in mana_smc_setup_hwc() 195 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc() 201 shmem = (u64 *)ptr; in mana_smc_setup_hwc() 203 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc() 209 shmem = (u64 *)ptr; in mana_smc_setup_hwc() 211 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
|
/Linux-v6.1/Documentation/devicetree/bindings/mailbox/ |
D | mailbox.txt | 26 - 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>;
|
/Linux-v6.1/arch/arm64/boot/dts/arm/ |
D | juno-scmi.dtsi | 49 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";
|
/Linux-v6.1/drivers/net/arcnet/ |
D | com90xx.c | 58 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 …]
|
D | arc-rimi.c | 126 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()
|
/Linux-v6.1/drivers/gpu/drm/virtio/ |
D | virtgpu_object.c | 123 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()
|
/Linux-v6.1/drivers/gpu/drm/lima/ |
D | lima_gem.c | 108 struct drm_gem_shmem_object *shmem; in lima_gem_create_handle() local 113 shmem = drm_gem_shmem_create(dev, size); in lima_gem_create_handle() 114 if (IS_ERR(shmem)) in lima_gem_create_handle() 115 return PTR_ERR(shmem); in lima_gem_create_handle() 117 obj = &shmem->base; in lima_gem_create_handle() 131 struct sg_table *sgt = drm_gem_shmem_get_pages_sgt(shmem); in lima_gem_create_handle()
|
/Linux-v6.1/Documentation/admin-guide/cgroup-v1/ |
D | memcg_test.rst | 111 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.
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | stm32mp15-scmi.dtsi | 19 shmem = <&scmi_shm>; 73 compatible = "arm,scmi-shmem";
|
/Linux-v6.1/drivers/net/ethernet/8390/ |
D | mac8390.c | 740 long shmem = (start_page - WD_START_PG)<<8; in sane_block_output() local 742 memcpy_toio((void __iomem *)dev->mem_start + shmem, buf, count); in sane_block_output() 782 long shmem = (start_page - WD_START_PG)<<8; in dayna_block_output() local 784 dayna_memcpy_tocard(dev, shmem, buf, count); in dayna_block_output() 821 long shmem = (start_page - WD_START_PG)<<8; in slow_sane_block_output() local 823 word_memcpy_tocard(dev->mem_start + shmem, buf, count); in slow_sane_block_output()
|
D | wd.c | 467 void __iomem *shmem = ei_status.mem + ((start_page - WD_START_PG)<<8); in wd_block_output() local 473 memcpy_toio(shmem, buf, count); in wd_block_output() 476 memcpy_toio(shmem, buf, count); in wd_block_output()
|
/Linux-v6.1/drivers/tee/amdtee/ |
D | core.c | 344 struct shmem_desc shmem; in amdtee_map_shmem() local 356 shmem.kaddr = shm->kaddr; in amdtee_map_shmem() 357 shmem.size = shm->size; in amdtee_map_shmem() 363 rc = handle_map_shmem(count, &shmem, &buf_id); in amdtee_map_shmem()
|
/Linux-v6.1/drivers/gpu/drm/i915/selftests/ |
D | i915_mock_selftests.h | 19 selftest(shmem, shmem_utils_mock_selftests)
|
/Linux-v6.1/Documentation/devicetree/bindings/reserved-memory/ |
D | xen,shared-memory.txt | 10 xen-shmem@<address> and has the following properties:
|
/Linux-v6.1/drivers/gpu/drm/omapdrm/ |
D | TODO | 8 . GEM/shmem backed pages can have existing mappings (kernel linear map,
|