| /linux/drivers/gpu/drm/ |
| A D | drm_gem_shmem_helper.c | 66 shmem = kzalloc(sizeof(*shmem), GFP_KERNEL); in __drm_gem_shmem_create() 67 if (!shmem) in __drm_gem_shmem_create() 69 obj = &shmem->base; in __drm_gem_shmem_create() 104 return shmem; in __drm_gem_shmem_create() 148 if (shmem->sgt) { in drm_gem_shmem_free() 154 if (shmem->pages) in drm_gem_shmem_free() 163 kfree(shmem); in drm_gem_shmem_free() 191 if (shmem->map_wc) in drm_gem_shmem_get_pages() 236 drm_WARN_ON(shmem->base.dev, shmem->base.import_attach); in drm_gem_shmem_pin_locked() 343 shmem->vaddr = vmap(shmem->pages, obj->size >> PAGE_SHIFT, in drm_gem_shmem_vmap() [all …]
|
| A D | drm_fbdev_shmem.c | 48 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_fbdev_shmem_fb_mmap() local 50 if (shmem->map_wc) in drm_fbdev_shmem_fb_mmap() 89 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_fbdev_shmem_get_page() local 96 page = shmem->pages[i]; // protected by active vmap in drm_fbdev_shmem_get_page() 114 struct drm_gem_shmem_object *shmem; in drm_fbdev_shmem_helper_fb_probe() local 130 shmem = to_drm_gem_shmem_obj(buffer->gem); in drm_fbdev_shmem_helper_fb_probe() 157 if (!shmem->map_wc) in drm_fbdev_shmem_helper_fb_probe()
|
| /linux/drivers/gpu/drm/tests/ |
| A D | drm_gem_shmem_test.c | 46 struct drm_gem_shmem_object *shmem; in drm_gem_shmem_test_obj_create() local 54 drm_gem_shmem_free(shmem); in drm_gem_shmem_test_obj_create() 66 struct drm_gem_shmem_object *shmem; in drm_gem_shmem_test_obj_create_private() local 120 drm_gem_shmem_free(shmem); in drm_gem_shmem_test_obj_create_private() 131 struct drm_gem_shmem_object *shmem; in drm_gem_shmem_test_pin_pages() local 142 ret = drm_gem_shmem_pin(shmem); in drm_gem_shmem_test_pin_pages() 150 drm_gem_shmem_unpin(shmem); in drm_gem_shmem_test_pin_pages() 164 struct drm_gem_shmem_object *shmem; in drm_gem_shmem_test_vmap() local 186 drm_gem_shmem_vunmap(shmem, &map); in drm_gem_shmem_test_vmap() 212 ret = drm_gem_shmem_pin(shmem); in drm_gem_shmem_test_get_pages_sgt() [all …]
|
| /linux/include/drm/ |
| A D | drm_gem_shmem_helper.h | 118 return (shmem->madv > 0) && in drm_gem_shmem_is_purgeable() 119 !shmem->vmap_use_count && shmem->sgt && in drm_gem_shmem_is_purgeable() 120 !shmem->base.dma_buf && !shmem->base.import_attach; in drm_gem_shmem_is_purgeable() 148 drm_gem_shmem_free(shmem); in drm_gem_shmem_object_free() 165 drm_gem_shmem_print_info(shmem, p, indent); in drm_gem_shmem_object_print_info() 179 return drm_gem_shmem_pin_locked(shmem); in drm_gem_shmem_object_pin() 193 drm_gem_shmem_unpin_locked(shmem); in drm_gem_shmem_object_unpin() 210 return drm_gem_shmem_get_sg_table(shmem); in drm_gem_shmem_object_get_sg_table() 229 return drm_gem_shmem_vmap(shmem, map); in drm_gem_shmem_object_vmap() 245 drm_gem_shmem_vunmap(shmem, map); in drm_gem_shmem_object_vunmap() [all …]
|
| /linux/drivers/firmware/arm_scmi/ |
| A D | shmem.c | 61 if (!(ioread32(&shmem->channel_status) & in shmem_tx_prepare() 70 iowrite32(0x0, &shmem->channel_status); in shmem_tx_prepare() 72 &shmem->flags); in shmem_tx_prepare() 73 iowrite32(sizeof(shmem->msg_header) + xfer->tx.len, &shmem->length); in shmem_tx_prepare() 81 return ioread32(&shmem->msg_header); in shmem_read_header() 87 size_t len = ioread32(&shmem->length); in shmem_fetch_response() 100 size_t len = ioread32(&shmem->length); in shmem_fetch_notification() 124 return ioread32(&shmem->channel_status) & in shmem_poll_done() 131 return (ioread32(&shmem->channel_status) & in shmem_channel_free() 153 if (!shmem) in shmem_setup_iomap() [all …]
|
| A D | common.h | 332 void (*tx_prepare)(struct scmi_shared_mem __iomem *shmem, 335 u32 (*read_header)(struct scmi_shared_mem __iomem *shmem); 337 void (*fetch_response)(struct scmi_shared_mem __iomem *shmem, 339 void (*fetch_notification)(struct scmi_shared_mem __iomem *shmem, 341 void (*clear_channel)(struct scmi_shared_mem __iomem *shmem); 342 bool (*poll_done)(struct scmi_shared_mem __iomem *shmem, 344 bool (*channel_free)(struct scmi_shared_mem __iomem *shmem); 345 bool (*channel_intr_enabled)(struct scmi_shared_mem __iomem *shmem); 395 const struct scmi_shared_mem_operations *shmem; member
|
| /linux/arch/riscv/kvm/ |
| A D | vcpu_sbi_sta.c | 21 vcpu->arch.sta.shmem = INVALID_GPA; in kvm_riscv_vcpu_sbi_sta_reset() 27 gpa_t shmem = vcpu->arch.sta.shmem; in kvm_riscv_vcpu_record_steal_time() local 38 if (shmem == INVALID_GPA) in kvm_riscv_vcpu_record_steal_time() 46 gfn = shmem >> PAGE_SHIFT; in kvm_riscv_vcpu_record_steal_time() 50 vcpu->arch.sta.shmem = INVALID_GPA; in kvm_riscv_vcpu_record_steal_time() 90 gpa_t shmem; in kvm_sbi_sta_steal_time_set_shmem() local 105 shmem = shmem_phys_lo; in kvm_sbi_sta_steal_time_set_shmem() 122 vcpu->arch.sta.shmem = shmem; in kvm_sbi_sta_steal_time_set_shmem() 191 vcpu->arch.sta.shmem = reg_val; in kvm_riscv_vcpu_set_reg_sbi_sta() 194 vcpu->arch.sta.shmem = reg_val; in kvm_riscv_vcpu_set_reg_sbi_sta() [all …]
|
| /linux/drivers/gpu/drm/panfrost/ |
| A D | panfrost_gem_shrinker.c | 22 struct drm_gem_shmem_object *shmem; in panfrost_gem_shrinker_count() local 28 list_for_each_entry(shmem, &pfdev->shrinker_list, madv_list) { in panfrost_gem_shrinker_count() 29 if (drm_gem_shmem_is_purgeable(shmem)) in panfrost_gem_shrinker_count() 30 count += shmem->base.size >> PAGE_SHIFT; in panfrost_gem_shrinker_count() 50 if (!dma_resv_trylock(shmem->base.resv)) in panfrost_gem_purge() 57 dma_resv_unlock(shmem->base.resv); in panfrost_gem_purge() 68 struct drm_gem_shmem_object *shmem, *tmp; in panfrost_gem_shrinker_scan() local 77 if (drm_gem_shmem_is_purgeable(shmem) && in panfrost_gem_shrinker_scan() 78 panfrost_gem_purge(&shmem->base)) { in panfrost_gem_shrinker_scan() 79 freed += shmem->base.size >> PAGE_SHIFT; in panfrost_gem_shrinker_scan() [all …]
|
| A D | panfrost_gem.c | 270 struct drm_gem_shmem_object *shmem; in panfrost_gem_create() local 277 shmem = drm_gem_shmem_create(dev, size); in panfrost_gem_create() 278 if (IS_ERR(shmem)) in panfrost_gem_create() 279 return ERR_CAST(shmem); in panfrost_gem_create() 281 bo = to_panfrost_bo(&shmem->base); in panfrost_gem_create()
|
| /linux/drivers/firmware/arm_scmi/transports/ |
| A D | mailbox.c | 48 core->shmem->tx_prepare(smbox->shmem, m, smbox->cinfo); in tx_prepare() 65 !core->shmem->channel_free(smbox->shmem)) { in rx_callback() 68 core->shmem->read_header(smbox->shmem), in rx_callback() 74 core->shmem->read_header(smbox->shmem), NULL); in rx_callback() 200 smbox->shmem = core->shmem->setup_iomap(cinfo, dev, tx, NULL); in mailbox_chan_setup() 201 if (IS_ERR(smbox->shmem)) in mailbox_chan_setup() 308 core->shmem->fetch_response(smbox->shmem, xfer); in mailbox_fetch_response() 316 core->shmem->fetch_notification(smbox->shmem, max_len, xfer); in mailbox_fetch_notification() 325 core->shmem->clear_channel(smbox->shmem); in mailbox_clear_channel() 327 if (!core->shmem->channel_intr_enabled(smbox->shmem)) in mailbox_clear_channel() [all …]
|
| A D | smc.c | 62 struct scmi_shared_mem __iomem *shmem; member 80 core->shmem->read_header(scmi_info->shmem), NULL); in smc_msg_done_isr() 147 scmi_info->shmem = core->shmem->setup_iomap(cinfo, dev, tx, &res); in smc_chan_setup() 148 if (IS_ERR(scmi_info->shmem)) in smc_chan_setup() 149 return PTR_ERR(scmi_info->shmem); in smc_chan_setup() 157 void __iomem *ptr = (void __iomem *)scmi_info->shmem + size - 8; in smc_chan_setup() 232 core->shmem->tx_prepare(scmi_info->shmem, xfer, cinfo); in smc_send_message() 256 core->shmem->fetch_response(scmi_info->shmem, xfer); in smc_fetch_response()
|
| A D | optee.c | 128 struct scmi_shared_mem __iomem *shmem; member 328 core->shmem->clear_channel(channel->req.shmem); in scmi_optee_clear_channel() 353 channel->req.shmem = core->shmem->setup_iomap(cinfo, dev, true, NULL); in setup_static_shmem() 354 if (IS_ERR(channel->req.shmem)) in setup_static_shmem() 355 return PTR_ERR(channel->req.shmem); in setup_static_shmem() 468 core->shmem->tx_prepare(channel->req.shmem, xfer, cinfo); in scmi_optee_send_message() 487 core->shmem->fetch_response(channel->req.shmem, xfer); in scmi_optee_fetch_response()
|
| /linux/drivers/net/ethernet/microsoft/mana/ |
| A D | shm_channel.c | 146 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()
|
| /linux/Documentation/devicetree/bindings/firmware/ |
| A D | arm,scmi.yaml | 106 shmem: 336 shmem: 364 - shmem 378 - shmem 398 shmem = <&cpu_scp_lpri0>, 418 shmem = <&cpu_scp_hpri0>, 494 compatible = "arm,scmi-shmem"; 499 compatible = "arm,scmi-shmem"; 504 compatible = "arm,scmi-shmem"; 509 compatible = "arm,scmi-shmem"; [all …]
|
| A D | arm,scpi.yaml | 48 shmem: 170 - shmem 178 shmem = <&cpu_scp_hpri>; /* HP-NonSecure */ 225 compatible = "arm,scp-shmem"; 230 compatible = "arm,scp-shmem"; 241 shmem = <&cpu_scp_lpri>, <&cpu_scp_hpri>;
|
| /linux/Documentation/devicetree/bindings/mailbox/ |
| A 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/Documentation/devicetree/bindings/reserved-memory/ |
| A D | nvidia,tegra264-bpmp-shmem.yaml | 4 $id: http://devicetree.org/schemas/reserved-memory/nvidia,tegra264-bpmp-shmem.yaml# 17 The sub-node is named shmem@<address>. 24 const: nvidia,tegra264-bpmp-shmem 41 dram_cpu_bpmp_mail: shmem@f1be0000 { 42 compatible = "nvidia,tegra264-bpmp-shmem";
|
| /linux/drivers/gpu/drm/panthor/ |
| A D | panthor_gem.c | 209 struct drm_gem_shmem_object *shmem; in panthor_gem_create_with_handle() local 212 shmem = drm_gem_shmem_create(ddev, *size); in panthor_gem_create_with_handle() 213 if (IS_ERR(shmem)) in panthor_gem_create_with_handle() 214 return PTR_ERR(shmem); in panthor_gem_create_with_handle() 216 bo = to_panthor_bo(&shmem->base); in panthor_gem_create_with_handle() 229 ret = drm_gem_handle_create(file, &shmem->base, handle); in panthor_gem_create_with_handle() 234 drm_gem_object_put(&shmem->base); in panthor_gem_create_with_handle()
|
| /linux/arch/arm64/boot/dts/arm/ |
| A 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/drivers/net/arcnet/ |
| A D | com90xx.c | 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() 473 release_mem_region(shmem, MIRROR_SIZE); in com90xx_found() 485 check_mirror(shmem - MIRROR_SIZE, MIRROR_SIZE) == 0 && in com90xx_found() 489 first_mirror = shmem - mirror_size; in com90xx_found() 494 last_mirror = shmem + mirror_size; in com90xx_found() 503 release_mem_region(shmem, MIRROR_SIZE); in com90xx_found() [all …]
|
| A 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/drivers/gpu/drm/virtio/ |
| A 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/drivers/gpu/drm/lima/ |
| A D | lima_gem.c | 113 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()
|
| /linux/Documentation/admin-guide/cgroup-v1/ |
| A 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/drivers/net/ethernet/8390/ |
| A D | mac8390.c | 738 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()
|