Home
last modified time | relevance | path

Searched full:vio (Results 1 – 25 of 188) sorted by relevance

12345678

/linux/arch/sparc/kernel/
H A Dviohs.c16 #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 Dvio.c2 /* 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 Dvio.h25 /* 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 Dvio.c6 #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 Dio-submitter.c15 #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 Dio-submitter.h28 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 Dblock-map.c20 #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 Drecovery-journal.h43 * 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 Dslab-depot.c25 #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 Ddump.c14 #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 Dslab-depot.h17 #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 Dvdo.c48 #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 Dtypes.h339 /* 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 Ddata-vio.c6 #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 Dsunvdc.c21 #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 Dsunvnet_common.c32 #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 Dsunvnet_common.h16 #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 Dldmvsw.c30 #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 Dvio.h119 /* 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 Dvcc.c15 #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 Dsi4713.txt16 - vio-supply: phandle for Vio regulator
27 vio-supply = <&vio>;
/linux/drivers/net/wireless/ti/wl1251/
H A Dspi.c301 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 Dti,wl1251.txt11 - vio-supply : phandle to regulator providing VIO
35 vio-supply = <&vio>;
/linux/Documentation/devicetree/bindings/input/touchscreen/
H A Dti,tsc2005.yaml48 vio-supply:
86 vio-supply = <&vio>;
113 vio-supply = <&vio>;
/linux/arch/powerpc/platforms/pseries/
H A Dvio.c30 #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 …]

12345678