/linux-6.8/Documentation/driver-api/nvdimm/ |
D | nvdimm.rst | 2 LIBNVDIMM: Non-Volatile Devices 5 libnvdimm - kernel / libndctl - userspace helper library 17 LIBNVDIMM PMEM 18 PMEM-REGIONs, Atomic Sectors, and DAX 49 PMEM: 50 A system-physical-address range where writes are persistent. A 51 block device composed of PMEM is capable of DAX. A PMEM address range 55 DIMM Physical Address, is a DIMM-relative offset. With one DIMM in 56 the system there would be a 1:1 system-physical-address:DPA association. 59 system-physical-address. [all …]
|
/linux-6.8/arch/powerpc/platforms/pseries/ |
D | pmem.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #define pr_fmt(fmt) "pseries-pmem: " fmt 34 pr_debug("Attempting to add pmem node, drc index: %x\n", drc_index); in pmem_drc_add_node() 40 return -EINVAL; in pmem_drc_add_node() 45 pr_err("configure-connector failed for drc %x\n", drc_index); in pmem_drc_add_node() 47 return -EINVAL; in pmem_drc_add_node() 74 if (of_property_read_u32(dn, "ibm,my-drc-index", &index)) in pmem_drc_remove_node() 82 return -ENODEV; in pmem_drc_remove_node() 87 /* * NB: tears down the ibm,pmemory device as a side-effect */ in pmem_drc_remove_node() 100 pr_info("Successfully removed PMEM with drc index: %x\n", drc_index); in pmem_drc_remove_node() [all …]
|
/linux-6.8/drivers/nvdimm/ |
D | nd_virtio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * virtio_pmem.c: Virtio pmem Driver 15 struct virtio_pmem *vpmem = vq->vdev->priv; in virtio_pmem_host_ack() 20 spin_lock_irqsave(&vpmem->pmem_lock, flags); in virtio_pmem_host_ack() 22 req_data->done = true; in virtio_pmem_host_ack() 23 wake_up(&req_data->host_acked); in virtio_pmem_host_ack() 25 if (!list_empty(&vpmem->req_list)) { in virtio_pmem_host_ack() 26 req_buf = list_first_entry(&vpmem->req_list, in virtio_pmem_host_ack() 28 req_buf->wq_buf_avail = true; in virtio_pmem_host_ack() 29 wake_up(&req_buf->wq_buf); in virtio_pmem_host_ack() [all …]
|
D | namespace_devs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright(c) 2013-2015 Intel Corporation. All rights reserved. 12 #include "nd-core.h" 13 #include "pmem.h" 27 struct nd_region *nd_region = to_nd_region(dev->parent); in namespace_pmem_release() 29 if (nspm->id >= 0) in namespace_pmem_release() 30 ida_free(&nd_region->ns_ida, nspm->id); in namespace_pmem_release() 31 kfree(nspm->alt_name); in namespace_pmem_release() 32 kfree(nspm->uuid); in namespace_pmem_release() 46 uuid2 = nspm->uuid; in is_uuid_busy() [all …]
|
D | badrange.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include "nd-core.h" 21 INIT_LIST_HEAD(&badrange->list); in badrange_init() 22 spin_lock_init(&badrange->lock); in badrange_init() 29 lockdep_assert_held(&badrange->lock); in append_badrange_entry() 30 bre->start = addr; in append_badrange_entry() 31 bre->length = length; in append_badrange_entry() 32 list_add_tail(&bre->list, &badrange->list); in append_badrange_entry() 42 return -ENOMEM; in alloc_and_append_badrange_entry() 52 spin_unlock(&badrange->lock); in add_badrange() [all …]
|
/linux-6.8/drivers/firmware/ |
D | stratix10-svc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2017-2018, Intel Corporation 19 #include <linux/firmware/intel/stratix10-smc.h> 20 #include <linux/firmware/intel/stratix10-svc-client.h> 24 * SVC_NUM_DATA_IN_FIFO - number of struct stratix10_svc_data in the FIFO 26 * SVC_NUM_CHANNEL - number of channel supported by service layer driver 28 * FPGA_CONFIG_DATA_CLAIM_TIMEOUT_MS - claim back the submitted buffer(s) 30 * when all bit-stream data had be send. 32 * FPGA_CONFIG_STATUS_TIMEOUT_SEC - poll the FPGA configuration status, 43 #define STRATIX10_RSU "stratix10-rsu" [all …]
|
/linux-6.8/drivers/cxl/core/ |
D | pmem.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * DOC: cxl pmem 13 * The core CXL PMEM infrastructure supports persistent memory 17 * CXL window. That root-level bridge corresponds to a LIBNVDIMM 'bus' 30 ida_free(&cxl_nvdimm_bridge_ida, cxl_nvb->id); in cxl_nvdimm_bridge_release() 47 if (dev_WARN_ONCE(dev, dev->type != &cxl_nvdimm_bridge_type, in to_cxl_nvdimm_bridge() 56 return dev->type == &cxl_nvdimm_bridge_type; in is_cxl_nvdimm_bridge() 68 find_cxl_root(cxlmd->endpoint); in cxl_find_nvdimm_bridge() 74 dev = device_find_child(&cxl_root->port.dev, NULL, match_nvdimm_bridge); in cxl_find_nvdimm_bridge() 93 return ERR_PTR(-ENOMEM); in cxl_nvdimm_bridge_alloc() [all …]
|
D | hdm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 28 put_device(&cxld->dev); in add_hdm_decoder() 29 dev_err(&port->dev, "Failed to add decoder\n"); in add_hdm_decoder() 33 rc = cxl_decoder_autoremove(&port->dev, cxld); in add_hdm_decoder() 37 dev_dbg(&cxld->dev, "Added to port %s\n", dev_name(&port->dev)); in add_hdm_decoder() 44 * single ported host-bridges need not publish a decoder capability when a 60 device_lock_assert(&port->dev); in devm_cxl_add_passthrough_decoder() 62 xa_for_each(&port->dports, index, dport) in devm_cxl_add_passthrough_decoder() 64 single_port_map[0] = dport->port_id; in devm_cxl_add_passthrough_decoder() 66 return add_hdm_decoder(port, &cxlsd->cxld, single_port_map); in devm_cxl_add_passthrough_decoder() [all …]
|
D | region.c | 1 // SPDX-License-Identifier: GPL-2.0-only 37 struct cxl_region_params *p = &cxlr->params; in uuid_show() 43 if (cxlr->mode != CXL_DECODER_PMEM) in uuid_show() 46 rc = sysfs_emit(buf, "%pUb\n", &p->uuid); in uuid_show() 63 p = &cxlr->params; in is_dup() 65 if (uuid_equal(&p->uuid, uuid)) { in is_dup() 67 return -EBUSY; in is_dup() 77 struct cxl_region_params *p = &cxlr->params; in uuid_store() 82 return -EINVAL; in uuid_store() 89 return -EINVAL; in uuid_store() [all …]
|
/linux-6.8/arch/powerpc/include/asm/ |
D | mmu_context.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 27 struct mm_iommu_table_group_mem_t **pmem); 30 struct mm_iommu_table_group_mem_t **pmem); 83 VM_WARN_ON(mm->context.extended_id[index]); in alloc_extended_context() 84 mm->context.extended_id[index] = context_id; in alloc_extended_context() 92 context_id = get_user_context(&mm->context, ea); in need_extra_context() 110 return -ENOMEM; in alloc_extended_context() 125 atomic_inc(&mm->context.active_cpus); in inc_mm_active_cpus() 130 VM_WARN_ON_ONCE(atomic_read(&mm->context.active_cpus) <= 0); in dec_mm_active_cpus() 131 atomic_dec(&mm->context.active_cpus); in dec_mm_active_cpus() [all …]
|
/linux-6.8/drivers/dax/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 20 tristate "PMEM DAX: direct access to persistent memory" 26 libnvdimm sub-system. 40 device-dax instances for these memory ranges, and that also 42 driver to override the reservation and add them to kernel 52 CXL RAM regions are either mapped by platform-firmware 53 and published in the initial system-memory map as "System RAM", mapped 54 by platform-firmware as "Soft Reserved", or dynamically provisioned 55 after boot by the CXL driver. In the latter two cases a device-dax 56 instance is created to access that unmapped-by-default address range. [all …]
|
/linux-6.8/Documentation/filesystems/ |
D | dax.rst | 6 ---------- 12 For block devices that are memory-like, the page cache pages would be 19 ----- 30 ------------------------------ 32 When mounting the filesystem, use the ``-o dax`` option on the command line or 33 add 'dax' to the options in ``/etc/fstab``. This works to enable `DAX` on all files 34 within the filesystem. It is equivalent to the ``-o dax=always`` behavior below. 38 ---------------------------- 41 ------- 43 1. There exists an in-kernel file access mode flag `S_DAX` that corresponds to [all …]
|
/linux-6.8/drivers/staging/rtl8712/ |
D | rtl8712_xmit.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. 27 static void update_txdesc(struct xmit_frame *pxmitframe, uint *pmem, int sz); 31 phw_txqueue->ac_tag = ac_tag; in _r8712_init_hw_txqueue() 34 phw_txqueue->ff_hwaddr = RTL8712_DMA_BEQ; in _r8712_init_hw_txqueue() 37 phw_txqueue->ff_hwaddr = RTL8712_DMA_BKQ; in _r8712_init_hw_txqueue() 40 phw_txqueue->ff_hwaddr = RTL8712_DMA_VIQ; in _r8712_init_hw_txqueue() 43 phw_txqueue->ff_hwaddr = RTL8712_DMA_VOQ; in _r8712_init_hw_txqueue() 46 phw_txqueue->ff_hwaddr = RTL8712_DMA_BEQ; in _r8712_init_hw_txqueue() 57 int priority = pattrib->priority; in r8712_txframes_sta_ac_pending() [all …]
|
/linux-6.8/fs/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 68 Direct Access (DAX) can be used on memory-backed block devices. 77 # ndctl create-namespace --force --reconfig=namespace0.0 \ 78 --mode=fsdax --map=mem 80 See the 'create-namespace' man page for details on the overhead of 81 --map=mem: 82 https://docs.pmem.io/ndctl-user-guide/ndctl-man-pages/ndctl-create-namespace 86 per-inode using a mount option as well. See the file documentation in 103 # direct-I/O to a DAX mapping. 152 menu "CD-ROM/DVD Filesystems" [all …]
|
/linux-6.8/mm/ |
D | memory-tiers.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/memory-tiers.h> 54 * Node 0 & 1 are CPU + DRAM nodes, node 2 & 3 are PMEM nodes. 63 * memory_tiers0 = 0-1 64 * memory_tiers1 = 2-3 73 * Node 0 & 1 are CPU + DRAM nodes, node 2 is memory-only DRAM node. 81 * memory_tiers0 = 0-2 89 * Node 0 is CPU + DRAM nodes, Node 1 is HBM node, node 2 is PMEM node. 126 list_for_each_entry(memtype, &memtier->memory_types, tier_sibling) in get_memtier_nodemask() 127 nodes_or(nodes, nodes, memtype->nodes); in get_memtier_nodemask() [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 7 # add proper SWAP support to them, in which case this can be remove. 33 compress them into a dynamically allocated RAM-based memory pool. 62 swapped out again, it will be re-compressed. 210 zsmalloc is a slab-based memory allocator designed to store 225 int "Maximum number of physical pages per-zspage" 303 Try running: slabinfo -DA 340 utilization of a direct-mapped memory-side-cache. See section 343 the presence of a memory-side-cache. There are also incidental 353 after runtime detection of a direct-mapped memory-side-cache. [all …]
|
/linux-6.8/drivers/pci/ |
D | probe.c | 1 // SPDX-License-Identifier: GPL-2.0 51 if (r->domain_nr == domain_nr) in get_pci_domain_busn_res() 52 return &r->res; in get_pci_domain_busn_res() 58 r->domain_nr = domain_nr; in get_pci_domain_busn_res() 59 r->res.start = 0; in get_pci_domain_busn_res() 60 r->res.end = 0xff; in get_pci_domain_busn_res() 61 r->res.flags = IORESOURCE_BUS | IORESOURCE_PCI_FIXED; in get_pci_domain_busn_res() 63 list_add_tail(&r->list, &pci_domain_busn_res_list); in get_pci_domain_busn_res() 65 return &r->res; in get_pci_domain_busn_res() 92 put_device(pci_bus->bridge); in release_pcibus_dev() [all …]
|
/linux-6.8/tools/perf/util/ |
D | mem-events.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include "mem-events.h" 23 E("ldlat-loads", "cpu/mem-loads,ldlat=%u/P", "cpu/events/mem-loads"), 24 E("ldlat-stores", "cpu/mem-stores/P", "cpu/events/mem-stores"), 51 e->name, perf_mem_events__loads_ldlat); in perf_mem_events__name() 56 return e->name; in perf_mem_events__name() 74 return -ENOMEM; in perf_mem_events__parse() 84 if (!e->tag) in perf_mem_events__parse() 87 if (strstr(e->tag, tok)) in perf_mem_events__parse() 88 e->record = found = true; in perf_mem_events__parse() [all …]
|
/linux-6.8/drivers/message/fusion/ |
D | mptctl.c | 7 * Copyright (c) 1999-2008 LSI Corporation 8 * (mailto:DL-MPTFusionLinux@lsi.com) 11 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 25 LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, 44 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 46 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 69 #define COPYRIGHT "Copyright (c) 1999-2008 LSI Corporation" 74 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 84 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 92 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ [all …]
|
/linux-6.8/arch/powerpc/perf/ |
D | isa207-common.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #include "isa207-common.h" 11 PMU_FORMAT_ATTR(event, "config:0-49"); 12 PMU_FORMAT_ATTR(pmcxsel, "config:0-7"); 15 PMU_FORMAT_ATTR(unit, "config:12-15"); 16 PMU_FORMAT_ATTR(pmc, "config:16-19"); 17 PMU_FORMAT_ATTR(cache_sel, "config:20-23"); 18 PMU_FORMAT_ATTR(sample_mode, "config:24-28"); 19 PMU_FORMAT_ATTR(thresh_sel, "config:29-31"); 20 PMU_FORMAT_ATTR(thresh_stop, "config:32-35"); [all …]
|
/linux-6.8/arch/x86/events/intel/ |
D | ds.c | 1 // SPDX-License-Identifier: GPL-2.0 106 static void __init __intel_pmu_pebs_data_source_skl(bool pmem, u64 *data_source) in __intel_pmu_pebs_data_source_skl() argument 108 u64 pmem_or_l4 = pmem ? LEVEL(PMEM) : LEVEL(L4); in __intel_pmu_pebs_data_source_skl() 117 void __init intel_pmu_pebs_data_source_skl(bool pmem) in intel_pmu_pebs_data_source_skl() argument 119 __intel_pmu_pebs_data_source_skl(pmem, pebs_data_source); in intel_pmu_pebs_data_source_skl() 219 if (event->hw.flags & PERF_X86_EVENT_PEBS_ST_HSW) in precise_datala_hsw() 221 else if (event->hw.flags & PERF_X86_EVENT_PEBS_LD_HSW) in precise_datala_hsw() 232 if (event->hw.flags & PERF_X86_EVENT_PEBS_ST_HSW) { in precise_datala_hsw() 258 /* Retrieve the latency data for e-core of ADL */ 264 WARN_ON_ONCE(hybrid_pmu(event->pmu)->pmu_type == hybrid_big); in __adl_latency_data_small() [all …]
|
/linux-6.8/drivers/cxl/ |
D | acpi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 * CXL Specification 3.0 Table 9-22 37 for (i = 0; i < cximsd->nr_maps; i++) in cxl_xor_calc_n() 38 n |= (hweight64(hpa & cximsd->xormaps[i]) & 1) << i; in cxl_xor_calc_n() 40 /* IW: 3,6,12 add a modulo calculation to 'n' */ in cxl_xor_calc_n() 43 return -1; in cxl_xor_calc_n() 52 struct cxl_cxims_data *cximsd = cxlrd->platform_data; in cxl_hb_xor() 53 struct cxl_switch_decoder *cxlsd = &cxlrd->cxlsd; in cxl_hb_xor() 54 struct cxl_decoder *cxld = &cxlsd->cxld; in cxl_hb_xor() 55 int ig = cxld->interleave_granularity; in cxl_hb_xor() [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/sapphirerapids/ |
D | spr-metrics.json | 4 "MetricExpr": "cstate_core@c1\\-residency@ / TSC", 11 "MetricExpr": "cstate_pkg@c2\\-residency@ / TSC", 18 "MetricExpr": "cstate_core@c6\\-residency@ / TSC", 25 "MetricExpr": "cstate_pkg@c6\\-residency@ / TSC", 180 …iss (read memory access) addressed to Intel(R) Optane(TM) Persistent Memory(PMEM) in nano seconds", 234 …B/sec) caused by directory updates; includes DDR and Intel(R) Optane(TM) Persistent Memory(PMEM).", 258 …"BriefDescription": "Uops delivered from legacy decode pipeline (Micro-instruction Translation Eng… 270 … "BriefDescription": "Intel(R) Optane(TM) Persistent Memory(PMEM) memory read bandwidth (MB/sec)", 276 "BriefDescription": "Intel(R) Optane(TM) Persistent Memory(PMEM) memory bandwidth (MB/sec)", 282 … "BriefDescription": "Intel(R) Optane(TM) Persistent Memory(PMEM) memory write bandwidth (MB/sec)", [all …]
|
/linux-6.8/tools/include/uapi/linux/ |
D | perf_event.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 5 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de> 6 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar 7 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra 13 * For licencing details see kernel-base/COPYING 23 * User-space ABI bits: 37 PERF_TYPE_MAX, /* non-ABI */ 75 PERF_COUNT_HW_MAX, /* non-ABI */ 81 * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x 94 PERF_COUNT_HW_CACHE_MAX, /* non-ABI */ [all …]
|
/linux-6.8/include/uapi/linux/ |
D | perf_event.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 5 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de> 6 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar 7 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra 13 * For licencing details see kernel-base/COPYING 23 * User-space ABI bits: 37 PERF_TYPE_MAX, /* non-ABI */ 75 PERF_COUNT_HW_MAX, /* non-ABI */ 81 * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x 94 PERF_COUNT_HW_CACHE_MAX, /* non-ABI */ [all …]
|