/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/fs/bcachefs/ |
H A D | six.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 * Shared/intent/exclusive locks: sleepable read/write locks, like rw semaphores 10 * but with an additional state: read/shared, intent, exclusive/write 12 * The purpose of the intent state is to allow for greater concurrency on tree 13 * structures without deadlocking. In general, a read can't be upgraded to a 23 * six_lock_read(&foo->lock); 24 * six_unlock_read(&foo->lock); 27 * six_lock_intent(&foo->lock); 28 * six_lock_write(&foo->lock); 29 * six_unlock_write(&foo->lock); [all …]
|
H A D | six.c | 1 // SPDX-License-Identifier: GPL-2.0 74 if ((atomic_read(&lock->state) & mask) != mask) in six_set_bitmask() 75 atomic_or(mask, &lock->state); in six_set_bitmask() 80 if (atomic_read(&lock->state) & mask) in six_clear_bitmask() 81 atomic_and(~mask, &lock->state); in six_clear_bitmask() 91 EBUG_ON(lock->owner); in six_set_owner() 92 lock->owner = owner; in six_set_owner() 94 EBUG_ON(lock->owner != current); in six_set_owner() 104 read_count += *per_cpu_ptr(lock->readers, cpu); in pcpu_read_count() 109 * __do_six_trylock() - main trylock routine [all …]
|
/linux/include/uapi/linux/ |
H A D | dma-buf.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 26 * struct dma_buf_sync - Synchronize with CPU access. 29 * possible to guarantee coherency between the CPU-visible map and underlying 35 * with DMA_BUF_SYNC_START and the appropriate read/write flags. Once the 37 * DMA_BUF_SYNC_END and the same read/write flags. 43 * wait for buffer to be ready for reading or writing before calling this 45 * follow-up work is not submitted to GPU or other device driver until 50 * poll() on the DMA buffer file descriptor. If the driver or API requires 51 * explicit synchronization, the client may have to wait on a sync_file or 65 * Indicates that the mapped DMA buffer will be read by the [all …]
|
/linux/scripts/coccinelle/api/ |
H A D | stream_open.cocci | 1 // SPDX-License-Identifier: GPL-2.0 4 // Search for stream-like files that are using nonseekable_open and convert 5 // them to stream_open. A stream-like file is a file that does not use ppos in 6 // its read and write. Rationale for the conversion is to avoid deadlock in 7 // between read and write. 11 virtual explain // explain decisions in the patch (SPFLAGS="-D explain") 13 // stream-like reader & writer - ones that do not depend on f_pos. 38 identifier wait =~ "^wait_.*"; 42 wait(...) 48 // XXX wait_* can be called not directly from current function (e.g. func -> f -> g -> wait()) [all …]
|
/linux/include/linux/ |
H A D | smp.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 42 * Enqueue a llist_node on the call_single_queue; be very careful, read 51 int wait); 54 void *info, bool wait, const struct cpumask *mask); 60 * Architecture-dependent code may override them. 67 * Call a function on all processors 69 static inline void on_each_cpu(smp_call_func_t func, void *info, int wait) in on_each_cpu() argument 71 on_each_cpu_cond_mask(NULL, func, info, wait, cpu_online_mask); in on_each_cpu() 75 * on_each_cpu_mask(): Run a function on processors specified by 77 * @mask: The set of cpus to run on (only runs on online subset). [all …]
|
/linux/Documentation/devicetree/bindings/bus/ |
H A D | qcom,ebi2.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 external memory (such as NAND or other memory-mapped peripherals) whereas 16 data lines (16 bits), OE (output enable), ADV (address valid, used on some 17 NOR flash memories), WE (write enable). This on top of 6 different chip selects 20 Apparently this bus is clocked at 64MHz. It has dedicated pins on the package 21 and the bus can only come out on these pins, however if some of the pins are 25 Also CS1 and CS2 has -A and -B signals. Why they have that is unclear to me. 31 CS0 GPIO134 0x1a800000-0x1b000000 (8MB) [all …]
|
/linux/drivers/gpu/drm/i915/ |
H A D | i915_perf_types.h | 1 /* SPDX-License-Identifier: MIT */ 17 #include <linux/wait.h> 101 * struct i915_perf_stream_ops - the OPs to support a specific stream type 119 * @poll_wait: Call poll_wait, passing a wait queue that will be woken 120 * once there is something ready to read() for the stream 124 poll_table *wait); 127 * @wait_unlocked: For handling a blocking read, wait until there is 128 * something to ready to read() for the stream. E.g. wait on the same 129 * wait queue that would be passed to poll_wait(). 134 * @read: Copy buffered metrics as records to userspace [all …]
|
/linux/tools/testing/selftests/powerpc/ptrace/ |
H A D | ptrace-perf-hwbreak.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <sys/wait.h> 13 * Child subroutine that performs a load on the address, then traps 24 * Child subroutine that performs a load on the first address, then a load on 126 attr->type = PERF_TYPE_BREAKPOINT; in perf_user_event_attr_set() 127 attr->size = sizeof(struct perf_event_attr); in perf_user_event_attr_set() 128 attr->bp_type = HW_BREAKPOINT_R; in perf_user_event_attr_set() 129 attr->bp_addr = (u64)addr; in perf_user_event_attr_set() 130 attr->bp_len = len; in perf_user_event_attr_set() 131 attr->exclude_kernel = 1; in perf_user_event_attr_set() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_mmio.c | 1 // SPDX-License-Identifier: MIT 3 * Copyright © 2021-2023 Intel Corporation 9 #include <linux/io-64-nonatomic-lo-hi.h> 33 tile->mmio.regs = NULL; in tiles_fini() 37 * On multi-tile devices, partition the BAR space for MMIO on each tile, 38 * possibly accounting for register override on the number of tiles available. 43 * .----------------------. <- tile_count * tile_mmio_size 45 * |----------------------| <- 2 * tile_mmio_size 47 * |----------------------| <- 1 * tile_mmio_size + 4MB 48 * | tile1->mmio.regs | [all …]
|
/linux/drivers/mtd/nand/raw/ |
H A D | nand_legacy.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * 2002-2006 Thomas Gleixner (tglx@linutronix.de) 23 * nand_read_byte - [DEFAULT] read one byte from the chip 26 * Default read function for 8bit buswidth 30 return readb(chip->legacy.IO_ADDR_R); in nand_read_byte() 34 * nand_read_byte16 - [DEFAULT] read one byte endianness aware from the chip 37 * Default read function for 16bit buswidth with endianness conversion. 42 return (uint8_t) cpu_to_le16(readw(chip->legacy.IO_ADDR_R)); in nand_read_byte16() 46 * nand_select_chip - [DEFAULT] control CE line 48 * @chipnr: chipnumber to select, -1 for deselect [all …]
|
/linux/Documentation/block/ |
H A D | stat.rst | 29 read I/Os requests number of read I/Os processed 30 read merges requests number of read I/Os merged with in-queue I/O 31 read sectors sectors number of sectors read 32 read ticks milliseconds total wait time for read requests 34 write merges requests number of write I/Os merged with in-queue I/O 36 write ticks milliseconds total wait time for write requests 39 time_in_queue milliseconds total wait time for all requests 41 discard merges requests number of discard I/Os merged with in-queue I/O 43 discard ticks milliseconds total wait time for discard requests 45 flush ticks milliseconds total wait time for flush requests [all …]
|
/linux/mm/ |
H A D | filemap.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 1994-1999 Linus Torvalds 30 #include <linux/error-injection.h> 33 #include <linux/backing-dev.h> 72 * finished 'unifying' the page and buffer cache and SMP-threaded the 73 * page-cache, 21.05.1999, Ingo Molnar <mingo@redhat.com> 75 * SMP-threaded pagemap-LRU 1999, Andrea Arcangeli <andrea@suse.de> 81 * ->i_mmap_rwsem (truncate_pagecache) 82 * ->private_lock (__free_pte->block_dirty_folio) 83 * ->swap_lock (exclusive_swap_page, others) [all …]
|
/linux/Documentation/RCU/ |
H A D | rcu.rst | 6 The basic idea behind RCU (read-copy update) is to split destructive 11 since dropped their references. For example, an RCU-protected deletion 12 from a linked list would first remove the item from the list, wait for 14 information on using RCU with linked lists. 17 -------------------------- 19 - Why would anyone want to use RCU? 21 The advantage of RCU's two-part approach is that RCU readers need 23 shared memory, or (on CPUs other than Alpha) execute any memory 25 on modern CPUs is what gives RCU its performance advantages 26 in read-mostly situations. The fact that RCU readers need not [all …]
|
H A D | checklist.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 would cause. This list is based on experiences reviewing such patches 14 0. Is RCU being applied to a read-mostly situation? If the data 18 tool for the job. Yes, RCU does reduce read-side overhead by 19 increasing write-side overhead, which is exactly why normal uses 24 is the dynamic NMI code in the Linux 2.6 kernel, at least on 27 Yet another exception is where the low real-time latency of RCU's 28 read-side primitives is critically important. 33 counter-intuitive situation where rcu_read_lock() and 48 memory barriers on weakly ordered machines (pretty much all of [all …]
|
/linux/include/linux/platform_data/ |
H A D | gpmc-omap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2014 Texas Instruments, Inc. - https://www.ti.com 34 /* Chip-select signal timings corresponding to GPMC_CS_CONFIG2 */ 36 u32 cs_rd_off; /* Read deassertion time */ 41 u32 adv_rd_off; /* Read deassertion time */ 44 u32 adv_aad_mux_rd_off; /* ADV read deassertion time for AAD */ 59 u32 access; /* Start-cycle to first data valid delay */ 60 u32 rd_cycle; /* Total read cycle time */ 69 /* The following are only on OMAP3430 */ 95 u32 t_rd_cycle; /* read cycle time */ [all …]
|
/linux/tools/testing/selftests/memfd/ |
H A D | fuse_test.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * memfd GUP test-case 5 * fuse_mnt.c program to provide a fake direct-IO FUSE mount-point for us. This 6 * file-system delays _all_ reads by 1s and forces direct-IO. This means, any 7 * read() on file [all...] |
/linux/arch/arm/mach-omap2/ |
H A D | omap-headsmp.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2009-2014 Texas Instruments, Inc. 10 * Interface functions needed for the SMP. This file is based on arm 21 /* Physical address needed since MMU not enabled yet on secondary core */ 43 wait: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0 label 49 bne wait 58 .arch armv7-a 61 wait_2: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0 84 smc #0 @ read from AuxCoreBoot0 92 * we've been released from the wait loop,secondary_stack [all …]
|
H A D | sleep24xx.S | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * linux/arch/arm/mach-omap2/sleep.S 7 * Richard Woodruff <r-woodruff2@ti.com> 26 * omap24xx_cpu_suspend() - Forces OMAP into deep sleep state by completing 27 * SDRC shutdown then ARM shutdown. Upon wake MPU is back on so just restore 31 * R0 : DLL ctrl value pre-Sleep 35 * The if the DPLL is going to AutoIdle. It seems like the DPLL may be back on 36 * when we get called, but the DLL probably isn't. We will wait a bit more in 37 * case the DPLL isn't quite there yet. The code will wait on DLL for DDR even 40 * For less than 242x-ES2.2 upon wake from a sleep mode where the external [all …]
|
/linux/fs/netfs/ |
H A D | locking.c | 1 // SPDX-License-Identifier: GPL-2.0 13 * inode_dio_wait_interruptible - wait for outstanding DIO requests to finish 14 * @inode: inode to wait for 20 * to i_dio_count, usually by inode->i_mutex. 28 return !inode_dio_finished(inode) ? -ERESTARTSYS : 0; in netfs_inode_dio_wait_interruptible() 31 /* Call with exclusively locked inode->i_rwsem */ 34 if (!test_bit(NETFS_ICTX_ODIRECT, &ictx->flags)) in netfs_block_o_direct() 36 clear_bit(NETFS_ICTX_ODIRECT, &ictx->flags); in netfs_block_o_direct() 37 return netfs_inode_dio_wait_interruptible(&ictx->inode); in netfs_block_o_direct() 41 * netfs_start_io_read - declare the file is being used for buffered reads [all …]
|
/linux/kernel/rcu/ |
H A D | tasks.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * Task-based RCU implementations. 24 * struct rcu_tasks_percpu - Per-CPU component of definition for a Tasks-RCU-like mechanism. 26 * @lock: Lock protecting per-CPU callback list. 29 * @urgent_gp: Number of additional non-lazy grace periods. 30 * @rtp_n_lock_retries: Rough lock-contention statistic. 58 * struct rcu_tasks - Definition for a Tasks-RCU-like mechanism. 59 * @cbs_wait: RCU wait allowing a new callback to get kthread's attention. 61 * @tasks_gp_mutex: Mutex protecting grace period, needed during mid-boot dead zone. 62 * @gp_func: This flavor's grace-period-wait function. [all …]
|
/linux/drivers/mtd/nand/onenand/ |
H A D | onenand_base.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2005-2009 Samsung Electronics 9 * Adrian Hunter <ext-adrian.hunter@nokia.com>: 10 * auto-placement support, read-while load support, various fixes 13 * Flex-OneNAND support 39 /* Default Flex-OneNAND boundary and lock respectively */ 40 static int flex_bdry[MAX_DIES * 2] = { -1, 0, -1, 0 }; 43 MODULE_PARM_DESC(flex_bdry, "SLC Boundary information for Flex-OneNAND" 47 " : 0->Set boundary in unlocked status" 48 " : 1->Set boundary in locked status"); [all …]
|
/linux/Documentation/hwmon/ |
H A D | abituguru-datasheet.rst | 5 First of all, what I know about uGuru is no fact based on any help, hints or 6 datasheet from Abit. The data I have got on uGuru have I assembled through 14 Olle Sandberg <ollebull@gmail.com>, 2005-05-25 19 and extended with write support and info on more databanks, the write support 27 Hans de Goede <j.w.r.degoede@hhs.nl>, 28-01-2006 33 As far as known the uGuru is always placed at and using the (ISA) I/O-ports 34 0xE0 and 0xE4, so we don't have to scan any port-range, just check what the two 35 ports are holding for detection. We will refer to 0xE0 as CMD (command-port) 39 present. We have to check for two different values at data-port, because 41 later on attached again data-port will hold 0x08, more about this later. [all …]
|
/linux/Documentation/RCU/Design/Requirements/ |
H A D | Requirements.rst | 10 `LWN <https://lwn.net/>`_ on those articles: 16 ------------ 18 Read-copy update (RCU) is a synchronization mechanism that is often used 19 as a replacement for reader-writer locking. RCU is unusual in that 20 updaters do not block readers, which means that RCU's read-side 28 thought of as an informal, high-level specification for RCU. It is 40 #. `Fundamental Non-Requirements`_ 42 #. `Quality-of-Implementation Requirements`_ 44 #. `Software-Engineering Requirements`_ 53 ------------------------ [all …]
|
/linux/tools/testing/selftests/mm/ |
H A D | cow.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * COW (Copy On Write) tests. 21 #include <sys/wait.h> 102 for (; size; addr += pagesize, size -= pagesize) in range_is_swapped() 115 if (pipe(comm_pipes->child_ready) < 0) in setup_comm_pipes() 116 return -errno; in setup_comm_pipes() 117 if (pipe(comm_pipes->parent_read in setup_comm_pipes() [all...] |