| /linux/drivers/s390/cio/ |
| A D | cio.h | 84 struct subchannel { struct 119 extern int cio_cancel (struct subchannel *); 120 extern int cio_clear (struct subchannel *); 122 extern int cio_resume (struct subchannel *); 123 extern int cio_halt (struct subchannel *); 126 extern int cio_set_options (struct subchannel *, int); 127 extern int cio_update_schib(struct subchannel *sch); 128 extern int cio_commit_config(struct subchannel *sch); 131 int cio_tm_intrg(struct subchannel *sch); 137 extern struct subchannel *cio_probe_console(void); [all …]
|
| A D | css.h | 80 struct subchannel; 97 void (*irq)(struct subchannel *); 99 int (*sch_event)(struct subchannel *, int); 100 int (*probe)(struct subchannel *); 101 void (*remove)(struct subchannel *); 102 void (*shutdown)(struct subchannel *); 111 extern void css_sch_device_unregister(struct subchannel *); 112 extern int css_register_subchannel(struct subchannel *); 122 void css_update_ssd_info(struct subchannel *sch); 137 struct subchannel *pseudo_subchannel; [all …]
|
| A D | cio.c | 186 cio_resume (struct subchannel *sch) in cio_resume() 219 cio_halt(struct subchannel *sch) in cio_halt() 253 cio_clear(struct subchannel *sch) in cio_clear() 288 cio_cancel (struct subchannel *sch) in cio_cancel() 458 int cio_update_schib(struct subchannel *sch) in cio_update_schib() 535 struct subchannel *sch; in do_cio_interrupt() 574 static struct subchannel *console_sch; 581 void cio_tsch(struct subchannel *sch) in cio_tsch() 643 struct subchannel *cio_probe_console(void) in cio_probe_console() 646 struct subchannel *sch; in cio_probe_console() [all …]
|
| A D | eadm_sch.c | 60 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() 87 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() 102 struct subchannel *sch = private->sch; in eadm_subchannel_timeout() 122 static void eadm_subchannel_irq(struct subchannel *sch) in eadm_subchannel_irq() 157 static struct subchannel *eadm_get_idle_sch(void) in eadm_get_idle_sch() 160 struct subchannel *sch; in eadm_get_idle_sch() 185 struct subchannel *sch; in eadm_start_aob() 212 static int eadm_subchannel_probe(struct subchannel *sch) in eadm_subchannel_probe() 245 static void eadm_quiesce(struct subchannel *sch) in eadm_quiesce() 275 static void eadm_subchannel_remove(struct subchannel *sch) in eadm_subchannel_remove() [all …]
|
| A D | css.c | 95 struct subchannel *sch; in call_fn_all_sch() 200 struct subchannel *sch; in css_alloc_subchannel() 457 struct subchannel *sch; in css_probe_device() 474 struct subchannel *sch; in check_subchannel() 481 struct subchannel * 549 struct subchannel *sch; in css_evaluate_subchannel() 590 struct subchannel *sch; in css_sch_todo() 815 struct subchannel *sch; in css_process_crw() 1376 struct subchannel *sch; in css_probe() 1389 struct subchannel *sch; in css_remove() [all …]
|
| A D | device.c | 276 struct subchannel *sch; in ccw_device_set_offline() 546 struct subchannel *sch; in available_show() 571 struct subchannel *sch = to_subchannel(dev); in initiate_logging() 588 struct subchannel *sch = to_subchannel(dev); in vpm_show() 817 struct subchannel *sch; in io_subchannel_register() 916 struct subchannel *sch) in ccw_device_move_to_sch() 918 struct subchannel *old_sch; in ccw_device_move_to_sch() 1253 struct subchannel *sch; in recovery_check() 1617 struct subchannel *sch; in ccw_device_create_console() 1740 struct subchannel *sch; in ccw_device_remove() [all …]
|
| A D | vfio_ccw_fsm.c | 21 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_io_helper() 81 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_do_halt() 120 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_do_clear() 157 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_notoper() 225 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_disabled_irq() 235 struct subchannel *sch = to_subchannel(p->vdev.dev->parent); in get_schid() 359 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_irq() 376 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_open() 397 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in fsm_close()
|
| A D | device_pgid.c | 36 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_done() 75 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_do() 107 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_callback() 170 struct subchannel *sch = to_subchannel(cdev->dev.parent); in pgid_wipeout_start() 197 struct subchannel *sch = to_subchannel(cdev->dev.parent); in spid_do() 230 struct subchannel *sch = to_subchannel(cdev->dev.parent); in spid_callback() 335 struct subchannel *sch = to_subchannel(cdev->dev.parent); in pgid_to_donepm() 382 struct subchannel *sch = to_subchannel(cdev->dev.parent); in snid_done() 456 struct subchannel *sch = to_subchannel(cdev->dev.parent); in snid_do() 513 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_start() [all …]
|
| A D | device_ops.c | 139 struct subchannel *sch; in ccw_device_clear() 195 struct subchannel *sch; in ccw_device_start_timeout_key() 376 struct subchannel *sch; in ccw_device_halt() 411 struct subchannel *sch; in ccw_device_resume() 461 struct subchannel *sch; in ccw_device_get_path_mask() 481 struct subchannel *sch; in ccw_device_get_chp_desc() 500 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_util_str() 547 struct subchannel *sch; in ccw_device_tm_start_timeout_key() 650 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_mdc() 695 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_intrg() [all …]
|
| A D | device_fsm.c | 41 struct subchannel *sch; in ccw_timeout_log() 126 struct subchannel *sch; in ccw_device_cancel_halt_clear() 191 struct subchannel *sch; in ccw_device_recog_done() 330 struct subchannel *sch; in ccw_device_done() 486 struct subchannel *sch; in ccw_device_verify_done() 550 struct subchannel *sch; in ccw_device_online() 593 struct subchannel *sch; in ccw_device_offline() 658 struct subchannel *sch; in ccw_device_online_verify() 928 struct subchannel *sch; in ccw_device_start_id() 940 struct subchannel *sch; in ccw_device_trigger_reprobe() [all …]
|
| A D | vfio_ccw_drv.c | 37 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() 131 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq() 162 static int vfio_ccw_sch_probe(struct subchannel *sch) in vfio_ccw_sch_probe() 209 static void vfio_ccw_sch_remove(struct subchannel *sch) in vfio_ccw_sch_remove() 223 static void vfio_ccw_sch_shutdown(struct subchannel *sch) in vfio_ccw_sch_shutdown() 245 static int vfio_ccw_sch_event(struct subchannel *sch, int process) in vfio_ccw_sch_event() 299 static int vfio_ccw_chp_event(struct subchannel *sch, in vfio_ccw_chp_event()
|
| A D | io_sch.h | 32 static inline struct ccw_device *sch_get_cdev(struct subchannel *sch) in sch_get_cdev() 38 static inline void sch_set_cdev(struct subchannel *sch, in sch_set_cdev() 132 struct subchannel *sch;
|
| A D | vfio_ccw_private.h | 130 int vfio_ccw_sch_quiesce(struct subchannel *sch); 172 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in vfio_ccw_fsm_event()
|
| A D | chsc_sch.c | 54 static void chsc_subchannel_irq(struct subchannel *sch) in chsc_subchannel_irq() 77 static int chsc_subchannel_probe(struct subchannel *sch) in chsc_subchannel_probe() 99 static void chsc_subchannel_remove(struct subchannel *sch) in chsc_subchannel_remove() 113 static void chsc_subchannel_shutdown(struct subchannel *sch) in chsc_subchannel_shutdown() 174 struct subchannel *sch = to_subchannel(dev); in chsc_subchannel_match_next_free() 179 static struct subchannel *chsc_get_next_subchannel(struct subchannel *sch) in chsc_get_next_subchannel() 208 struct subchannel *sch = NULL; in chsc_async()
|
| A D | ccwreq.c | 78 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccwreq_do() 153 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_cancel() 329 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_timeout()
|
| A D | eadm_sch.h | 15 struct subchannel *sch;
|
| A D | vfio_ccw_cp.h | 46 union orb *cp_get_orb(struct channel_program *cp, struct subchannel *sch);
|
| A D | device_status.c | 31 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_msg_control_check() 56 struct subchannel *sch; in ccw_device_path_notoper() 314 struct subchannel *sch; in ccw_device_do_sense()
|
| A D | chp.h | 66 u8 chp_get_sch_opm(struct subchannel *sch);
|
| /linux/Documentation/ABI/testing/ |
| A D | sysfs-bus-css | 4 Description: Contains the subchannel type, as reported by the hardware. 5 This attribute is present for all subchannel types. 12 subchannel types. 18 subchannel, as reported by the channel subsystem 19 during subchannel recognition. 21 Note: This is an I/O-subchannel specific attribute. 32 Note: This is an I/O-subchannel specific attribute. 56 the driver must still match the subchannel type of the device.
|
| /linux/Documentation/arch/s390/ |
| A D | driver-model.rst | 11 All ccw devices are accessed via a subchannel, this is reflected in the 24 In this example, device 0815 is accessed via subchannel 0 in subchannel set 0, 25 device 4711 via subchannel 1 in subchannel set 0, and subchannel 2 is a non-I/O 26 subchannel. Device 1234 is accessed via subchannel 0 in subchannel set 1. 28 The subchannel named 'defunct' does not represent any real subchannel on the 29 system; it is a pseudo subchannel where disconnected ccw devices are moved to 31 former subchannel. The ccw devices will be moved again to a proper subchannel 32 if they become operational again on that subchannel. 57 There is also some data exported on a per-subchannel basis (see under 221 distinct handlers (e.g. multi subchannel devices), this is a member of ccw_device
|
| A D | vfio-ccw.rst | 8 Here we describe the vfio support for I/O subchannel devices for 25 (the real I/O subchannel device) to do further address translation and 60 devices via the vfio mediated device framework and the subchannel device 115 - The vfio_ccw driver for the physical subchannel device. 116 This is an I/O subchannel driver for the real subchannel device. It 161 | | device | | | vfio_ccw.ko |<-> subchannel 168 1. vfio_ccw.ko drives the physical I/O subchannel, and registers the 170 When vfio_ccw probing the subchannel device, it registers device 172 under the device node in sysfs would be created for the subchannel 315 subchannel (e.g. one reporting changes in channel path state) is [all …]
|
| A D | cds.rst | 48 * The functions use a ccw_device instead of an irq (subchannel). 121 single device is uniquely identified to the system by a so called subchannel, 135 Up to kernel 2.4, Linux/390 used to provide interfaces via the IRQ (subchannel). 140 of those devices is uniquely defined by a so called subchannel by the ESA/390 141 channel subsystem. While the subchannel numbers are system generated, each 142 subchannel also takes a user defined attribute, the so called device number. 143 Both subchannel number and device number cannot exceed 65535. During sysfs 339 The irb->scsw.cstat field provides the (accumulated) subchannel status : 438 -ENODEV cdev invalid or not-operational subchannel 452 a halt subchannel (HSCH) I/O command. For those purposes the ccw_device_halt() [all …]
|
| /linux/arch/s390/boot/ |
| A D | head.S | 43 lgh %r1,__LC_SUBCHANNEL_ID # test if subchannel number 45 llgf %r1,__LC_SUBCHANNEL_ID # load ipl subchannel number 114 c %r1,__LC_SUBCHANNEL_ID # compare subchannel number 157 c %r1,__LC_SUBCHANNEL_ID # compare subchannel number
|
| /linux/Documentation/virt/kvm/s390/ |
| A D | s390-diag.rst | 64 General register 2 contains a subchannel-identification word denoting 65 the subchannel of the virtio-ccw proxy device to be notified.
|