/linux/drivers/acpi/acpica/ |
H A D | exprep.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: exprep - ACPI AML field prep utilities 6 * Copyright (C) 2000 - 2025, Intel Corp. 35 * PARAMETERS: field_bit_offset - Start of field within parent region/buffer 36 * field_bit_length - Length of field in bits 37 * region_length - Length of parent in bytes 39 * RETURN: Field granularity (8, 16, 32 or 64) and 42 * DESCRIPTION: Generate an optimal access width for fields defined with the 46 * conditions (end-of-region). However, the region_length is a deferred 48 * of this access width must be deferred until the region length has [all …]
|
H A D | rsdumpinfo.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: rsdumpinfo - Tables used to display resource descriptors. 59 "Start-Dependent-Functions", NULL}, 70 "End-Dependent-Functions", NULL} 107 "24-Bit Memory Range", NULL}, 122 "32-Bit Memory Range", NULL}, 137 "32-Bit Fixed Memory Range", NULL}, 148 "16-Bit WORD Address Space", NULL}, 150 {ACPI_RSD_UINT16, ACPI_RSD_OFFSET(address16.address.granularity), 151 "Granularity", NULL}, [all …]
|
H A D | hwvalid.c | 1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 4 * Module Name: hwvalid - I/O request validation 6 * Copyright (C) 2000 - 2025, Intel Corp. 24 * The table is used to implement the Microsoft port access rules that 37 * RTC: Real-time clock 109 last_address = address + byte_width - 1; in acpi_hw_validate_io_request() 116 /* Maximum 16-bit address in I/O space */ in acpi_hw_validate_io_request() 127 if (address > acpi_protected_ports[ACPI_PORT_INFO_ENTRIES - 1].end) { in acpi_hw_validate_io_request() 143 if ((address <= port_info->end) in acpi_hw_validate_io_request() 144 && (last_address >= port_info->start)) { in acpi_hw_validate_io_request() [all …]
|
/linux/drivers/gpu/drm/i915/ |
H A D | Kconfig.profile | 16 int "Timeout for unsignaled foreign fences (ms, jiffy granularity)" 33 their next access. The revocation and subsequent recreation of 35 that complements the runtime-pm autosuspend and provides a lower 46 check the health of the GPU and undertake regular house-keeping of 56 int "Preempt timeout (ms, jiffy granularity)" 74 int "Preempt timeout for compute engines (ms, jiffy granularity)" 98 take a non-negligible time to setup, we do a short spin first to 124 int "Scheduling quantum for userspace batches (ms, jiffy granularity)"
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-memory-page-offline | 6 Soft-offline the memory page containing the physical address 9 to soft-offline it, by moving the contents elsewhere or 13 The offlining is done in kernel specific granularity. 28 Hard-offline the memory page containing the physical 31 kernel will then attempt to hard-offline the page, by 35 to access this page assuming it's poisoned by the 38 The offlining is done in kernel specific granularity.
|
/linux/Documentation/driver-api/cxl/linux/ |
H A D | cxl-driver.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 The :code:`cxl-cli` library, maintained as part of the NDTCL project, may 19 * cxl_core - fundamental init interface and core object creation 20 * cxl_port - initializes root and provides port enumeration interface. 21 * cxl_acpi - initializes root decoders and interacts with ACPI data. 22 * cxl_p/mem - initializes memory devices 23 * cxl_pci - uses cxl_port to enumerate the actual fabric hierarchy. 27 Here is an example from a single-socket system with 4 host bridges. Two host 38 .. kernel-render:: DOT 39 :alt: Digraph of CXL fabric describing host-bridge interleaving [all …]
|
/linux/sound/pci/pcxhr/ |
H A D | pcxhr.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 25 /* transfer granularity of pipes and the dsp time (MBOX4) */ 27 /* TODO : granularity could be 64 or 128 */ 28 #define PCXHR_GRANULARITY_HR22 192 /* granularity for stereo cards */ 59 int granularity; member 61 /* card access with 1 mem bar and 2 io bar's */
|
H A D | pcxhr_core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 50 /* access to the card */ 59 #define PCXHR_INPB(mgr,x) inb((mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) 60 #define PCXHR_INPL(mgr,x) inl((mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) 61 #define PCXHR_OUTPB(mgr,x,data) outb((data), (mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) 62 #define PCXHR_OUTPL(mgr,x,data) outl((data), (mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) 63 /* attention : access the PCXHR_DSP_* registers with inb and outb only ! */ 105 * pcxhr_check_reg_bit - wait for the specified bit is set/reset on a register 109 * @time: time-out of loop in msec 123 dev_dbg(&mgr->pci->dev, in pcxhr_check_reg_bit() [all …]
|
/linux/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_svm.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 3 * Copyright 2020-2021 Advanced Micro Devices, Inc. 40 ((adev)->hive ? (void *)(adev)->hive : (void *)(adev)) 69 * struct svm_range - shared virtual memory range 76 * aligned, page size is (last - start + 1) 95 * @granularity:migration granularity, log2 num pages 102 * @bitmap_access: index bitmap of GPUs which can access the range 103 * @bitmap_aip: index bitmap of GPUs which can access the range in place 130 uint8_t granularity; member 145 mutex_lock(&prange->lock); in svm_range_lock() [all …]
|
H A D | kfd_svm.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 3 * Copyright 2020-2021 Advanced Micro Devices, Inc. 84 * svm_range_unlink - unlink svm_range from lists and interval tree 90 * Context: The caller must hold svms->lock 94 pr_debug("svms 0x%p prange 0x%p [0x%lx 0x%lx]\n", prange->svms, in svm_range_unlink() 95 prange, prange->start, prange->last); in svm_range_unlink() 97 if (prange->svm_bo) { in svm_range_unlink() 98 spin_lock(&prange->svm_bo->list_lock); in svm_range_unlink() 99 list_del(&prange->svm_bo_list); in svm_range_unlink() 100 spin_unlock(&prange->svm_bo->list_lock); in svm_range_unlink() [all …]
|
/linux/Documentation/mm/damon/ |
H A D | faq.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 constructions and actual access checks can be implemented and configured on the 14 space with any access check technique. 21 Can I simply monitor page granularity?
|
/linux/Documentation/admin-guide/mm/damon/ |
H A D | lru_sort.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 DAMON-based LRU-lists Sorting 7 DAMON-based LRU-lists Sorting (DAMON_LRU_SORT) is a static kernel module that 8 aimed to be used for proactive and lightweight data access pattern based 9 (de)prioritization of pages on their LRU-lists for making LRU-lists a more 10 trusworthy data access pattern source. 12 Where Proactive LRU-lists Sorting is Required? 15 As page-granularity access checking overhead could be significant on huge 19 perfectly prepared to be used as a trustworthy access pattern source for some 23 Because DAMON can identify access patterns of best-effort accuracy while [all …]
|
/linux/sound/pci/lola/ |
H A D | lola.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Support for Digigram Lola PCI-e boards 11 #include <linux/dma-mapping.h> 34 /* Lola-specific options */ 36 /* for instance use always max granularity which is compatible 39 static int granularity[SNDRV_CARDS] = { variable 40 [0 ... (SNDRV_CARDS - 1)] = LOLA_GRANULARITY_MAX 45 [0 ... (SNDRV_CARDS - 1) ] = 16000 48 module_param_array(granularity, int, NULL, 0444); 49 MODULE_PARM_DESC(granularity, "Granularity value"); [all …]
|
/linux/drivers/cxl/ |
H A D | cxl.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 23 * (port-driver, region-driver, nvdimm object-drivers... etc). 84 static inline int eig_to_granularity(u16 eig, unsigned int *granularity) in eig_to_granularity() argument 87 return -EINVAL; in eig_to_granularity() 88 *granularity = CXL_DECODER_MIN_GRANULARITY << eig; in eig_to_granularity() 92 /* Encode defined in CXL ECN "3, 6, 12 and 16-way memory Interleaving" */ 100 *ways = 3 << (eiw - 8); in eiw_to_ways() 103 return -EINVAL; in eiw_to_ways() 109 static inline int granularity_to_eig(int granularity, u16 *eig) in granularity_to_eig() argument 111 if (granularity > SZ_16K || granularity < CXL_DECODER_MIN_GRANULARITY || in granularity_to_eig() [all …]
|
/linux/arch/riscv/kernel/ |
H A D | unaligned_access_speed.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include "copy-unaligned.h" 22 #define MISALIGNED_COPY_SIZE ((MISALIGNED_BUFFER_SIZE / 2) - 0x80) 54 word_cycles = -1ULL; in check_unaligned_access() 74 if ((end_cycles - start_cycles) < word_cycles) in check_unaligned_access() 75 word_cycles = end_cycles - start_cycles; in check_unaligned_access() 78 byte_cycles = -1ULL; in check_unaligned_access() 90 if ((end_cycles - start_cycles) < byte_cycles) in check_unaligned_access() 91 byte_cycles = end_cycles - start_cycles; in check_unaligned_access() 98 pr_warn("cpu%d: rdtime lacks granularity needed to measure unaligned access speed\n", in check_unaligned_access() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_ttm_stolen_mgr.c | 1 // SPDX-License-Identifier: MIT 3 * Copyright © 2021-2023 Intel Corporation 4 * Copyright (C) 2021-2002 Red Hat 47 * xe_ttm_stolen_cpu_access_needs_ggtt() - If we can't directly CPU access 51 * Some older integrated platforms don't support reliable CPU access for stolen, 53 * CPU access. Check if that's the case for this device. 70 val--; in get_wopcm_size() 87 struct pci_dev *pdev = to_pci_dev(xe->drm.dev); in detect_bar2_dgfx() 92 tile_offset = tile->mem.vram.io_start - xe->mem.vram.io_start; in detect_bar2_dgfx() 93 tile_size = tile->mem.vram.actual_physical_size; in detect_bar2_dgfx() [all …]
|
/linux/Documentation/devicetree/bindings/memory-controllers/ |
H A D | ti,gpmc-child.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/ti,gpmc-child.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Tony Lindgren <tony@atomide.com> 11 - Roger Quadros <rogerq@kernel.org> 24 gpmc,sync-clk-ps: 28 # Chip-select signal timings corresponding to GPMC_CONFIG2: 29 gpmc,cs-on-ns: 33 gpmc,cs-rd-off-ns: [all …]
|
/linux/Documentation/mm/ |
H A D | memory-model.rst | 1 .. SPDX-License-Identifier: GPL-2.0 23 Regardless of the selected memory model, there exists one-to-one 35 non-NUMA systems with contiguous, or mostly contiguous, physical 54 straightforward: `PFN - ARCH_PFN_OFFSET` is an index to the 65 as hot-plug and hot-remove of the physical memory, alternative memory 66 maps for non-volatile memory devices and deferred initialization of 85 NR\_MEM\_SECTIONS = 2 ^ {(MAX\_PHYSMEM\_BITS - SECTION\_SIZE\_BITS)} 87 The `mem_section` objects are arranged in a two-dimensional array 104 corresponding `struct page` - a "classic sparse" and "sparse 108 The classic sparse encodes the section number of a page in page->flags [all …]
|
/linux/tools/testing/selftests/rtc/ |
H A D | rtctest.c | 1 // SPDX-License-Identifier: GPL-2.0 40 self->fd = open(rtc_file, O_RDONLY); in FIXTURE_SETUP() 44 close(self->fd); in FIXTURE_TEARDOWN() 51 if (self->fd == -1 && errno == ENOENT) in TEST_F() 53 ASSERT_NE(-1, self->fd); in TEST_F() 56 rc = ioctl(self->fd, RTC_RD_TIME, &rtc_tm); in TEST_F() 57 ASSERT_NE(-1, rc); in TEST_F() 67 .tm_sec = rtc_time->tm_sec, in rtc_time_to_timestamp() 68 .tm_min = rtc_time->tm_min, in rtc_time_to_timestamp() 69 .tm_hour = rtc_time->tm_hour, in rtc_time_to_timestamp() [all …]
|
/linux/drivers/thunderbolt/ |
H A D | usb4.c | 1 // SPDX-License-Identifier: GPL-2.0 87 return -EOPNOTSUPP; in usb4_native_switch_op() 112 const struct tb_cm_ops *cm_ops = sw->tb->cm_ops; in __usb4_switch_op() 115 return -EINVAL; in __usb4_switch_op() 122 if (cm_ops->usb4_switch_op) { in __usb4_switch_op() 125 ret = cm_ops->usb4_switch_op(sw, opcode, metadata, status, in __usb4_switch_op() 128 if (ret != -EOPNOTSUPP) in __usb4_switch_op() 157 * usb4_switch_check_wakes() - Check for wakes and notify PM core about them 186 if (!port->cap_usb4) in usb4_switch_check_wakes() 190 port->cap_usb4 + PORT_CS_18, 1)) in usb4_switch_check_wakes() [all …]
|
/linux/Documentation/timers/ |
H A D | hrtimers.rst | 2 hrtimers - subsystem for high-resolution kernel timers 5 This patch introduces a new subsystem for high-resolution kernel timers. 9 back and forth trying to integrate high-resolution and high-precision 11 such high-resolution timer implementations in practice, we came to the 18 - the forced handling of low-resolution and high-resolution timers in 21 32-bitness assumptions, and has been honed and micro-optimized for a 23 for many years - and thus even small extensions to it easily break 26 current usage - but it is simply not suitable to be extended for 27 high-res timers. 29 - the unpredictable [O(N)] overhead of cascading leads to delays which [all …]
|
/linux/Documentation/ABI/stable/ |
H A D | sysfs-block | 7 with 4KB physical sectors exposing 512-byte logical 35 power-of-two and atomic_write_unit_max_bytes may also be 37 This parameter - along with atomic_write_unit_min_bytes 38 and atomic_write_unit_max_bytes - will not be larger than 50 atomic_write_unit_min. This value must be a power-of-two. 60 be a power-of-two. This value will not be larger than 72 power-of-two and at least the size as in 111 integrity metadata. Set if the device is T10 PI-capable. 123 E.g. T10-DIF-TYPE1-CRC. 184 scanning is enabled, or "0" if not. The value type is a 32-bit [all …]
|
/linux/drivers/nvme/host/ |
H A D | constants.c | 1 // SPDX-License-Identifier: GPL-2.0 96 [NVME_SC_SGL_INVALID_GRANULARITY] = "SGL Data Block Granularity Invalid", 136 [NVME_SC_SELF_TEST_IN_PROGRESS] = "Device Self-test In Progress", 159 [NVME_SC_GUARD_CHECK] = "End-to-end Guard Check Error", 160 [NVME_SC_APPTAG_CHECK] = "End-to-end Application Tag Check Error", 161 [NVME_SC_REFTAG_CHECK] = "End-to-end Reference Tag Check Error", 163 [NVME_SC_ACCESS_DENIED] = "Access Denied", 166 [NVME_SC_ANA_PERSISTENT_LOSS] = "Asymmetric Access Persistent Loss", 167 [NVME_SC_ANA_INACCESSIBLE] = "Asymmetric Access Inaccessible", 168 [NVME_SC_ANA_TRANSITION] = "Asymmetric Access Transition",
|
/linux/drivers/net/ipa/ |
H A D | ipa_main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2018-2024 Linaro Ltd. 51 * currently supported. Despite that, some resources--including routing 52 * tables and filter tables--are defined in this driver because they must 58 * well-defined communication layer between the AP subsystem and the IPA 101 * ipa_setup() - Set up IPA hardware 115 struct device *dev = ipa->dev; in ipa_setup() 118 ret = gsi_setup(&ipa->gsi); in ipa_setup() 127 command_endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]; in ipa_setup() [all …]
|
/linux/include/sound/ |
H A D | vx_core.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 45 int granularity; /* granularity */ member 59 int hbuf_size; /* H-buffer size in bytes */ 75 /* low-level i/o */ 122 /* VX-pocket */ 149 /* low-level functions */ 183 int audio_monitor[4]; /* playback hw-monitor level */ 184 unsigned char audio_monitor_active[4]; /* playback hw-monitor mute/unmute */ 216 return chip->ops->test_and_ack(chip); in vx_test_and_ack() 221 chip->ops->validate_irq(chip, enable); in vx_validate_irq() [all …]
|