/linux/Documentation/block/ |
H A D | null_blk.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 block-layer implementations. It emulates a block device of X gigabytes in size. 15 Multi-queue block-layer 17 - Request-based. 18 - Configurable submission queues per device. 20 No block-layer (Known as bio-based) 22 - Bio-based. IO requests are submitted directly to the device driver. 23 - Directly accepts bio data structure and returns them. 30 queue_mode=[0-2]: Default: 2-Multi-queue 31 Selects which block-layer the module should instantiate with. [all …]
|
/linux/Documentation/devicetree/bindings/hwmon/ |
H A D | sensirion,shtc1.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Christopher Ruehl chris.ruehl@gtsys.com.hk 14 designed especially for battery-driven high-volume consumer electronics 24 - sensirion,shtc1 25 - sensirion,shtw1 26 - sensirion,shtc3 31 sensirion,blocking-io: 36 sensirion,low-precision: [all …]
|
/linux/arch/m68k/sun3/prom/ |
H A D | console.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * console.c: Routines that deal with sending and receiving IO 16 /* Non blocking get character from console input device, returns -1 22 int i = -1; in prom_nbgetchar() 26 i = (*(romvec->pv_nbgetchar))(); in prom_nbgetchar() 31 /* Non blocking put character to console device, returns -1 if 38 int i = -1; in prom_nbputchar() 41 i = (*(romvec->pv_nbputchar))(c); in prom_nbputchar() 46 /* Blocking version of get character routine above. */ 51 while((character = prom_nbgetchar()) == -1) ; in prom_getchar() [all …]
|
/linux/kernel/sched/ |
H A D | completion.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Generic wait-for-completion handler; 7 * wait_for_completion default blocks whereas semaphore default non-block. The 20 raw_spin_lock_irqsave(&x->wait.lock, flags); in complete_with_flags() 22 if (x->done != UINT_MAX) in complete_with_flags() 23 x->done++; in complete_with_flags() 24 swake_up_locked(&x->wait, wake_flags); in complete_with_flags() 25 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in complete_with_flags() 34 * complete: - signals a single thread waiting on this completion 52 * complete_all: - signals all threads waiting on this completion [all …]
|
/linux/Documentation/gpu/ |
H A D | vgaarbiter.rst | 7 implemented on PCI will typically have the same "hard-decoded" addresses as 8 they did on ISA. For more details see "PCI Bus Binding to IEEE Std 1275-1994 14 than one legacy device co-exists on the same machine. But the problem happens 23 --------------------------- 46 An IO state string is of the form {io,mem,io+mem,none}, mc and 47 ic are respectively mem and io lock counts (for debugging/ 51 unplugged, we get "invalid" then for card_ID and an -ENODEV 63 non-blocking acquire locks on target (returns EBUSY if 90 In the case of devices hot-{un,}plugged, there is a hook - pci_notify() - to 94 There is also an in-kernel API of the arbiter in case DRM, vgacon, or other [all …]
|
/linux/Documentation/core-api/ |
H A D | gfp_mask-from-fs-io.rst | 4 GFP masks used from FS/IO context 13 Code paths in the filesystem and IO stacks must be careful when 15 memory reclaim calling back into the FS or IO paths and blocking on 16 already held resources (e.g. locks - most commonly those used for the 25 of GFP_NOFS/GFP_NOIO can lead to memory over-reclaim or other memory 36 mask so no memory allocation can recurse back in the FS/IO. 38 .. kernel-doc:: include/linux/sched/mm.h 40 .. kernel-doc:: include/linux/sched/mm.h 43 FS/IO code then simply calls the appropriate save function before 44 any critical section with respect to the reclaim is started - e.g. [all …]
|
H A D | memory-allocation.rst | 35 :ref:`Documentation/core-api/mm-api.rst <mm-api-gfp-flags>` provides 47 IO or filesystem operations. Consequently, under memory pressure 76 back into the FS or IO paths and blocking on already held 79 :ref:`Documentation/core-api/gfp_mask-from-fs-io.rst <gfp_mask_from_fs_io>`. 89 ------------------------------ 94 * ``GFP_KERNEL & ~__GFP_RECLAIM`` - optimistic allocation without _any_ 100 * ``GFP_KERNEL & ~__GFP_DIRECT_RECLAIM`` (or ``GFP_NOWAIT``)- optimistic 107 * ``(GFP_KERNEL|__GFP_HIGH) & ~__GFP_DIRECT_RECLAIM`` (aka ``GFP_ATOMIC``) - 109 some portion of memory reserves. Usually used from interrupt/bottom-half 112 * ``GFP_KERNEL`` - both background and direct reclaim are allowed and the [all …]
|
/linux/drivers/hwmon/ |
H A D | shtc1.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 13 #include <linux/hwmon-sysfs.h> 41 /* delays for non-blocking i2c commands, both in us */ 75 int ret = i2c_master_send(client, data->command, SHTC1_CMD_LENGTH); in shtc1_update_values() 77 dev_err(&client->dev, "failed to send command: %d\n", ret); in shtc1_update_values() 78 return ret < 0 ? ret : -EIO; in shtc1_update_values() 82 * In blocking mode (clock stretching mode) the I2C bus in shtc1_update_values() 84 * will wait until the data is ready. For non blocking mode, we in shtc1_update_values() 87 if (!data->setup.blocking_io) in shtc1_update_values() 88 usleep_range(data->nonblocking_wait_time, in shtc1_update_values() [all …]
|
/linux/arch/sparc/prom/ |
H A D | console_32.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * console.c: Routines that deal with sending and receiving IO 19 /* Non blocking put character to console device, returns -1 if 25 int i = -1; in prom_nbputchar() 30 if ((*(romvec->pv_nbputchar))(*buf)) in prom_nbputchar() 35 if ((*(romvec->pv_v2devops).v2_dev_write)(*romvec->pv_v2bootargs.fd_stdout, in prom_nbputchar() 53 len--; in prom_console_write_buf()
|
/linux/io_uring/ |
H A D | rw.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/blk-mq.h> 37 if (req->flags & REQ_F_SUPPORT_NOWAIT) in io_file_supports_nowait() 43 return vfs_poll(req->file, &pt) & mask; in io_file_supports_nowait() 55 uiov = u64_to_user_ptr(rw->addr); in io_iov_compat_buffer_select_prep() 57 return -EFAULT; in io_iov_compat_buffer_select_prep() 58 if (__get_user(clen, &uiov->iov_len)) in io_iov_compat_buffer_select_prep() 59 return -EFAULT; in io_iov_compat_buffer_select_prep() 61 return -EINVAL; in io_iov_compat_buffer_select_prep() 63 rw->len = clen; in io_iov_compat_buffer_select_prep() [all …]
|
/linux/drivers/block/null_blk/ |
H A D | null_blk.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/blk-mq.h> 14 #include <linux/fault-inject.h> 98 bool blocking; /* blocking blk-mq device */ member 99 bool use_per_node_hctx; /* use per-node allocation for hardware context */ 106 bool no_sched; /* no IO scheduler for the device */ 107 bool shared_tags; /* share tag set between devices for blk-mq */ 151 return -EINVAL; in null_init_zoned_dev() 155 return -ENODEV; in null_register_zoned_dev() 173 return -EOPNOTSUPP; in zone_cond_store()
|
H A D | main.c | 1 // SPDX-License-Identifier: GPL-2.0-only 39 * CACHE: Device is using a write-back cache. 65 #define NULLB_PAGE_LOCK (MAP_SZ - 1) 66 #define NULLB_PAGE_FREE (MAP_SZ - 2) 86 MODULE_PARM_DESC(no_sched, "No io scheduler"); 103 * Documentation/fault-injection/fault-injection.rst. 138 return -EINVAL; in null_param_store_val() 141 return -EINVAL; in null_param_store_val() 177 module_param_named(blocking, g_blocking, bool, 0444); 178 MODULE_PARM_DESC(blocking, "Register as a blocking blk-mq driver device"); [all …]
|
/linux/arch/m68k/include/asm/ |
H A D | oplib.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 37 * and usage utility functions. Only prom-lib should use these, 54 /* Map and unmap devices in IO space at virtual addresses. Note that the 67 * of the string is different on V0 vs. V2->higher proms. The caller must 92 * These lists are returned pre-sorted, this should make your life easier 110 /* Enter the prom, with no chance of continuation for the stand-alone 119 * XXX The arguments are different on V0 vs. V2->higher proms, grrr! XXX 141 /* Non-blocking get character from console. */ 144 /* Non-blocking put character to console. */ 147 /* Blocking get character from console. */ [all …]
|
/linux/Documentation/devicetree/bindings/power/supply/ |
H A D | sbs,sbs-battery.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/power/supply/sbs,sbs-battery.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Sebastian Reichel <sre@kernel.org> 16 - $ref: power-supply.yaml# 21 - items: 22 - enum: 23 - ti,bq20z45 24 - ti,bq20z65 [all …]
|
/linux/fs/fuse/ |
H A D | file.c | 3 Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu> 34 if (!fm->fc->atomic_o_trunc) in fuse_send_open() 37 if (fm->fc->handle_killpriv_v2 && in fuse_send_open() 62 ff->fm = fm; in fuse_file_alloc() 64 ff->args = kzalloc(sizeof(*ff->args), GFP_KERNEL_ACCOUNT); in fuse_file_alloc() 65 if (!ff->args) { in fuse_file_alloc() 71 INIT_LIST_HEAD(&ff->write_entry); in fuse_file_alloc() 72 refcount_set(&ff->count, 1); in fuse_file_alloc() 73 RB_CLEAR_NODE(&ff->polled_node); in fuse_file_alloc() 74 init_waitqueue_head(&ff->poll_wait); in fuse_file_alloc() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_map.h | 1 /* SPDX-License-Identifier: MIT */ 9 #include <linux/iosys-map.h> 18 * of :ref:`driver-api/device-io:Generalizing Access to System and I/O Memory` 20 * accesses (e.g. for blocking runtime_pm D3Cold on Discrete Graphics). 52 if (map->is_iomem) in xe_map_read32() 53 return readl(map->vaddr_iomem); in xe_map_read32() 55 return READ_ONCE(*(u32 *)map->vaddr); in xe_map_read32() 63 if (map->is_iomem) in xe_map_write32() 64 writel(val, map->vaddr_iomem); in xe_map_write32() 66 *(u32 *)map->vaddr = val; in xe_map_write32()
|
/linux/drivers/media/usb/dvb-usb/ |
H A D | dibusb.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* Header file for all dibusb-based-receivers. 4 * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de) 6 * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information 14 #include "dvb-usb.h" 65 /* interrupt the internal read loop, when blocking */ 68 /* io control
|
/linux/Documentation/filesystems/iomap/ |
H A D | design.rst | 1 .. SPDX-License-Identifier: GPL-2.0 78 1. Obtain a space mapping via ``->iomap_begin`` 80 2. For each sub-unit of work... 89 4. Release the mapping via ``->iomap_end``, if necessary 105 ----------- 127 device pre-shutdown hook from returning before other threads have 147 constraints on IO alignment or size. 152 ---------------- 158 .. code-block:: c 193 ``->iomap_end`` function must delete the reservation. [all …]
|
/linux/drivers/misc/mei/ |
H A D | mei_dev.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2003-2022, Intel Corporation. All rights reserved. 44 #define MEI_MAX_OPEN_HANDLE_COUNT (MEI_CLIENTS_MAX - 1) 71 * enum mei_dev_pxp_mode - MEI PXP mode state 86 * enum mei_dev_reset_to_pxp - reset to PXP mode performed 107 * enum mei_cb_file_ops - file operation associated with the callback 131 * enum mei_cl_io_mode - io mode between driver and fw 133 * @MEI_CL_IO_TX_BLOCKING: send is blocking 136 * @MEI_CL_IO_RX_NONBLOCK: recv is non-blocking 165 * struct mei_dma_dscr - dma address descriptor [all …]
|
/linux/fs/btrfs/ |
H A D | direct-io.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include "delalloc-space.h" 7 #include "direct-io.h" 8 #include "extent-tree.h" 39 struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree; in lock_extent_direct() 46 return -EAGAIN; in lock_extent_direct() 55 ret = -EAGAIN; in lock_extent_direct() 67 lockend - lockstart + 1); in lock_extent_direct() 77 (!writing || !filemap_range_has_page(inode->i_mapping, in lock_extent_direct() 86 ret = -EAGAIN; in lock_extent_direct() [all …]
|
/linux/drivers/pci/ |
H A D | vgaarb.c | 1 // SPDX-License-Identifier: MIT 48 unsigned int io_lock_cnt; /* legacy IO lock count */ 50 unsigned int io_norm_cnt; /* normal IO count */ 69 return "io+mem"; in vga_iostate_to_str() 71 return "io"; in vga_iostate_to_str() 81 * In theory, we could hand out locks on IO and MEM separately to in vga_str_to_iostate() 90 if (strncmp(buf, "io+mem", 6) == 0) in vga_str_to_iostate() 92 else if (strncmp(buf, "io", 2) == 0) in vga_str_to_iostate() 111 if (pdev == vgadev->pdev) in vgadev_find() 117 * vga_default_device - return the default VGA device, for vgacon [all …]
|
/linux/fs/bcachefs/ |
H A D | six.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 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); 30 * six_unlock_intent(&foo->lock); 42 * six_lock_type(&foo->lock, SIX_LOCK_read); 43 * six_trylock_convert(&foo->lock, SIX_LOCK_read, SIX_LOCK_intent) 44 * six_lock_type(&foo->lock, SIX_LOCK_write); [all …]
|
/linux/Documentation/scheduler/ |
H A D | schedutil.rst | 15 individual tasks to task-group slices to CPU runqueues. As the basis for this 31 Note that blocked tasks still contribute to the aggregates (task-group slices 57 r_dvfs := ----- 61 hardware counters (Intel APERF/MPERF, ARMv8.4-AMU) to provide us this ratio. 65 f_cur := ----- * P0 68 4C-turbo; if available and turbo enabled 69 f_max := { 1C-turbo; if turbo enabled 73 r_dvfs := min( 1, ----- ) 88 - kernel/sched/pelt.h:update_rq_clock_pelt() 89 - arch/x86/kernel/smpboot.c:"APERF/MPERF frequency ratio computation." [all …]
|
/linux/drivers/clk/hisilicon/ |
H A D | clk-hi3660-stub.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2013-2017 Hisilicon Limited. 13 #include <linux/clk-provider.h> 17 #include <linux/io.h> 22 #include <dt-bindings/clock/hi3660-clock.h> 66 stub_clk->rate = readl(freq_reg + (stub_clk->id << 2)) * MHZ; in hi3660_stub_clk_recalc_rate() 67 return stub_clk->rate; in hi3660_stub_clk_recalc_rate() 85 stub_clk->msg[0] = stub_clk->cmd; in hi3660_stub_clk_set_rate() 86 stub_clk->msg[1] = rate / MHZ; in hi3660_stub_clk_set_rate() 89 stub_clk->msg[0], stub_clk->msg[1]); in hi3660_stub_clk_set_rate() [all …]
|
/linux/sound/pci/mixart/ |
H A D | mixart.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 61 /* memory-maps */ 64 /* one and only blocking message or notification may be pending */ 126 …last absolute stream position where period_elapsed was called (multiple of runtime->period_size) */ 127 u32 buf_periods; /* periods counter in the buffer (< runtime->periods) */ 128 …ag; /* defines with buf_period_pos the exact position in the buffer (< runtime->period_size) */ 172 /* UID's for the physical io's */
|