/linux/arch/sparc/kernel/ |
H A D | viohs.c | 16 #include <asm/vio.h> 18 int vio_ldc_send(struct vio_driver_state *vio, void *data, int len) in vio_ldc_send() argument 24 err = ldc_write(vio->lp, data, len); in vio_ldc_send() 34 static int send_ctrl(struct vio_driver_state *vio, in send_ctrl() argument 37 tag->sid = vio_send_sid(vio); in send_ctrl() 38 return vio_ldc_send(vio, tag, len); in send_ctrl() 48 static int send_version(struct vio_driver_state *vio, u16 major, u16 minor) in send_version() argument 52 vio->_local_sid = (u32) sched_clock(); in send_version() 58 pkt.dev_class = vio->dev_class; in send_version() 61 major, minor, vio->dev_class); in send_version() [all …]
|
H A D | vio.c | 2 /* vio.c: Virtual I/O channel devices probing infrastructure. 20 #include <asm/vio.h> 53 add_uevent_var(env, "MODALIAS=vio:T%sS%s", vio_dev->type, vio_dev->compat); in vio_hotplug() 140 return sprintf(buf, "vio:T%sS%s\n", vdev->type, vdev->compat); in modalias_show() 153 .name = "vio", 309 printk(KERN_ERR "VIO: Type string [%s] is too long.\n", in vio_create_one() 322 printk(KERN_ERR "VIO: Compat len %d for [%s] is too long.\n", in vio_create_one() 329 printk(KERN_ERR "VIO: Could not allocate vio_dev\n"); in vio_create_one() 387 pr_err("VIO: Could not get MD node info %s, err=%d\n", in vio_create_one() 394 pr_info("VIO: Adding device %s (tx_ino = %llx, rx_ino = %llx)\n", in vio_create_one() [all …]
|
/linux/drivers/md/dm-vdo/ |
H A D | vio.h | 25 /* The underlying vio */ 26 struct vio vio; member 36 * as_vio() - Convert a generic vdo_completion to a vio. 39 * Return: The completion as a vio. 41 static inline struct vio *as_vio(struct vdo_completion *completion) in as_vio() 44 return container_of(completion, struct vio, completion); in as_vio() 48 * get_vio_bio_zone_thread_id() - Get the thread id of the bio zone in which a vio should submit 50 * @vio: The vio. 52 * Return: The id of the bio zone thread the vio should use. 54 static inline thread_id_t __must_check get_vio_bio_zone_thread_id(struct vio *vio) in get_vio_bio_zone_thread_id() argument [all …]
|
H A D | vio.c | 6 #include "vio.h" 43 struct vio *vio = bio->bi_private; in pbn_from_vio_bio() local 44 struct vdo *vdo = vio->completion.vdo; in pbn_from_vio_bio() 80 unsigned int block_count, char *data, struct vio *vio) in allocate_vio_components() argument 100 initialize_vio(vio, bio, block_count, vio_type, priority, vdo); in allocate_vio_components() 101 vio->completion.parent = parent; in allocate_vio_components() 102 vio->data = data; in allocate_vio_components() 107 * create_multi_block_metadata_vio() - Create a vio. 108 * @vdo: The vdo on which the vio will operate. 109 * @vio_type: The type of vio to create. [all …]
|
H A D | data-vio.h | 26 #include "vio.h" 29 /* Codes for describing the last asynchronous operation performed on a vio. */ 78 /* The queue of waiters for the page this vio is allocating or loading */ 133 /* A vio which is blocked in the packer while holding a lock this vio needs. */ 148 /* The block allocated to this vio */ 163 /* Whether this vio should wait for a clean slab */ 175 /* A vio for processing user data requests. */ 189 /* The hash of this vio (if not zero) */ 212 * Whether this vio has received an allocation. This field is examined from threads not in 217 /* The new partition address of this block after the vio write completes */ [all …]
|
H A D | io-submitter.h | 27 void __submit_metadata_vio(struct vio *vio, physical_block_number_t physical, 31 static inline void vdo_submit_metadata_vio(struct vio *vio, physical_block_number_t physical, in vdo_submit_metadata_vio() argument 35 __submit_metadata_vio(vio, physical, callback, error_handler, in vdo_submit_metadata_vio() 36 operation, vio->data); in vdo_submit_metadata_vio() 39 static inline void vdo_submit_flush_vio(struct vio *vio, bio_end_io_t callback, in vdo_submit_flush_vio() argument 43 __submit_metadata_vio(vio, 0, callback, error_handler, in vdo_submit_flush_vio()
|
H A D | block-map.c | 20 #include "data-vio.h" 29 #include "vio.h" 94 struct pooled_vio *vio; member 194 get_page_buffer(info), &info->vio); in initialize_info() 199 info->vio->completion.callback_thread_id = cache->zone->thread_id; in initialize_info() 665 * @completion: The page read vio. 691 * @completion: The vio which has loaded the page. Its parent is the page_info. 755 struct vio *vio = bio->bi_private; in load_cache_page_endio() local 756 struct page_info *info = vio->completion.parent; in load_cache_page_endio() 758 continue_vio_after_io(vio, page_is_loaded, info->cache->zone->thread_id); in load_cache_page_endio() [all …]
|
H A D | recovery-journal.h | 43 * has a vio which is used to commit that block to disk. The vio's data is the on-disk 52 * committed, the requesting VIO will be attached to the in-memory block to which the caller's 57 * to the block's vio which is then written, automatically waking all of the waiters when it 59 * the vio's data buffer. 70 * in-memory block map page is updated, it checks if the journal block for the VIO is earlier than 78 * If there is no in-memory space when a VIO attempts to add an entry, the VIO will be attached to 80 * no on-disk space when a VIO attempts to add an entry, the VIO will be attached to the 125 /* The vio for writing this block */ 126 struct vio vio; member 176 /* The journal point of the vio most recently released from the journal */ [all …]
|
H A D | slab-depot.c | 25 #include "data-vio.h" 35 #include "vio.h" 276 * @completion: The write vio. 281 container_of(as_vio(completion), struct slab_summary_block, vio); in finish_update() 289 * @completion: The write VIO. 294 container_of(as_vio(completion), struct slab_summary_block, vio); in handle_write_error() 303 struct vio *vio = bio->bi_private; in write_slab_summary_endio() local 305 container_of(vio, struct slab_summary_block, vio); in write_slab_summary_endio() 307 continue_vio_after_io(vio, finish_update, block->allocator->thread_id); in write_slab_summary_endio() 346 vdo_submit_metadata_vio(&block->vio, pbn, write_slab_summary_endio, in launch_write() [all …]
|
H A D | dump.c | 14 #include "data-vio.h" 162 vdo_log_info(" %s is locked. Waited on by: vio %px pbn %llu lbn %llu d-pbn %llu lastOp %s", in dump_vio_waiters() 168 vdo_log_info(" ... and : vio %px pbn %llu lbn %llu d-pbn %llu lastOp %s", in dump_vio_waiters() 179 * R => vio completion result not VDO_SUCCESS 180 * W => vio is on a waitq 181 * D => vio is a duplicate 182 * p => vio is a partial block operation 183 * z => vio is a zero block 184 * d => vio is a discard 193 if (data_vio->vio.completion.result != VDO_SUCCESS) in encode_vio_dump_flags() [all …]
|
H A D | vdo.c | 48 #include "data-vio.h" 60 #include "vio.h" 274 struct vio *vio; in read_geometry_block() local 283 block, &vio); in read_geometry_block() 294 result = vio_reset_bio(vio, block, NULL, REQ_OP_READ, in read_geometry_block() 297 free_vio(vdo_forget(vio)); in read_geometry_block() 302 bio_set_dev(vio->bio, vdo_get_backing_device(vdo)); in read_geometry_block() 303 submit_bio_wait(vio->bio); in read_geometry_block() 304 result = blk_status_to_errno(vio->bio->bi_status); in read_geometry_block() 305 free_vio(vdo_forget(vio)); in read_geometry_block() [all …]
|
H A D | types.h | 336 /* vio types for statistics and instrumentation. */ 351 /* Priority levels for asynchronous I/O operations performed on a vio. */ 363 struct vio { struct 364 /* The completion for this vio */ 370 /* The queueing priority of the vio operation */ argument 373 /* The vio type is used for statistics and instrumentation. */ 376 /* The size of this vio in blocks */ 382 /* The VDO-owned bio to use for all IO for this vio */ argument 387 * the first-enqueued vio. The other vios are found via their bio entries in this list, and argument
|
H A D | slab-depot.h | 17 #include "data-vio.h" 24 #include "vio.h" 46 /* The number of vios in the vio pool is proportional to the throughput of the VDO. */ 68 /* A waiter object for getting a VIO pool entry */ 72 /* A waiter object for getting a vio with which to flush */ 120 /* A list of the VIO pool entries for outstanding journal block writes */ 294 /* The vio for loading slab journal blocks */ 295 struct vio vio; member 355 /* The vio used to write this block */ 356 struct vio vio; member [all …]
|
/linux/drivers/block/ |
H A D | sunvdc.c | 21 #include <asm/vio.h> 57 struct vio_driver_state vio; member 95 static inline struct vdc_port *to_vdc_port(struct vio_driver_state *vio) in to_vdc_port() argument 97 return container_of(vio, struct vdc_port, vio); in to_vdc_port() 110 return port->vio.ver.major == major && port->vio.ver.minor >= minor; in vdc_version_supported() 181 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_blk_queue_start() 191 static void vdc_finish(struct vio_driver_state *vio, int err, int waiting_for) in vdc_finish() argument 193 if (vio->cmp && in vdc_finish() 195 vio->cmp->waiting_for == waiting_for)) { in vdc_finish() 196 vio->cmp->err = err; in vdc_finish() [all …]
|
/linux/drivers/net/ethernet/sun/ |
H A D | sunvnet_common.c | 32 #include <asm/vio.h> 62 ldc_disconnect(port->vio.lp); in vnet_handle_unknown() 69 int sunvnet_send_attr_common(struct vio_driver_state *vio) in sunvnet_send_attr_common() argument 71 struct vnet_port *port = to_vnet_port(vio); in sunvnet_send_attr_common() 77 err = vnet_port_alloc_tx_ring(to_vnet_port(vio)); in sunvnet_send_attr_common() 85 pkt.tag.sid = vio_send_sid(vio); in sunvnet_send_attr_common() 86 if (vio_version_before(vio, 1, 2)) in sunvnet_send_attr_common() 94 if (vio_version_after(vio, 1, 3)) { in sunvnet_send_attr_common() 102 if (vio_version_after_eq(vio, 1, 6)) in sunvnet_send_attr_common() 104 } else if (vio_version_before(vio, 1, 3)) { in sunvnet_send_attr_common() [all …]
|
H A D | sunvnet_common.h | 16 #define VNET_MINTSO 2048 /* VIO protocol's minimum TSO len */ 17 #define VNET_MAXTSO 65535 /* VIO protocol's maximum TSO len */ 59 struct vio_driver_state vio; member 93 static inline struct vnet_port *to_vnet_port(struct vio_driver_state *vio) in to_vnet_port() argument 95 return container_of(vio, struct vnet_port, vio); in to_vnet_port() 147 int sunvnet_send_attr_common(struct vio_driver_state *vio); 148 int sunvnet_handle_attr_common(struct vio_driver_state *vio, void *arg); 149 void sunvnet_handshake_complete_common(struct vio_driver_state *vio);
|
H A D | ldmvsw.c | 30 #include <asm/vio.h> 130 struct vio_driver_state *vio = &port->vio; in ldmvsw_open() local 133 vio_link_state_change(vio, LDC_EVENT_RESET); in ldmvsw_open() 135 vio_port_up(vio); in ldmvsw_open() 347 err = vio_driver_init(&port->vio, vdev, VDEV_NETWORK, in vsw_port_probe() 353 err = vio_ldc_alloc(&port->vio, &vsw_ldc_cfg, port); in vsw_port_probe() 378 vio_port_up(&port->vio); in vsw_port_probe() 398 vio_ldc_free(&port->vio); in vsw_port_probe() 411 del_timer_sync(&port->vio.timer); in vsw_port_remove() 425 vio_ldc_free(&port->vio); in vsw_port_remove() [all …]
|
/linux/arch/sparc/include/asm/ |
H A D | vio.h | 119 /* VIO disk specific structures and defines */ 212 /* VIO net specific structures and defines */ 379 int (*send_attr)(struct vio_driver_state *vio); 380 int (*handle_attr)(struct vio_driver_state *vio, void *pkt); 381 void (*handshake_complete)(struct vio_driver_state *vio); 391 /* Protects VIO handshake and, optionally, driver private state. */ 444 static inline bool vio_version_before(struct vio_driver_state *vio, in vio_version_before() argument 447 u32 have = (u32)vio->ver.major << 16 | vio->ver.minor; in vio_version_before() 453 static inline bool vio_version_after(struct vio_driver_state *vio, in vio_version_after() argument 456 u32 have = (u32)vio->ver.major << 16 | vio->ver.minor; in vio_version_after() [all …]
|
/linux/drivers/tty/ |
H A D | vcc.c | 15 #include <asm/vio.h> 23 struct vio_driver_state vio; member 256 struct vio_driver_state *vio = &port->vio; in vcc_kick_rx() local 261 disable_irq_nosync(vio->vdev->rx_irq); in vcc_kick_rx() 308 struct vio_driver_state *vio = &port->vio; in vcc_ldc_read() local 315 rv = ldc_rx_reset(vio->lp); in vcc_ldc_read() 327 vccdbgl(vio->lp); in vcc_ldc_read() 329 rv = ldc_read(vio->lp, &pkt, sizeof(pkt)); in vcc_ldc_read() 360 struct vio_driver_state *vio; in vcc_rx_timer() local 367 vio = &port->vio; in vcc_rx_timer() [all …]
|
/linux/Documentation/devicetree/bindings/iio/adc/ |
H A D | adi,ad4000.yaml | 70 maximum: 102040816 # for VIO > 2.7 V, 81300813 for VIO > 1.7 V 79 pin is hard-wired to logic high (VIO). "low" indicates that it is 88 vio-supply: 90 A 1.8V to 5.5V supply for the digital inputs and outputs (VIO). 132 - vio-supply 150 maximum: 50000000 # for VIO > 2.7 V, 40000000 for VIO > 1.7 V 177 vio-supply = <&supply_1_8V>; 192 vio-supply = <&supply_1_8V>;
|
/linux/drivers/iio/light/ |
H A D | gp2ap002.c | 131 * @vio: regulator controlling VIO 144 struct regulator *vio; member 524 gp2ap002->vio = devm_regulator_get(dev, "vio"); in gp2ap002_probe() 525 if (IS_ERR(gp2ap002->vio)) in gp2ap002_probe() 526 return dev_err_probe(dev, PTR_ERR(gp2ap002->vio), in gp2ap002_probe() 527 "failed to get VIO regulator\n"); in gp2ap002_probe() 536 /* VIO should be between 1.65V and VDD */ in gp2ap002_probe() 542 ret = regulator_set_voltage(gp2ap002->vio, 1650000, ret); in gp2ap002_probe() 544 dev_err(dev, "failed to set VIO voltage\n"); in gp2ap002_probe() 553 ret = regulator_enable(gp2ap002->vio); in gp2ap002_probe() [all …]
|
/linux/Documentation/devicetree/bindings/media/ |
H A D | si4713.txt | 16 - vio-supply: phandle for Vio regulator 27 vio-supply = <&vio>;
|
/linux/drivers/net/wireless/ti/wl1251/ |
H A D | spi.c | 301 wl->vio = devm_regulator_get(&spi->dev, "vio"); in wl1251_spi_probe() 302 if (IS_ERR(wl->vio)) { in wl1251_spi_probe() 303 ret = PTR_ERR(wl->vio); in wl1251_spi_probe() 304 wl1251_error("vio regulator missing: %d", ret); in wl1251_spi_probe() 308 ret = regulator_enable(wl->vio); in wl1251_spi_probe() 319 regulator_disable(wl->vio); in wl1251_spi_probe() 331 regulator_disable(wl->vio); in wl1251_spi_remove()
|
/linux/Documentation/devicetree/bindings/net/wireless/ |
H A D | ti,wl1251.txt | 11 - vio-supply : phandle to regulator providing VIO 35 vio-supply = <&vio>;
|
/linux/Documentation/devicetree/bindings/input/touchscreen/ |
H A D | ti,tsc2005.yaml | 48 vio-supply: 86 vio-supply = <&vio>; 113 vio-supply = <&vio>;
|