/openbmc/docs/designs/ |
H A D | phosphor-hwmon-io-uring.md | 7 - Brandon Kim ([brandonkim@google.com](mailto:brandonkim@google.com), brandonk) 8 - William A. Kennington III ([wak@google.com](mailto:wak@google.com), wak) 15 longer than desired. These IO operations are currently synchronous, and 18 [phosphor-hwmon](https://github.com/openbmc/phosphor-hwmon)) that may have this 26 asynchronous IO called AIO, which had its limitations in context of its usage in 30 method for preventing sensors from blocking all other sensor reads and D-Bus if 31 they do not report failures quickly enough in the phosphor-hwmon repository 32 ([link to change](https://gerrit.openbmc.org/c/openbmc/phosphor-hwmon/+/24337)). 42 - [phosphor-hwmon](https://github.com/openbmc/phosphor-hwmon) 43 - [phosphor-nvme](https://github.com/openbmc/phosphor-nvme) [all …]
|
/openbmc/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 …]
|
/openbmc/boost-dbus/include/dbus/ |
H A D | connection_service.hpp | 35 inline explicit connection_service(boost::asio::io_service& io) in connection_service() argument 36 : boost::asio::detail::service_base<connection_service>(io) {} in connection_service() 47 boost::asio::io_service& io = this->get_io_service(); in open() local 49 impl.open(io, address); in open() 53 boost::asio::io_service& io = this->get_io_service(); in open() local 55 impl.open(io, bus); in open() 68 // TODO(ed) rework API to seperate blocking and non blocking sends in send() 82 impl.start(this->get_io_service()); in BOOST_ASIO_INITFN_RESULT_TYPE() 89 this->get_io_service(), in BOOST_ASIO_INITFN_RESULT_TYPE()
|
/openbmc/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 …]
|
/openbmc/qemu/tests/unit/ |
H A D | io-channel-helpers.c | 22 #include "io-channel-helpers.h" 44 qio_channel_writev_all(data->src, in test_io_thread_writer() 45 data->inputv, in test_io_thread_writer() 46 data->niov, in test_io_thread_writer() 47 &data->writeerr); in test_io_thread_writer() 58 qio_channel_readv_all(data->dst, in test_io_thread_reader() 59 data->outputv, in test_io_thread_reader() 60 data->niov, in test_io_thread_reader() 61 &data->readerr); in test_io_thread_reader() 78 data->len = CHUNK_COUNT * CHUNK_LEN; in qio_channel_test_new() [all …]
|
/openbmc/qemu/include/io/ |
H A D | channel.h | 25 #include "qemu/coroutine-core.h" 28 #define TYPE_QIO_CHANNEL "qio-channel" 33 #define QIO_CHANNEL_ERR_BLOCK -2 70 * - Use QOM to properly support arbitrary subclassing 71 * - Support use of iovecs for efficient I/O with multiple blocks 72 * - None of the character set translation, binary data exclusively 73 * - Direct support for QEMU Error object reporting 74 * - File descriptor passing 105 * must be thread-safe, terminate quickly and must not block. 213 * @errp: pointer to a NULL-initialized error object [all …]
|
H A D | channel-command.h | 24 #include "io/channel.h" 27 #define TYPE_QIO_CHANNEL_COMMAND "qio-channel-command" 46 bool blocking; member 55 * @errp: pointer to a NULL-initialized error object
|
/openbmc/qemu/block/ |
H A D | coroutines.h | 30 /* For blk_bs() in generated block/block-gen.c */ 31 #include "sysemu/block-backend.h" 34 * I/O API functions. These functions are thread-safe. 36 * See include/block/block-io.h for more information about 65 nbd_co_do_establish_connection(BlockDriverState *bs, bool blocking, 73 * See include/block/block-io.h for more information about 90 nbd_do_establish_connection(BlockDriverState *bs, bool blocking, Error **errp);
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/qemu/migration/ |
H A D | qemu-file.c | 4 * Copyright (c) 2003-2008 Fabrice Bellard 26 #include "qemu/error-report.h" 29 #include "migration-stats.h" 30 #include "qemu-file.h" 35 #include "io/channel-file.h" 57 * Stop a file from being read/written - not all backing files can do this 69 * there can be a race window where we thought IO all went though in qemu_file_shutdown() 70 * (because last_error==NULL) but actually IO has already stopped. in qemu_file_shutdown() 75 * ------------- ------------ in qemu_file_shutdown() 80 * try to detect IO error in qemu_file_shutdown() [all …]
|
/openbmc/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 …]
|
/openbmc/qemu/io/ |
H A D | channel-command.c | 22 #include "io/channel-command.h" 23 #include "io/channel-util.h" 24 #include "io/channel-watch.h" 35 * @errp: pointer to a NULL-initialized error object 41 * may be -1 to indicate that stream is not open. 59 ioc->readfd = readfd; in qio_channel_command_new_pid() 60 ioc->writefd = writefd; in qio_channel_command_new_pid() 61 ioc->pid = pid; in qio_channel_command_new_pid() 81 int stdinfd = -1, stdoutfd = -1; in qio_channel_command_new_spawn() 91 error_setg(errp, "%s", err->message); in qio_channel_command_new_spawn() [all …]
|
/openbmc/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 …]
|
/openbmc/docs/designs/mctp/ |
H A D | mctp-userspace.md | 20 provides a socket-based interface for other processes to send and receive 24 handling local MCTP-stack configuration, like local EID assignments. 30 2. one or more binding implementations (eg, MCTP-over-serial), which interact 33 3. an interface to handler applications over a unix-domain socket. 38 - an "upper" messaging transmit/receive interface, for tx/rx of a full message 41 - a "lower" hardware binding for transmit/receive of individual packets, 45 The lower interface would be plugged in to one of a number of hardware-specific 47 tree, but others can be plugged-in too, perhaps where the physical layer 48 implementation does not make sense to include in the platform-agnostic library. 54 suit those runtime environments (for example, POSIX IO may not be available on [all …]
|
/openbmc/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 …]
|
/openbmc/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()
|
/openbmc/linux/io_uring/ |
H A D | rw.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/blk-mq.h> 33 return req->flags & REQ_F_SUPPORT_NOWAIT; in io_file_supports_nowait() 42 uiov = u64_to_user_ptr(rw->addr); in io_iov_compat_buffer_select_prep() 44 return -EFAULT; in io_iov_compat_buffer_select_prep() 45 if (__get_user(clen, &uiov->iov_len)) in io_iov_compat_buffer_select_prep() 46 return -EFAULT; in io_iov_compat_buffer_select_prep() 48 return -EINVAL; in io_iov_compat_buffer_select_prep() 50 rw->len = clen; in io_iov_compat_buffer_select_prep() 61 if (rw->len != 1) in io_iov_buffer_select_prep() [all …]
|
/openbmc/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> 114 bool blocking; /* blocking blk-mq device */ member 115 bool use_per_node_hctx; /* use per-node allocation for hardware context */ 121 bool no_sched; /* no IO scheduler for the device */ 166 return -EINVAL; in null_init_zoned_dev() 170 return -ENODEV; in null_register_zoned_dev() 188 return -EOPNOTSUPP; in zone_cond_store()
|
/openbmc/linux/arch/m68k/include/asm/ |
H A D | oplib.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 35 * and usage utility functions. Only prom-lib should use these, 52 /* Map and unmap devices in IO space at virtual addresses. Note that the 65 * of the string is different on V0 vs. V2->higher proms. The caller must 90 * These lists are returned pre-sorted, this should make your life easier 108 /* Enter the prom, with no chance of continuation for the stand-alone 117 * XXX The arguments are different on V0 vs. V2->higher proms, grrr! XXX 139 /* Non-blocking get character from console. */ 142 /* Non-blocking put character to console. */ 145 /* Blocking get character from console. */ [all …]
|
/openbmc/linux/fs/fuse/ |
H A D | file.c | 3 Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu> 32 if (!fm->fc->atomic_o_trunc) in fuse_send_open() 35 if (fm->fc->handle_killpriv_v2 && in fuse_send_open() 66 ff->fm = fm; in fuse_file_alloc() 67 ff->release_args = kzalloc(sizeof(*ff->release_args), in fuse_file_alloc() 69 if (!ff->release_args) { in fuse_file_alloc() 74 INIT_LIST_HEAD(&ff->write_entry); in fuse_file_alloc() 75 mutex_init(&ff->readdir.lock); in fuse_file_alloc() 76 refcount_set(&ff->count, 1); in fuse_file_alloc() 77 RB_CLEAR_NODE(&ff->polled_node); in fuse_file_alloc() [all …]
|
/openbmc/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 …]
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 151 | 38 qemu_img('create', '-f', iotests.imgfmt, source_img, '128M') 39 qemu_img('create', '-f', iotests.imgfmt, target_img, '128M') 43 'node-name': 'source-node', 49 blk_target = {'node-name': 'target-node', 57 self.vm.add_device('virtio-blk,id=vblk,drive=source') 73 'write -P 1 0 %i' % self.image_len); 77 self.vm.hmp_qemu_io('source', 'aio_write -P 2 %i 1M' % offset) 79 self.vm.hmp_qemu_io('source', 'aio_write -z %i 1M' % offset) 82 self.vm.cmd('blockdev-mirror', 84 filter_node_name='mirror-node', [all …]
|
/openbmc/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
|
/openbmc/qemu/util/ |
H A D | aio-posix.c | 10 * the COPYING file in the top-level directory. 12 * Contributions after 2012-01-13 are licensed under the terms of the 18 #include "block/thread-pool.h" 19 #include "qemu/main-loop.h" 26 #include "aio-posix.h" 33 return qatomic_read(&ctx->poll_disable_cnt); in aio_poll_disabled() 41 node->pfd.revents = revents; in aio_add_ready_handler() 49 node->poll_ready = true; in aio_add_poll_ready_handler() 57 QLIST_FOREACH(node, &ctx->aio_handlers, node) { in find_aio_handler() 58 if (node->pfd.fd == fd) { in find_aio_handler() [all …]
|