/linux/drivers/gpu/drm/tests/ |
H A D | drm_gem_shmem_test.c | 3 * KUnit test suite for GEM objects backed by shmem buffers 38 * Test creating a shmem GEM object backed by shmem buffer. The test 40 * shmem file node and object functions attributes set, and the size 46 struct drm_gem_shmem_object *shmem; in drm_gem_shmem_test_obj_create() local 48 shmem = drm_gem_shmem_create(drm_dev, TEST_SIZE); in drm_gem_shmem_test_obj_create() 49 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, shmem); in drm_gem_shmem_test_obj_create() 50 KUNIT_EXPECT_EQ(test, shmem->base.size, TEST_SIZE); in drm_gem_shmem_test_obj_create() 51 KUNIT_EXPECT_NOT_NULL(test, shmem->base.filp); in drm_gem_shmem_test_obj_create() 52 KUNIT_EXPECT_NOT_NULL(test, shmem->base.funcs); in drm_gem_shmem_test_obj_create() 54 drm_gem_shmem_free(shmem); in drm_gem_shmem_test_obj_create() [all …]
|
/linux/drivers/firmware/arm_scmi/ |
H A D | shmem.c | 88 static void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, in shmem_tx_prepare() argument 110 spin_until_cond((ioread32(&shmem->channel_status) & in shmem_tx_prepare() 113 if (!(ioread32(&shmem->channel_status) & in shmem_tx_prepare() 122 iowrite32(0x0, &shmem->channel_status); in shmem_tx_prepare() 124 &shmem->flags); in shmem_tx_prepare() 125 iowrite32(sizeof(shmem->msg_header) + xfer->tx.len, &shmem->length); in shmem_tx_prepare() 126 iowrite32(pack_scmi_header(&xfer->hdr), &shmem->msg_header); in shmem_tx_prepare() 128 copy_toio(shmem->msg_payload, xfer->tx.buf, xfer->tx.len); in shmem_tx_prepare() 131 static u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem) in shmem_read_header() argument 133 return ioread32(&shmem->msg_header); in shmem_read_header() [all …]
|
H A D | common.h | 352 /* shmem related declarations */ 359 * @tx_prepare: Prepare the @xfer message for transmission on the chosen @shmem 360 * @read_header: Read header of the message currently hold in @shmem 361 * @fetch_response: Copy the message response from @shmem into @xfer 362 * @fetch_notification: Copy the message notification from @shmem into @xfer 363 * @clear_channel: Clear the @shmem channel busy flag 364 * @poll_done: Check if poll has completed for @xfer on @shmem 365 * @channel_free: Check if @shmem channel is marked as free 366 * @channel_intr_enabled: Check is @shmem channel has requested a completion irq 370 void (*tx_prepare)(struct scmi_shared_mem __iomem *shmem, [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 | 82 /* shmem reads as 0xFFFFFFFF in the reset case */ in mana_smc_poll_register() 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() [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>;
|
H A D | arm,mhu.yaml | 111 shmem = <&cpu_scp_hpri>; /* HP-NonSecure */ 145 shmem = <&cpu_scp_lpri0>, 163 shmem = <&cpu_scp_hpri0>,
|
/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/Documentation/admin-guide/cgroup-v1/ |
H A D | memcg_test.rst | 108 6. Shmem(tmpfs) Page Cache 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 117 Shmem's page (just leaf page, not direct/indirect block) can be on 119 - radix-tree of shmem's inode. 126 - A new page is added to shmem's radix-tree. 155 9.2 Shmem 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 [all …]
|
/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/drivers/platform/x86/amd/hfi/ |
H A D | hfi.c | 76 struct amd_shmem_info *shmem; member 157 memcpy_fromio(amd_hfi_data->shmem, pcc_comm_addr, pcct_ext->length); in amd_hfi_fill_metadata() 160 if (amd_hfi_data->shmem->header.signature != PCC_SIGNATURE) { in amd_hfi_fill_metadata() 164 if (amd_hfi_data->shmem->version_number != AMD_HETERO_RANKING_TABLE_VER) { in amd_hfi_fill_metadata() 166 amd_hfi_data->shmem->version_number); in amd_hfi_fill_metadata() 170 for (unsigned int i = 0; i < amd_hfi_data->shmem->n_bitmaps; i++) { in amd_hfi_fill_metadata() 171 u32 bitmap = amd_hfi_data->shmem->table_data[i]; in amd_hfi_fill_metadata() 194 u32 *table = amd_hfi_data->shmem->table_data + in amd_hfi_fill_metadata() 195 amd_hfi_data->shmem->n_bitmaps + in amd_hfi_fill_metadata() 393 amd_hfi_data->shmem = devm_kzalloc(amd_hfi_data->dev, pcct_ext->length, GFP_KERNEL); in amd_hfi_metadata_parser() [all …]
|
/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 size, ``thp_shmem`` controls each supported shmem THP size. ``thp_shmem`` 390 as required. If ``thp_shmem=`` is specified at least once, any shmem THP 401 Hugepages in tmpfs/shmem 410 shmem mount (see below), ordinary tmpfs mounts will make use of all available 459 shmem / internal tmpfs 553 is incremented every time a shmem huge page is successfully 555 measures only shmem). [all …]
|
/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 | google,gs101-acpm-ipc.yaml | 39 shmem: 49 - shmem 60 shmem = <&apm_sram>;
|
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/drivers/firmware/samsung/ |
H A D | exynos-acpm.c | 160 * @shmem: pointer to the SRAM configuration data. 168 struct acpm_shmem __iomem *shmem; member 546 struct acpm_shmem __iomem *shmem = acpm->shmem; in acpm_channels_init() local 551 acpm->num_chans = readl(&shmem->num_chans); in acpm_channels_init() 557 chans_shmem = acpm->sram_base + readl(&shmem->chans); in acpm_channels_init() 606 struct device_node *shmem; in acpm_probe() local 616 shmem = of_parse_phandle(dev->of_node, "shmem", 0); in acpm_probe() 617 ret = of_address_to_resource(shmem, 0, &res); in acpm_probe() 618 of_node_put(shmem); in acpm_probe() 634 acpm->shmem = acpm->sram_base + match_data->initdata_base; in acpm_probe()
|
/linux/mm/ |
H A D | mincore.c | 50 static unsigned char mincore_swap(swp_entry_t entry, bool shmem) in mincore_swap() argument 62 * Shmem mapping may contain swapin error entries, which are in mincore_swap() 67 return !shmem; in mincore_swap() 70 * Shmem mapping lookup is lockless, so we need to grab the swap in mincore_swap() 74 if (shmem) { in mincore_swap() 80 if (shmem) in mincore_swap()
|
/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 | 298 pcc_hdr = pchan->chan.shmem; in pcc_chan_acknowledge() 315 memcpy_fromio(&pcc_header, pchan->chan.shmem, in write_response() 321 memcpy_fromio(buffer, pchan->chan.shmem, data_len); in write_response() 413 pcc_mchan->shmem = acpi_os_ioremap(pcc_mchan->shmem_base_addr, in pcc_mbox_request_channel() 415 if (!pcc_mchan->shmem) in pcc_mbox_request_channel() 454 if (pcc_mbox_chan->shmem) { in pcc_mbox_free_channel() 455 iounmap(pcc_mbox_chan->shmem); in pcc_mbox_free_channel() 456 pcc_mbox_chan->shmem = NULL; in pcc_mbox_free_channel() 483 memcpy_toio(pcc_mbox_chan->shmem, data, len); in pcc_write_to_buffer()
|
/linux/drivers/devfreq/ |
H A D | hisi_uncore_freq.c | 191 struct hisi_uncore_pcc_shmem shmem; in hisi_uncore_cmd_send() local 204 addr = (struct hisi_uncore_pcc_shmem __iomem *)pchan->shmem; in hisi_uncore_cmd_send() 215 shmem.head = (struct acpi_pcct_shared_memory) { in hisi_uncore_cmd_send() 219 shmem.pcc_data.data = *data; in hisi_uncore_cmd_send() 220 memcpy_toio(addr, &shmem, sizeof(shmem)); in hisi_uncore_cmd_send()
|
/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/fs/xfs/ |
H A D | xfs_buf_mem.c | 26 * requirements. Therefore, the xmbuf mechanism uses an unlinked shmem file to 39 * shmem files used to back an in-memory buffer cache must not be exposed to 130 /* Directly map a shmem folio into the buffer cache. */
|
/linux/drivers/accel/ivpu/ |
H A D | ivpu_gem.c | 225 struct drm_gem_shmem_object *shmem; in ivpu_bo_alloc() local 236 shmem = drm_gem_shmem_create(&vdev->drm, size); in ivpu_bo_alloc() 237 if (IS_ERR(shmem)) in ivpu_bo_alloc() 238 return ERR_CAST(shmem); in ivpu_bo_alloc() 240 bo = to_ivpu_bo(&shmem->base); in ivpu_bo_alloc()
|