/linux/drivers/gpu/drm/xe/ |
H A D | xe_memirq.c | 1 // SPDX-License-Identifier: MIT 25 drm_##_level(&memirq_to_xe(m)->drm, "MEMIRQ%u: " _fmt, \ 26 memirq_to_tile(m)->id, ##__VA_ARGS__) 54 * DOC: Memory Based Interrupts 56 * MMIO register based interrupts infrastructure used for non-virtualized mode 57 * or SRIOV-8 (which supports 8 Virtual Functions) does not scale efficiently 59 * containers. Memory based interrupt status reporting provides an efficient 62 * For memory based interrupt status reporting hardware sequence is: 65 * be mapped to system memory and must be marked as un-cacheable (UC) on 71 * DOC: Memory Based Interrupts Page Layout [all …]
|
/linux/drivers/net/ethernet/chelsio/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 26 This driver supports Chelsio gigabit and 10-gigabit 34 For customer support, please visit our customer support page at 37 Please send feedback to <linux-bugs@chelsio.com>. 55 This driver supports Chelsio T3-based gigabit and 10Gb Ethernet 61 For customer support, please visit our customer support page at 64 Please send feedback to <linux-bugs@chelsio.com>. 77 This driver supports Chelsio T4, T5 & T6 based gigabit, 10Gb Ethernet 78 adapter and T5/T6 based 40Gb and T6 based 25Gb, 50Gb and 100Gb 84 For customer support, please visit our customer support page at [all …]
|
/linux/include/drm/ |
H A D | drm_vma_manager.h | 84 * drm_vma_offset_exact_lookup_locked() - Look up node by exact address 86 * @start: Start address (page-based, not byte-based) 87 * @pages: Size of object (page-based) 103 return (node && node->vm_node.start == start) ? node : NULL; in drm_vma_offset_exact_lookup_locked() 107 * drm_vma_offset_lock_lookup() - Lock lookup for extended private use 120 * Note: You're in atomic-context while holding this lock! 124 read_lock(&mgr->vm_lock); in drm_vma_offset_lock_lookup() 128 * drm_vma_offset_unlock_lookup() - Unlock lookup for extended private use 131 * Release lookup-lock. See drm_vma_offset_lock_lookup() for more information. 135 read_unlock(&mgr->vm_lock); in drm_vma_offset_unlock_lookup() [all …]
|
/linux/Documentation/mm/ |
H A D | multigen_lru.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Multi-Gen LRU 6 The multi-gen LRU is an alternative LRU implementation that optimizes 7 page reclaim and improves performance under memory pressure. Page 14 ---------- 20 * Simple self-correcting heuristics 23 implementations. In the multi-gen LRU, each generation represents a 25 (time-based) common frame of reference and therefore help make better 30 accessed bit. A rmap walk targets a single page and does not try to 31 profit from discovering a young PTE. A page table walk can sweep all [all …]
|
/linux/Documentation/admin-guide/mm/ |
H A D | numa_memory_policy.rst | 10 supported platforms with Non-Uniform Memory Access architectures since 2.4.?. 16 (``Documentation/admin-guide/cgroup-v1/cpusets.rst``) 19 programming interface that a NUMA-aware application can take advantage of. When 28 ------------------------ 35 that governs all page allocations that aren't controlled by 41 not to overload the initial boot node with boot-time 45 this is an optional, per-task policy. When defined for a 46 specific task, this policy controls all page allocations made 49 all page allocations that would have been controlled by the 61 In a multi-threaded task, task policies apply only to the thread [all …]
|
/linux/Documentation/driver-api/ |
H A D | mtdnand.rst | 10 The generic NAND driver supports almost all NAND and AG-AND based chips 31 -------------------------- 37 - [MTD Interface] 43 - [NAND Interface] 48 - [GENERIC] 53 - [DEFAULT] 65 ------------------------------- 71 - [INTERN] 77 - [REPLACEABLE] 86 - [BOARDSPECIFIC] [all …]
|
/linux/include/xen/arm/ |
H A D | page.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 #include <asm/page.h> 9 #include <linux/dma-mapping.h> 22 /* Xen pseudo-physical address */ 33 * The pseudo-physical frame (pfn) used in all the helpers is always based 34 * on Xen page granularity (i.e 4KB). 36 * A Linux page may be split across multiple non-contiguous Xen page so we 37 * have to keep track with frame based on 4KB page granularity. 46 /* Pseudo-physical <-> Guest conversion */ 57 /* Pseudo-physical <-> BUS conversion */ [all …]
|
/linux/drivers/gpu/drm/amd/amdkfd/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: MIT 16 bool "Enable HMM-based shared virtual memory manager" 23 memory manager supports two modes of operation. One based on 24 preemptions and one based on page faults. To enable page fault 25 based memory management on most GFXv9 GPUs, set the module 29 bool "HSA kernel driver support for peer-to-peer for AMD GPU devices" 32 Enable peer-to-peer (P2P) communication between AMD GPUs over 33 the PCIe bus. This can improve performance of multi-GPU compute
|
/linux/drivers/clocksource/ |
H A D | hyperv_timer.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * provided by the Hyper-V hypervisor to guest VMs, as described 6 * in the Hyper-V Top Level Functional Spec (TLFS). This driver 36 * mechanism is used when running on older versions of Hyper-V 37 * that don't support Direct Mode. While Hyper-V provides 44 * However, for legacy versions of Hyper-V when Direct Mode 51 static int stimer0_irq = -1; 64 ce->event_handler(ce); in hv_stimer0_isr() 70 * per-cpu interrupts, which also implies Direct Mode. 128 * hv_stimer_init - Per-cpu initialization of the clockevent [all …]
|
/linux/Documentation/mm/damon/ |
H A D | design.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 The monitoring-related information including the monitoring request 14 specification and DAMON-based operation schemes are stored in a data structure 19 To know how user-space can do the configurations and start/stop DAMON, refer to 28 - :ref:`Operations Set <damon_operations_set>`: Implements fundamental 30 address-space and available set of software/hardware primitives, 31 - [all...] |
/linux/Documentation/dev-tools/ |
H A D | kfence.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Kernel Electric-Fence (KFENCE) 7 Kernel Electric-Fence (KFENCE) is a low-overhead sampling-based memory safety 8 error detector. KFENCE detects heap out-of-bounds access, use-after-free, and 9 invalid-free errors. 15 non-production test workloads. One way to quickly achieve a large enough total 19 ----- 26 ``kfence.sample_interval`` to non-zero value), configure the kernel with:: 46 causes CPU wake-ups when the system is completely idle. This may be undesirable 47 on power-constrained systems. The boot parameter ``kfence.deferrable=1`` [all …]
|
/linux/mm/kasan/ |
H A D | kasan_test_c.c | 1 // SPDX-License-Identifier: GPL-2.0-only 30 #include <asm/page.h> 40 /* Fields set based on lines observed in the console. */ 66 return -1; in kasan_suite_init() 73 * Temporarily enable multi-shot mode. Otherwise, KASAN would only in kasan_suite_init() 97 * KUNIT_EXPECT_KASAN_FAIL - check that the executed expression produces a 103 * For hardware tag-based KASAN, when a synchronous tag fault happens, tag 104 * checking is auto-disabled. When this happens, this test handler reenables 166 size_t size = 128 - KASAN_GRANULE_SIZE - 5; in kmalloc_oob_right() 180 * An aligned access into the first out-of-bounds granule that falls in kmalloc_oob_right() [all …]
|
/linux/mm/ |
H A D | gup_test.c | 10 static void put_back_pages(unsigned int cmd, struct page **pages, in put_back_pages() 39 static void verify_dma_pinned(unsigned int cmd, struct page **pages, in verify_dma_pinned() 53 "pages[%lu] is NOT dma-pinned\n", i)) { in verify_dma_pinned() 55 dump_page(&folio->page, "gup_test failure"); in verify_dma_pinned() 61 dump_page(&folio->page, "gup_test failure"); in verify_dma_pinned() 69 static void dump_pages_test(struct gup_test *gup, struct page **pages, in dump_pages_test() 76 * Zero out any user-supplied page index that is out of range. Remember: in dump_pages_test() 77 * .which_pages[] contains a 1-based set of page indices. in dump_pages_test() 80 if (gup->which_pages[i] > nr_pages) { in dump_pages_test() 82 i, gup->which_pages[i]); in dump_pages_test() [all …]
|
/linux/block/ |
H A D | blk-sysfs.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/backing-dev.h> 15 #include "blk-mq.h" 16 #include "blk-mq-debugfs.h" 17 #include "blk-mq-sched.h" 18 #include "blk-rq-qos.h" 19 #include "blk-wbt.h" 20 #include "blk-cgroup.h" 21 #include "blk-throttle.h" 25 ssize_t (*show)(struct gendisk *disk, char *page); [all …]
|
/linux/drivers/net/can/ctucanfd/ |
H A D | Kconfig | 2 tristate "CTU CAN-FD IP core" if COMPILE_TEST 4 This driver adds support for the CTU CAN FD open-source IP core. 5 More documentation and core sources at project page 8 is available (https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top). 9 Implementation on Intel FPGA-based PCI Express board is available 10 from project (https://gitlab.fel.cvut.cz/canbus/pcie-ctucanfd) and 11 on Intel SoC from project (https://gitlab.fel.cvut.cz/canbus/intel-soc-ctucanfd). 12 Guidepost CTU FEE CAN bus projects page https://canbus.pages.fel.cvut.cz/ . 15 tristate "CTU CAN-FD IP core PCI/PCIe driver" 19 This driver adds PCI/PCIe support for CTU CAN-FD IP core. [all …]
|
/linux/arch/arm64/include/asm/ |
H A D | page.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Based on arch/arm/include/asm/page.h 5 * Copyright (C) 1995-2003 Russell King 11 #include <asm/page-def.h> 17 #include <asm/pgtable-types.h> 19 struct page; 25 void copy_user_highpage(struct page *to, struct page *from, 29 void copy_highpage(struct page *to, struct page *from); 36 void tag_clear_highpage(struct page *to); 39 #define clear_user_page(page, vaddr, pg) clear_page(page) argument [all …]
|
/linux/drivers/gpu/drm/ |
H A D | drm_vma_manager.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 3 * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., USA 39 * The vma-manager is responsible to map arbitrary driver-dependent memory 40 * regions into the linear user address-space. It provides offsets to the 41 * caller which can then be used on the address_space of the drm-device. It 43 * confuse mm-core by inconsistent fake vm_pgoff fields. 45 * only be used to manage mappings into linear user-space VMs. 48 * optimized for alloc/free calls, not lookups. Hence, we use an rb-tree to 52 * Otherwise, mm-core will be unable to tear down memory mappings as the VM will 55 * This offset manager works on page-based addresses. That is, every argument [all …]
|
/linux/drivers/mtd/nand/raw/ |
H A D | nand_bbt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * depending on the options in the BBT descriptor(s). If no flash based BBT 16 * If a flash based BBT is specified then the function first tries to find the 18 * based BBT is created. If a mirrored BBT is selected then the mirror is 20 * version number, then the mirror BBT is used to build the memory based BBT. 26 * For manufacturer created BBTs like the one found on M-SYS DOC devices 52 * - bbts start at a page boundary, if autolocated on a block boundary 53 * - the space necessary for a bbt in FLASH does not exceed a block boundary 78 uint8_t entry = chip->bbt[block >> BBT_ENTRY_SHIFT]; in bbt_get_entry() 87 chip->bbt[block >> BBT_ENTRY_SHIFT] |= msk; in bbt_mark_entry() [all …]
|
/linux/arch/x86/boot/compressed/ |
H A D | pgtable_64.c | 1 // SPDX-License-Identifier: GPL-2.0 44 * This code is based on reserve_bios_regions(). in find_trampoline_placement() 51 * Only look for values in the legacy ROM for non-EFI system. in find_trampoline_placement() 53 signature = (char *)&boot_params_ptr->efi_info.efi_loader_signature; in find_trampoline_placement() 69 for (i = boot_params_ptr->e820_entries - 1; i >= 0; i--) { in find_trampoline_placement() 72 entry = &boot_params_ptr->e820_table[i]; in find_trampoline_placement() 75 if (bios_start <= entry->addr) in find_trampoline_placement() 78 /* Skip non-RAM entries. */ in find_trampoline_placement() 79 if (entry->type != E820_TYPE_RAM) in find_trampoline_placement() 83 if (bios_start > entry->addr + entry->size) in find_trampoline_placement() [all …]
|
/linux/Documentation/arch/x86/ |
H A D | intel_txt.rst | 6 Technology (Intel(R) TXT), defines platform-level enhancements that 13 - Provides dynamic root of trust for measurement (DRTM) 14 - Data protection in case of improper shutdown 15 - Measurement and verification of launched environment 18 non-vPro systems. It is currently available on desktop systems 19 based on the Q35, X38, Q45, and Q43 Express chipsets (e.g. Dell 20 Optiplex 755, HP dc7800, etc.) and mobile systems based on the GM45, 30 - LinuxTAG 2008: 31 http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag.html 33 - TRUST2008: [all …]
|
/linux/arch/powerpc/mm/book3s64/ |
H A D | hugetlbpage.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PPC64 Huge TLB Page Support for hash based MMUs (POWER4 and later) 7 * Based on the IA-32 version: 32 /* Search the Linux page table for a match with va */ in __hash_page_huge() 44 * page is currently not DIRTY. in __hash_page_huge() 53 /* If PTE permissions don't match, take page fault */ in __hash_page_huge() 57 * If hash-4k, hugepages use seeral contiguous PxD entries in __hash_page_huge() 58 * so bail out and let mm make the page young or dirty in __hash_page_huge() 101 mmu_psize, ssize, flags) == -1) in __hash_page_huge() 117 * Hypervisor failure. Restore old pte and return -1 in __hash_page_huge() [all …]
|
/linux/drivers/staging/fbtft/ |
H A D | fb_sh1106.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Based on the SSD1306 driver by Noralf Tronnes 20 /* Init sequence based on the Adafruit SSD1306 Arduino library */ 23 if (!par->info->var.xres || par->info->var.xres > WIDTH || in init_display() 24 !par->info->var.yres || par->info->var.yres > HEIGHT || in init_display() 25 par->info->var.yres % 8) { in init_display() 26 dev_err(par->info->device, "Invalid screen size\n"); in init_display() 27 return -EINVAL; in init_display() 30 if (par->info->var.rotate) { in init_display() 31 dev_err(par->info->device, "Display rotation not supported\n"); in init_display() [all …]
|
/linux/virt/kvm/ |
H A D | pfncache.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel-based Virtual Machine driver for Linux 5 * This module enables kernel and guest-mode vCPU access to guest physical 30 spin_lock(&kvm->gpc_lock); in gfn_to_pfn_cache_invalidate_start() 31 list_for_each_entry(gpc, &kvm->gpc_list, list) { in gfn_to_pfn_cache_invalidate_start() 32 read_lock_irq(&gpc->loc in gfn_to_pfn_cache_invalidate_start() [all...] |
/linux/arch/arm64/mm/ |
H A D | copypage.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Based on arch/arm/mm/copypage.c 12 #include <asm/page.h> 17 void copy_highpage(struct page *to, struct page *from) in copy_highpage() 43 * Don't assume the first page is head page since in copy_highpage() 44 * huge page copy may start from any subpage. in copy_highpage() 54 /* It's a new page, shouldn't have been tagged yet */ in copy_highpage() 63 void copy_user_highpage(struct page *to, struct page *from, in copy_user_highpage()
|
/linux/include/linux/mtd/ |
H A D | bbm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 4 * - Bad Block Table (BBT) implementation 9 * Copyright © 2000-2005 19 * struct nand_bbt_descr - bad block table descriptor 21 * @pages: the page(s) where we find the bbt, used with option BBT_ABSPAGE 24 * @offs: offset of the pattern in the oob area of the page 25 * @veroffs: offset of the bbt version counter in the oob are of the page 26 * @version: version read from the bbt page during scan 31 * @reserved_block_code: if non-0, this pattern denotes a reserved (rather than 63 /* The bbt is at the given page, else we must scan for the bbt */ [all …]
|