Home
last modified time | relevance | path

Searched full:shmem (Results 1 – 25 of 144) sorted by relevance

123456

/linux/drivers/gpu/drm/
H A Ddrm_gem_shmem_helper.c33 * This library provides helpers for GEM objects backed by shmem buffers
54 static int __drm_gem_shmem_init(struct drm_device *dev, struct drm_gem_shmem_object *shmem, in __drm_gem_shmem_init() argument
57 struct drm_gem_object *obj = &shmem->base; in __drm_gem_shmem_init()
65 shmem->map_wc = false; /* dma-buf mappings use always writecombine */ in __drm_gem_shmem_init()
78 INIT_LIST_HEAD(&shmem->madv_list); in __drm_gem_shmem_init()
101 * @shmem: shmem GEM object to initialize
104 * This function initializes an allocated shmem GEM object.
109 int drm_gem_shmem_init(struct drm_device *dev, struct drm_gem_shmem_object *shmem, size_t size) in drm_gem_shmem_init() argument
111 return __drm_gem_shmem_init(dev, shmem, siz in drm_gem_shmem_init()
118 struct drm_gem_shmem_object *shmem; __drm_gem_shmem_create() local
168 drm_gem_shmem_release(struct drm_gem_shmem_object * shmem) drm_gem_shmem_release() argument
205 drm_gem_shmem_free(struct drm_gem_shmem_object * shmem) drm_gem_shmem_free() argument
212 drm_gem_shmem_get_pages_locked(struct drm_gem_shmem_object * shmem) drm_gem_shmem_get_pages_locked() argument
252 drm_gem_shmem_put_pages_locked(struct drm_gem_shmem_object * shmem) drm_gem_shmem_put_pages_locked() argument
274 drm_gem_shmem_pin_locked(struct drm_gem_shmem_object * shmem) drm_gem_shmem_pin_locked() argument
293 drm_gem_shmem_unpin_locked(struct drm_gem_shmem_object * shmem) drm_gem_shmem_unpin_locked() argument
312 drm_gem_shmem_pin(struct drm_gem_shmem_object * shmem) drm_gem_shmem_pin() argument
339 drm_gem_shmem_unpin(struct drm_gem_shmem_object * shmem) drm_gem_shmem_unpin() argument
369 drm_gem_shmem_vmap_locked(struct drm_gem_shmem_object * shmem,struct iosys_map * map) drm_gem_shmem_vmap_locked() argument
434 drm_gem_shmem_vunmap_locked(struct drm_gem_shmem_object * shmem,struct iosys_map * map) drm_gem_shmem_vunmap_locked() argument
461 struct drm_gem_shmem_object *shmem; drm_gem_shmem_create_with_handle() local
482 drm_gem_shmem_madvise_locked(struct drm_gem_shmem_object * shmem,int madv) drm_gem_shmem_madvise_locked() argument
495 drm_gem_shmem_purge_locked(struct drm_gem_shmem_object * shmem) drm_gem_shmem_purge_locked() argument
561 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_record_mkwrite() local
612 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_any_fault() local
655 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_vm_open() local
677 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); drm_gem_shmem_vm_close() local
714 drm_gem_shmem_mmap(struct drm_gem_shmem_object * shmem,struct vm_area_struct * vma) drm_gem_shmem_mmap() argument
761 drm_gem_shmem_print_info(const struct drm_gem_shmem_object * shmem,struct drm_printer * p,unsigned int indent) drm_gem_shmem_print_info() argument
788 drm_gem_shmem_get_sg_table(struct drm_gem_shmem_object * shmem) drm_gem_shmem_get_sg_table() argument
798 drm_gem_shmem_get_pages_sgt_locked(struct drm_gem_shmem_object * shmem) drm_gem_shmem_get_pages_sgt_locked() argument
851 drm_gem_shmem_get_pages_sgt(struct drm_gem_shmem_object * shmem) drm_gem_shmem_get_pages_sgt() argument
887 struct drm_gem_shmem_object *shmem; drm_gem_shmem_prime_import_sg_table() local
914 struct drm_gem_shmem_object *shmem; drm_gem_shmem_prime_import_no_map() local
963 drm_gem_shmem_vmap(struct drm_gem_shmem_object * shmem,struct iosys_map * map) drm_gem_shmem_vmap() argument
978 drm_gem_shmem_vunmap(struct drm_gem_shmem_object * shmem,struct iosys_map * map) drm_gem_shmem_vunmap() argument
988 drm_gem_shmem_madvise(struct drm_gem_shmem_object * shmem,int madv) drm_gem_shmem_madvise() argument
1003 drm_gem_shmem_purge(struct drm_gem_shmem_object * shmem) drm_gem_shmem_purge() argument
[all...]
H A Ddrm_fbdev_shmem.c48 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()
87 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in drm_fbdev_shmem_get_page() local
94 page = shmem->pages[i]; // protected by active vmap in drm_fbdev_shmem_get_page()
140 struct drm_gem_shmem_object *shmem; in drm_fbdev_shmem_driver_fbdev_probe() local
155 shmem = to_drm_gem_shmem_obj(buffer->gem); in drm_fbdev_shmem_driver_fbdev_probe()
177 if (!shmem->map_wc) in drm_fbdev_shmem_driver_fbdev_probe()
/linux/drivers/gpu/drm/tests/
H A Ddrm_gem_shmem_test.c3 * KUnit test suite for GEM objects backed by shmem buffers
43 * Test creating a shmem GEM object backed by shmem buffer. The test
45 * shmem file node and object functions attributes set, and the size
51 struct drm_gem_shmem_object *shmem; in drm_gem_shmem_test_obj_create() local
53 shmem = drm_gem_shmem_create(drm_dev, TEST_SIZE); in drm_gem_shmem_test_obj_create()
54 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, shmem); in drm_gem_shmem_test_obj_create()
55 KUNIT_EXPECT_EQ(test, shmem->base.size, TEST_SIZE); in drm_gem_shmem_test_obj_create()
56 KUNIT_EXPECT_NOT_NULL(test, shmem->base.filp); in drm_gem_shmem_test_obj_create()
57 KUNIT_EXPECT_NOT_NULL(test, shmem->base.funcs); in drm_gem_shmem_test_obj_create()
59 drm_gem_shmem_free(shmem); in drm_gem_shmem_test_obj_create()
[all …]
/linux/arch/riscv/kvm/
H A Dvcpu_sbi_sta.c21 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()
42 * shmem is 64-byte aligned (see the enforcement in 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()
54 sequence_ptr = (__le32 __user *)(hva + offset_in_page(shmem) + in kvm_riscv_vcpu_record_steal_time()
56 steal_ptr = (__le64 __user *)(hva + offset_in_page(shmem) + in kvm_riscv_vcpu_record_steal_time()
88 gpa_t shmem; in kvm_sbi_sta_steal_time_set_shmem() local
96 vcpu->arch.sta.shmem = INVALID_GPA; in kvm_sbi_sta_steal_time_set_shmem()
[all …]
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_gem.c94 * because the zeroing done by the shmem layer at page allocation in should_map_wc()
266 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); panthor_gem_prime_begin_cpu_access() local
293 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); panthor_gem_prime_end_cpu_access() local
432 struct drm_gem_shmem_object *shmem; panthor_gem_create_with_handle() local
524 struct drm_gem_shmem_object *shmem = &bo->base; panthor_gem_sync() local
/linux/drivers/net/arcnet/
H A Dcom90xx.c
H A Darc-rimi.c
/linux/drivers/net/ethernet/microsoft/mana/
H A Dshm_channel.c77 /* shmem reads as 0xFFFFFFFF in the reset case */ in mana_smc_poll_register()
141 u64 *shmem; in mana_smc_setup_hwc() local
181 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
183 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
189 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
191 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
197 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
199 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
205 shmem = (u64 *)ptr; in mana_smc_setup_hwc()
207 *shmem = frame_addr & PAGE_FRAME_L48_MASK; in mana_smc_setup_hwc()
[all …]
/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>;
/linux/Documentation/devicetree/bindings/reserved-memory/
H A Dnvidia,tegra264-bpmp-shmem.yaml4 $id: http://devicetree.org/schemas/reserved-memory/nvidia,tegra264-bpmp-shmem.yaml#
18 The sub-node is named shmem@<address>.
25 const: nvidia,tegra264-bpmp-shmem
43 shmem@f1be0000 {
44 compatible = "nvidia,tegra264-bpmp-shmem";
/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";
/linux/Documentation/admin-guide/mm/
H A Dtranshuge.rst15 Currently THP only works for anonymous memory mappings and tmpfs/shmem.
269 khugepaged currently only searches for opportunities to collapse file/shmem
388 allocation policy for the internal shmem mount by using the kernel parameter
390 seven valid policies for shmem (``always``, ``within_size``, ``advise``,
400 policies for shmem (``CONFIG_TRANSPARENT_HUGEPAGE_SHMEM_HUGE_*``) and tmpfs
405 size, ``thp_shmem`` controls each supported shmem THP size. ``thp_shmem``
410 as required. If ``thp_shmem=`` is specified at least once, any shmem THP
421 Hugepages in tmpfs/shmem
430 shmem mount (see below), ordinary tmpfs mounts will make use of all available
479 shmem / interna
[all...]
/linux/drivers/platform/x86/amd/hfi/
H A Dhfi.c76 struct amd_shmem_info *shmem;
155 memcpy_fromio(amd_hfi_data->shmem, pcc_comm_addr, pcct_ext->length); in amd_hfi_fill_metadata()
158 if (amd_hfi_data->shmem->header.signature != PCC_SIGNATURE) { in amd_hfi_fill_metadata()
162 if (amd_hfi_data->shmem->version_number < AMD_HETERO_RANKING_TABLE_MIN_VER || in amd_hfi_fill_metadata()
163 amd_hfi_data->shmem->version_number > AMD_HETERO_RANKING_TABLE_MAX_VER) { in amd_hfi_fill_metadata()
165 amd_hfi_data->shmem->version_number); in amd_hfi_fill_metadata()
169 for (unsigned int i = 0; i < amd_hfi_data->shmem->n_bitmaps; i++) { in amd_hfi_fill_metadata()
170 u32 bitmap = amd_hfi_data->shmem->table_data[i]; in amd_hfi_fill_metadata()
193 u32 *table = amd_hfi_data->shmem->table_data + in amd_hfi_fill_metadata()
194 amd_hfi_data->shmem in amd_hfi_fill_metadata()
75 struct amd_shmem_info *shmem; global() member
[all...]
/linux/rust/kernel/drm/gem/
H A Dshmem.rs3 //! DRM GEM shmem helper objects
41 /// A struct for controlling the creation of shmem-backed GEM objects.
44 /// initially creating a shmem-backed GEM object.
56 /// A shmem-backed GEM object.
89 /// `drm_gem_object_funcs` vtable suitable for GEM shmem objects.
115 /// Create a new shmem-backed DRM object of the given size. in new()
155 let shmem = unsafe { &mut *obj.as_raw_shmem() };
156 shmem.set_map_wc(config.map_wc); in free_callback()
144 let shmem = unsafe { &mut *obj.as_raw_shmem() }; new() localVariable
/linux/Documentation/devicetree/bindings/firmware/
H A Darm,scpi.yaml48 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>;
H A Dnvidia,tegra186-bpmp.yaml63 See "../reserved-memory/nvidia,tegra264-bpmp-shmem.yaml" for bindings for
82 shmem:
131 - shmem
183 shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
/linux/drivers/firmware/samsung/
H A Dexynos-acpm.c166 * @shmem: pointer to the SRAM configuration data.
174 struct acpm_shmem __iomem *shmem;
627 struct acpm_shmem __iomem *shmem = acpm->shmem; in acpm_channels_init()
632 acpm->num_chans = readl(&shmem->num_chans); in acpm_channels_init()
642 chans_shmem = acpm->sram_base + readl(&shmem->chans);
706 struct device_node *shmem; in acpm_probe()
716 shmem = of_parse_phandle(dev->of_node, "shmem", 0); in acpm_probe()
717 ret = of_address_to_resource(shmem, in acpm_probe()
173 struct acpm_shmem __iomem *shmem; global() member
600 struct acpm_shmem __iomem *shmem = acpm->shmem; acpm_channels_init() local
672 struct device_node *shmem; acpm_probe() local
[all...]
/linux/tools/testing/selftests/kvm/
H A Dsteal_time.c241 /* SBI STA shmem must have 64-byte alignment */
340 u64 shmem; in check_steal_time_uapi() local
350 reg.addr = (u64)&shmem; in check_steal_time_uapi()
352 shmem = ST_GPA_BASE + 1; in check_steal_time_uapi()
355 "misaligned STA shmem returns -EINVAL"); in check_steal_time_uapi()
357 shmem = ST_GPA_BASE; in check_steal_time_uapi()
360 "aligned STA shmem succeeds"); in check_steal_time_uapi()
362 shmem = INVALID_GPA; in check_steal_time_uapi()
365 "all-ones for STA shmem succeeds"); in check_steal_time_uapi()
/linux/mm/
H A Dmincore.c61 static unsigned char mincore_swap(swp_entry_t entry, bool shmem) in mincore_swap() argument
68 * Shmem mapping may contain swapin error entries, which are in mincore_swap()
73 return !shmem; in mincore_swap()
81 * Shmem mapping lookup is lockless, so we need to grab the swap in mincore_swap()
85 if (shmem) { in mincore_swap()
91 if (shmem) in mincore_swap()
/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_object.c149 struct virtio_gpu_object_shmem *shmem; in virtio_gpu_create_object() local
152 shmem = kzalloc_obj(*shmem); in virtio_gpu_create_object()
153 if (!shmem) in virtio_gpu_create_object()
156 dshmem = &shmem->base.base; in virtio_gpu_create_object()
/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()
/linux/include/uapi/linux/
H A Duserfaultfd.h196 * UFFD_FEATURE_MISSING_HUGETLBFS, but it applies to shmem
197 * (i.e. tmpfs and other shmem based APIs).
211 * UFFD_FEATURE_MINOR_HUGETLBFS, but for shmem-backed pages instead.
218 * write-protection mode is supported on both shmem and hugetlbfs.
222 * (i.e. empty ptes). This will be the default behavior for shmem
/linux/drivers/mailbox/
H A Dpcc.c295 pcc_hdr = pchan->chan.shmem; in pcc_chan_acknowledge()
379 pcc_mchan->shmem = acpi_os_ioremap(pcc_mchan->shmem_base_addr, in pcc_mbox_request_channel()
381 if (!pcc_mchan->shmem) in pcc_mbox_request_channel()
386 iounmap(pcc_mchan->shmem); in pcc_mbox_request_channel()
387 pcc_mchan->shmem = NULL; in pcc_mbox_request_channel()
411 if (pcc_mbox_chan->shmem) { in pcc_mbox_free_channel()
412 iounmap(pcc_mbox_chan->shmem); in pcc_mbox_free_channel()
413 pcc_mbox_chan->shmem = NULL; in pcc_mbox_free_channel()
/linux/arch/arm64/boot/dts/blaize/
H A Dblaize-blzp1600.dtsi50 shmem = <&scmi0_shm>;
82 scmi0_shm: scmi-shmem@800 {
83 compatible = "arm,scmi-shmem";
/linux/drivers/firmware/tegra/
H A Dbpmp-tegra186.c236 priv->tx.pool = of_gen_pool_get(bpmp->dev->of_node, "shmem", 0); in tegra186_bpmp_sram_init()
238 dev_err(bpmp->dev, "TX shmem pool not found\n"); in tegra186_bpmp_sram_init()
249 priv->rx.pool = of_gen_pool_get(bpmp->dev->of_node, "shmem", 1); in tegra186_bpmp_sram_init()
251 dev_err(bpmp->dev, "RX shmem pool not found\n"); in tegra186_bpmp_sram_init()

123456