| /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. 21 #include <asm/vio.h> 54 add_uevent_var(env, "MODALIAS=vio:T%sS%s", vio_dev->type, vio_dev->compat); in vio_hotplug() 141 return sprintf(buf, "vio:T%sS%s\n", vdev->type, vdev->compat); in modalias_show() 154 .name = "vio", 310 printk(KERN_ERR "VIO: Type string [%s] is too long.\n", in vio_create_one() 323 printk(KERN_ERR "VIO: Compat len %d for [%s] is too long.\n", in vio_create_one() 330 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 33 /* The pool this vio is allocated from */ 38 * as_vio() - Convert a generic vdo_completion to a vio. 41 * Return: The completion as a vio. 43 static inline struct vio *as_vio(struct vdo_completion *completion) in as_vio() 46 return container_of(completion, struct vio, completion); in as_vio() 50 * get_vio_bio_zone_thread_id() - Get the thread id of the bio zone in which a vio should submit 52 * @vio: The vio. 54 * Return: The id of the bio zone thread the vio should use. [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 123 struct vio *vio; create_multi_block_metadata_vio() local 153 free_vio_components(struct vio * vio) free_vio_components() argument 166 free_vio(struct vio * vio) free_vio() argument 173 vdo_set_bio_properties(struct bio * bio,struct vio * vio,bio_end_io_t callback,blk_opf_t bi_opf,physical_block_number_t pbn) vdo_set_bio_properties() argument 194 vio_reset_bio(struct vio * vio,char * data,bio_end_io_t callback,blk_opf_t bi_opf,physical_block_number_t pbn) vio_reset_bio() argument 201 vio_reset_bio_with_size(struct vio * vio,char * data,int size,bio_end_io_t callback,blk_opf_t bi_opf,physical_block_number_t pbn) vio_reset_bio_with_size() argument 255 update_vio_error_stats(struct vio * vio,const char * format,...) update_vio_error_stats() argument 286 vio_record_metadata_io_error(struct vio * vio) vio_record_metadata_io_error() argument 437 return_vio_to_pool(struct pooled_vio * vio) return_vio_to_pool() argument 492 count_all_bios_completed(struct vio * vio,struct bio * bio) count_all_bios_completed() argument 510 struct vio *vio = (struct vio *) bio->bi_private; vdo_count_completed_bios() local [all...] |
| H A D | io-submitter.c | 15 #include "data-vio.h" 19 #include "vio.h" 71 * @vio: The vio associated with the bio. 74 static void count_all_bios(struct vio *vio, struct bio *bio) in count_all_bios() argument 76 struct atomic_statistics *stats = &vio->completion.vdo->stats; in count_all_bios() 78 if (is_data_vio(vio)) { in count_all_bios() 84 if (vio->type == VIO_TYPE_RECOVERY_JOURNAL) in count_all_bios() 86 else if (vio in count_all_bios() 95 assert_in_bio_zone(struct vio * vio) assert_in_bio_zone() argument 107 send_bio_to_device(struct vio * vio,struct bio * bio) send_bio_to_device() argument 125 struct vio *vio = as_vio(completion); vdo_submit_vio() local 139 get_bio_list(struct vio * vio) get_bio_list() argument 169 struct vio *vio = as_vio(completion); submit_data_vio() local 191 get_mergeable_locked(struct int_map * map,struct vio * vio,bool back_merge) get_mergeable_locked() argument 226 map_merged_vio(struct int_map * bio_map,struct vio * vio) map_merged_vio() argument 240 merge_to_prev_tail(struct int_map * bio_map,struct vio * vio,struct vio * prev_vio) merge_to_prev_tail() argument 248 merge_to_next_head(struct int_map * bio_map,struct vio * vio,struct vio * next_vio) merge_to_next_head() argument 269 try_bio_map_merge(struct vio * vio) try_bio_map_merge() argument 342 __submit_metadata_vio(struct vio * vio,physical_block_number_t physical,bio_end_io_t callback,vdo_action_fn error_handler,blk_opf_t operation,char * data,int size) __submit_metadata_vio() argument [all...] |
| H A D | io-submitter.h | 28 void __submit_metadata_vio(struct vio *vio, physical_block_number_t physical, 32 static inline void vdo_submit_metadata_vio(struct vio *vio, physical_block_number_t physical, in vdo_submit_metadata_vio() argument 36 __submit_metadata_vio(vio, physical, callback, error_handler, in vdo_submit_metadata_vio() 37 operation, vio->data, vio->block_count * VDO_BLOCK_SIZE); in vdo_submit_metadata_vio() 40 static inline void vdo_submit_metadata_vio_with_size(struct vio *vio, in vdo_submit_metadata_vio_with_size() argument 47 __submit_metadata_vio(vio, physica in vdo_submit_metadata_vio_with_size() 51 vdo_submit_flush_vio(struct vio * vio,bio_end_io_t callback,vdo_action_fn error_handler) vdo_submit_flush_vio() argument [all...] |
| H A D | block-map.c | 20 #include "data-vio.h" 29 #include "vio.h" 94 struct pooled_vio *vio; member 195 get_page_buffer(info), &info->vio); in initialize_info() 200 info->vio->completion.callback_thread_id = cache->zone->thread_id; in initialize_info() 677 * @completion: The page read vio. 703 * @completion: The vio which has loaded the page. Its parent is the page_info. 767 struct vio *vio = bio->bi_private; in load_cache_page_endio() 768 struct page_info *info = vio in load_cache_page_endio() local 821 struct vio *vio = bio->bi_private; flush_endio() local 831 struct vio *vio; save_pages() local 1050 struct vio *vio = bio->bi_private; write_cache_page_endio() local 1565 return_to_pool(struct block_map_zone * zone,struct pooled_vio * vio) return_to_pool() argument 1575 struct vio *vio = as_vio(completion); finish_page_write() local 1621 struct vio *vio = as_vio(completion); handle_write_error() local 1634 struct vio *vio = as_vio(completion); write_initialized_page() local 1657 struct pooled_vio *vio = bio->bi_private; write_page_endio() local 1667 write_page(struct tree_page * tree_page,struct pooled_vio * vio) write_page() argument 1846 struct vio *vio = as_vio(completion); finish_block_map_page_load() local 1871 struct vio *vio = as_vio(completion); handle_io_error() local 1882 struct vio *vio = bio->bi_private; load_page_endio() local 2567 struct vio *vio = bio->bi_private; traversal_endio() local [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" 278 * @completion: The write vio. 283 container_of(as_vio(completion), struct slab_summary_block, vio); in finish_update() 291 * @completion: The write VIO. 296 container_of(as_vio(completion), struct slab_summary_block, vio); in handle_write_error() 305 struct vio *vio = bio->bi_private; in write_slab_summary_endio() local 307 container_of(vio, struct slab_summary_block, vio); in write_slab_summary_endio() 437 struct vio *vio = bio->bi_private; flush_endio() local 455 struct vio *vio = &pooled->vio; flush_for_reaping() local 681 get_committing_sequence_number(const struct pooled_vio * vio) get_committing_sequence_number() argument 731 struct vio *vio = bio->bi_private; write_slab_journal_endio() local 747 struct vio *vio = &pooled->vio; write_slab_journal_block() local 1068 struct vio *vio = as_vio(completion); finish_reference_block_write() local 1155 struct vio *vio = bio->bi_private; write_reference_block_endio() local 1169 struct vio *vio = as_vio(completion); handle_io_error() local 2309 struct vio *vio = as_vio(completion); finish_reference_block_load() local 2331 struct vio *vio = bio->bi_private; load_reference_block_endio() local 2347 struct vio *vio = &pooled->vio; load_reference_block_group() local 2496 struct vio *vio = as_vio(completion); finish_loading_journal() local 2525 struct vio *vio = bio->bi_private; read_slab_journal_tail_endio() local 2536 struct vio *vio = as_vio(completion); handle_load_error() local 2557 struct vio *vio = &pooled->vio; read_slab_journal_tail() local 2845 struct vio *vio = as_vio(completion); handle_scrubber_error() local 2986 struct vio *vio = bio->bi_private; read_slab_journal_endio() local 4554 struct vio *vio = bio->bi_private; write_summary_endio() local 4621 struct vio *vio = bio->bi_private; load_summary_endio() local 4638 struct vio *vio; load_slab_summary() local [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 | 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. */ 50 * The number of vios in the vio pool used for loading reference count data. A slab's 75 /* A waiter object for getting a VIO pool entry */ 79 /* A waiter object for getting a vio with which to flush */ 127 /* A list of the VIO pool entries for outstanding journal block writes */ 301 /* The vio for loading slab journal blocks */ 302 struct vio vio; member 363 struct vio vio; global() member [all...] |
| H A D | vdo.c | 48 #include "data-vio.h" 61 #include "vio.h" 274 &vdo->geometry_block.vio); in read_geometry_block() 289 &vdo->super_block.vio); in read_geometry_block() 535 result = vdo_submit_metadata_vio_wait(&vdo->geometry_block.vio, in vdo_make() 542 if (mem_is_zero(vdo->geometry_block.vio.data, VDO_BLOCK_SIZE)) { in vdo_make() 723 free_vio_components(&geometry_block->vio); in initialize_super_block() 729 free_vio_components(&super_block->vio); in initialize_super_block() 802 * @completion: The super block vio. 809 container_of(as_vio(completion), struct vdo_super_block, vio); 268 struct vio *vio; read_geometry_block() local 767 struct vio *vio = bio->bi_private; read_super_block_endio() local 940 struct vio *vio = bio->bi_private; super_block_write_endio() local [all...] |
| H A D | types.h | 339 /* vio types for statistics and instrumentation. */ 354 /* Priority levels for asynchronous I/O operations performed on a vio. */ 366 struct vio { 367 /* The completion for this vio */ 373 /* The queueing priority of the vio operation */ 376 /* The vio type is used for statistics and instrumentation. */ 379 /* The size of this vio in blocks */ 388 /* The VDO-owned bio to use for all IO for this vio */ 393 * the first-enqueued vio. The other vios are found via their bio entries in this list, and argument 363 struct vio { global() struct 370 bio_zonevio global() argument 371 priorityvio global() argument 374 typevio global() argument 385 datavio global() argument 390 biovio global() argument
|
| H A D | data-vio.c | 6 #include "data-vio.h" 40 #include "vio.h" 205 /* The steps taken cleaning up a VIO, in the order they are performed. */ 277 int error = vdo_status_to_errno(data_vio->vio.completion.result); in acknowledge_data_vio() 373 * Compression has been dis-allowed for this VIO, so skip the rest of the in advance_data_vio_compression_stage() 465 copy_to_bio(data_vio->user_bio, lock_holder->vio.data + data_vio->offset); in attempt_logical_block_lock() 493 struct vdo_completion *completion = &data_vio->vio.completion; in launch_data_vio() 535 memset(data_vio, 0, offsetof(struct data_vio, vio)); in launch_bio() 567 copy_from_bio(bio, data_vio->vio.data); in launch_bio() 568 data_vio->is_zero = mem_is_zero(data_vio->vio in launch_bio() 1548 struct vio *vio = as_vio(completion); read_block() local [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() 180 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_blk_queue_start() 190 static void vdc_finish(struct vio_driver_state *vio, int err, int waiting_for) in vdc_finish() argument 192 if (vio->cmp && in vdc_finish() 194 vio->cmp->waiting_for == waiting_for)) { in vdc_finish() 195 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 timer_delete_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/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>;
|
| /linux/arch/powerpc/platforms/pseries/ |
| H A D | vio.c | 30 #include <asm/vio.h> 39 .name = "vio", 41 .dev.init_name = "vio", 75 * vio_cmo - VIO bus accounting structure for CMO entitlement 134 * @viodev: VIO device requesting IO memory 179 * @viodev: VIO device freeing IO memory 1179 /* offset for VIO should always be 0 */ in vio_build_iommu_table() 1194 * vio_match_device: - Tell if a VIO device has a matching 1195 * VIO device id structure. 1196 * @ids: array of VIO device id structures to search in [all …]
|