| /linux/drivers/gpu/drm/ |
| H A D | drm_gem_shmem_helper.c | 33 * 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, size, false); in drm_gem_shmem_init() 118 struct drm_gem_shmem_object *shmem; in __drm_gem_shmem_create() local [all …]
|
| H 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() 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 D | drm_gem_shmem_test.c | 3 * 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/drivers/gpu/drm/panthor/ |
| H A D | panthor_gem.c | 86 * 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); in panthor_gem_prime_begin_cpu_access() local 270 if (shmem->sgt) in panthor_gem_prime_begin_cpu_access() 271 dma_sync_sgtable_for_cpu(dev->dev, shmem->sgt, dir); in panthor_gem_prime_begin_cpu_access() 273 if (shmem->vaddr) in panthor_gem_prime_begin_cpu_access() 274 invalidate_kernel_vmap_range(shmem->vaddr, shmem->base.size); in panthor_gem_prime_begin_cpu_access() 293 struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); in panthor_gem_prime_end_cpu_access() local 304 if (shmem->vaddr) in panthor_gem_prime_end_cpu_access() 305 flush_kernel_vmap_range(shmem->vaddr, shmem->base.size); in panthor_gem_prime_end_cpu_access() 307 if (shmem->sgt) in panthor_gem_prime_end_cpu_access() [all …]
|
| /linux/drivers/net/arcnet/ |
| H A D | com90xx.c | 44 * shmem are left in the list at Stage 5, they must correspond to each 58 static int com90xx_found(int ioaddr, int airq, u_long shmem, void __iomem *); 86 static int io; /* use the insmod io= irq= shmem= options */ 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() 203 /* Stage 3: abandon any shmem addresses that don't have the signature in com90xx_probe() 243 * sure no "mirror" shmem areas show up - if they occur in com90xx_probe() [all …]
|
| H A D | arc-rimi.c | 65 * need to be passed a specific shmem address, IRQ, and node ID. 72 pr_info("Given: node %02Xh, shmem %lXh, irq %d\n", in arcrimi_probe() 78 pr_err("No autoprobe for RIM I; you must specify the shmem and irq!\n"); in arcrimi_probe() 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() [all …]
|
| /linux/drivers/net/ethernet/microsoft/mana/ |
| H A D | shm_channel.c | 77 /* 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 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/ |
| H 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 42 shmem@f1be0000 { 43 compatible = "nvidia,tegra264-bpmp-shmem";
|
| /linux/arch/arm64/boot/dts/arm/ |
| H 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/Documentation/admin-guide/mm/ |
| H A D | transhuge.rst | 15 Currently THP only works for anonymous memory mappings and tmpfs/shmem. 373 allocation policy for the internal shmem mount by using the kernel parameter 375 seven valid policies for shmem (``always``, ``within_size``, ``advise``, 385 policies for shmem (``CONFIG_TRANSPARENT_HUGEPAGE_SHMEM_HUGE_*``) and tmpfs 390 size, ``thp_shmem`` controls each supported shmem THP size. ``thp_shmem`` 395 as required. If ``thp_shmem=`` is specified at least once, any shmem THP 406 Hugepages in tmpfs/shmem 415 shmem mount (see below), ordinary tmpfs mounts will make use of all available 464 shmem / internal tmpfs 558 is incremented every time a shmem huge page is successfully [all …]
|
| /linux/drivers/platform/x86/amd/hfi/ |
| H A D | hfi.c | 75 struct amd_shmem_info *shmem; member 154 memcpy_fromio(amd_hfi_data->shmem, pcc_comm_addr, pcct_ext->length); in amd_hfi_fill_metadata() 157 if (amd_hfi_data->shmem->header.signature != PCC_SIGNATURE) { in amd_hfi_fill_metadata() 161 if (amd_hfi_data->shmem->version_number != AMD_HETERO_RANKING_TABLE_VER) { in amd_hfi_fill_metadata() 163 amd_hfi_data->shmem->version_number); in amd_hfi_fill_metadata() 167 for (unsigned int i = 0; i < amd_hfi_data->shmem->n_bitmaps; i++) { in amd_hfi_fill_metadata() 168 u32 bitmap = amd_hfi_data->shmem->table_data[i]; in amd_hfi_fill_metadata() 191 u32 *table = amd_hfi_data->shmem->table_data + in amd_hfi_fill_metadata() 192 amd_hfi_data->shmem->n_bitmaps + in amd_hfi_fill_metadata() 383 amd_hfi_data->shmem = devm_kzalloc(amd_hfi_data->dev, pcct_ext->length, GFP_KERNEL); in amd_hfi_metadata_parser() [all …]
|
| /linux/rust/kernel/drm/gem/ |
| H A D | shmem.rs | 3 //! DRM GEM shmem helper objects 38 /// A struct for controlling the creation of shmem-backed GEM objects. 41 /// initially creating a shmem-backed GEM object. 53 /// A shmem-backed GEM object. 79 /// `drm_gem_object_funcs` vtable suitable for GEM shmem objects. 105 /// Create a new shmem-backed DRM object of the given size. 144 let shmem = unsafe { &mut *obj.as_raw_shmem() }; in new() localVariable 145 shmem.set_map_wc(config.map_wc); in new()
|
| /linux/Documentation/devicetree/bindings/firmware/ |
| H 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>;
|
| H A D | nvidia,tegra186-bpmp.yaml | 63 See "../reserved-memory/nvidia,tegra264-bpmp-shmem.yaml" for bindings for 82 shmem: 131 - shmem 183 shmem = <&cpu_bpmp_tx>, <&cpu_bpmp_rx>;
|
| /linux/tools/testing/selftests/kvm/ |
| H A D | steal_time.c | 241 /* 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 D | mincore.c | 61 static unsigned char mincore_swap(swp_entry_t entry, bool shmem) in mincore_swap() argument 73 * Shmem mapping may contain swapin error entries, which are in mincore_swap() 78 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 D | virtgpu_object.c | 149 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 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/include/uapi/linux/ |
| H A D | userfaultfd.h | 196 * 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 D | pcc.c | 295 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 D | blaize-blzp1600.dtsi | 50 shmem = <&scmi0_shm>; 82 scmi0_shm: scmi-shmem@800 { 83 compatible = "arm,scmi-shmem";
|
| /linux/drivers/firmware/tegra/ |
| H A D | bpmp-tegra186.c | 236 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()
|
| /linux/drivers/firmware/ |
| H A D | arm_scpi.c | 903 { .compatible = "amlogic,meson-gxbb-scp-shmem", }, 904 { .compatible = "amlogic,meson-axg-scp-shmem", }, 905 { .compatible = "arm,juno-scp-shmem", }, 906 { .compatible = "arm,scp-shmem", }, 944 struct device_node *shmem __free(device_node) = in scpi_probe() 945 of_parse_phandle(np, "shmem", idx); in scpi_probe() 947 if (!of_match_node(shmem_of_match, shmem)) in scpi_probe() 950 ret = of_address_to_resource(shmem, 0, &res); in scpi_probe()
|
| /linux/Documentation/translations/zh_CN/filesystems/ |
| H A D | tmpfs.rst | 26 中显示为“Shmem”,而在free(1)中显示为“Shared”。请注意,这些计数还包括 27 共享内存(shmem,请参阅ipcs(1))。获得计数的最可靠方法是使用df(1)和du(1)。
|