/Linux-v4.19/drivers/s390/cio/ |
D | css.h | 63 struct subchannel; 85 void (*irq)(struct subchannel *); 86 int (*chp_event)(struct subchannel *, struct chp_link *, int); 87 int (*sch_event)(struct subchannel *, int); 88 int (*probe)(struct subchannel *); 89 int (*remove)(struct subchannel *); 90 void (*shutdown)(struct subchannel *); 91 int (*prepare) (struct subchannel *); 92 void (*complete) (struct subchannel *); 93 int (*freeze)(struct subchannel *); [all …]
|
D | cio.h | 95 struct subchannel { struct 120 #define to_subchannel(n) container_of(n, struct subchannel, dev) argument 122 extern int cio_enable_subchannel(struct subchannel *, u32); 123 extern int cio_disable_subchannel (struct subchannel *); 124 extern int cio_cancel (struct subchannel *); 125 extern int cio_clear (struct subchannel *); 126 extern int cio_cancel_halt_clear(struct subchannel *, int *); 127 extern int cio_resume (struct subchannel *); 128 extern int cio_halt (struct subchannel *); 129 extern int cio_start (struct subchannel *, struct ccw1 *, __u8); [all …]
|
D | cio.c | 88 int cio_set_options(struct subchannel *sch, int flags) in cio_set_options() 99 cio_start_handle_notoper(struct subchannel *sch, __u8 lpm) in cio_start_handle_notoper() 123 cio_start_key (struct subchannel *sch, /* subchannel structure */ in cio_start_key() 176 cio_start (struct subchannel *sch, struct ccw1 *cpa, __u8 lpm) in cio_start() 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() 334 int cio_cancel_halt_clear(struct subchannel *sch, int *iretry) in cio_cancel_halt_clear() 379 static void cio_apply_config(struct subchannel *sch, struct schib *schib) in cio_apply_config() [all …]
|
D | eadm_sch.c | 59 static int eadm_subchannel_start(struct subchannel *sch, struct aob *aob) in eadm_subchannel_start() 86 static int eadm_subchannel_clear(struct subchannel *sch) in eadm_subchannel_clear() 101 struct subchannel *sch = private->sch; in eadm_subchannel_timeout() 111 static void eadm_subchannel_set_timeout(struct subchannel *sch, int expires) in eadm_subchannel_set_timeout() 127 static void eadm_subchannel_irq(struct subchannel *sch) in eadm_subchannel_irq() 162 static struct subchannel *eadm_get_idle_sch(void) in eadm_get_idle_sch() 165 struct subchannel *sch; in eadm_get_idle_sch() 190 struct subchannel *sch; in eadm_start_aob() 217 static int eadm_subchannel_probe(struct subchannel *sch) in eadm_subchannel_probe() 255 static void eadm_quiesce(struct subchannel *sch) in eadm_quiesce() [all …]
|
D | css.c | 64 int (*fn_known_sch)(struct subchannel *, void *); 70 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() 94 struct subchannel *sch; in call_fn_all_sch() 110 int for_each_subchannel_staged(int (*fn_known)(struct subchannel *, void *), in for_each_subchannel_staged() argument 150 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() 164 struct subchannel *sch = to_subchannel(dev); in css_subchannel_release() 202 struct subchannel *css_alloc_subchannel(struct subchannel_id schid, in css_alloc_subchannel() 205 struct subchannel *sch; in css_alloc_subchannel() 234 static int css_sch_device_register(struct subchannel *sch) in css_sch_device_register() 250 void css_sch_device_unregister(struct subchannel *sch) in css_sch_device_unregister() [all …]
|
D | vfio_ccw_private.h | 38 struct subchannel *sch; 54 extern int vfio_ccw_mdev_reg(struct subchannel *sch); 55 extern void vfio_ccw_mdev_unreg(struct subchannel *sch); 57 extern int vfio_ccw_sch_quiesce(struct subchannel *sch);
|
D | device.c | 137 static void io_subchannel_irq(struct subchannel *); 138 static int io_subchannel_probe(struct subchannel *); 139 static int io_subchannel_remove(struct subchannel *); 140 static void io_subchannel_shutdown(struct subchannel *); 141 static int io_subchannel_sch_event(struct subchannel *, int); 142 static int io_subchannel_chp_event(struct subchannel *, struct chp_link *, 151 static int io_subchannel_prepare(struct subchannel *sch) in io_subchannel_prepare() 271 static void io_subchannel_quiesce(struct subchannel *); 286 struct subchannel *sch; in ccw_device_set_offline() 553 struct subchannel *sch; in available_show() [all …]
|
D | device_ops.c | 141 struct subchannel *sch; in ccw_device_clear() 194 struct subchannel *sch; in ccw_device_start_timeout_key() 361 struct subchannel *sch; in ccw_device_halt() 396 struct subchannel *sch; in ccw_device_resume() 446 struct subchannel *sch; in ccw_device_get_path_mask() 466 struct subchannel *sch; in ccw_device_get_chp_desc() 485 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_util_str() 532 struct subchannel *sch; in ccw_device_tm_start_timeout_key() 631 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_mdc() 676 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_intrg() [all …]
|
D | vfio_ccw_drv.c | 30 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() 95 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq() 103 static int vfio_ccw_sch_probe(struct subchannel *sch) in vfio_ccw_sch_probe() 156 static int vfio_ccw_sch_remove(struct subchannel *sch) in vfio_ccw_sch_remove() 172 static void vfio_ccw_sch_shutdown(struct subchannel *sch) in vfio_ccw_sch_shutdown() 187 static int vfio_ccw_sch_event(struct subchannel *sch, int process) in vfio_ccw_sch_event()
|
D | device_pgid.c | 35 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_done() 74 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_do() 106 struct subchannel *sch = to_subchannel(cdev->dev.parent); in nop_callback() 169 struct subchannel *sch = to_subchannel(cdev->dev.parent); in pgid_wipeout_start() 196 struct subchannel *sch = to_subchannel(cdev->dev.parent); in spid_do() 229 struct subchannel *sch = to_subchannel(cdev->dev.parent); in spid_callback() 334 struct subchannel *sch = to_subchannel(cdev->dev.parent); in pgid_to_donepm() 380 struct subchannel *sch = to_subchannel(cdev->dev.parent); in snid_done() 454 struct subchannel *sch = to_subchannel(cdev->dev.parent); in snid_do() 511 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_start() [all …]
|
D | device_fsm.c | 40 struct subchannel *sch; in ccw_timeout_log() 129 struct subchannel *sch; in ccw_device_cancel_halt_clear() 166 __recover_lost_chpids(struct subchannel *sch, int old_lpm) in __recover_lost_chpids() 190 struct subchannel *sch; in ccw_device_recog_done() 315 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_oper_notify() 335 struct subchannel *sch; in ccw_device_done() 394 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_recognition() 435 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_report_path_events() 480 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_handle_broken_paths() 491 struct subchannel *sch; in ccw_device_verify_done() [all …]
|
D | io_sch.h | 27 static inline struct ccw_device *sch_get_cdev(struct subchannel *sch) in sch_get_cdev() 33 static inline void sch_set_cdev(struct subchannel *sch, in sch_set_cdev() 120 struct subchannel *sch;
|
D | chsc_sch.c | 53 static void chsc_subchannel_irq(struct subchannel *sch) in chsc_subchannel_irq() 76 static int chsc_subchannel_probe(struct subchannel *sch) in chsc_subchannel_probe() 103 static int chsc_subchannel_remove(struct subchannel *sch) in chsc_subchannel_remove() 118 static void chsc_subchannel_shutdown(struct subchannel *sch) in chsc_subchannel_shutdown() 123 static int chsc_subchannel_prepare(struct subchannel *sch) in chsc_subchannel_prepare() 138 static int chsc_subchannel_freeze(struct subchannel *sch) in chsc_subchannel_freeze() 143 static int chsc_subchannel_restore(struct subchannel *sch) in chsc_subchannel_restore() 208 struct subchannel *sch = to_subchannel(dev); in chsc_subchannel_match_next_free() 213 static struct subchannel *chsc_get_next_subchannel(struct subchannel *sch) in chsc_get_next_subchannel() 242 struct subchannel *sch = NULL; in chsc_async()
|
D | vfio_ccw_fsm.c | 21 struct subchannel *sch; in fsm_io_helper() 74 struct subchannel *sch = private->sch; in fsm_notoper() 108 struct subchannel *sch = private->sch; in fsm_disabled_irq()
|
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() 328 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_timeout()
|
D | eadm_sch.h | 15 struct subchannel *sch;
|
D | vfio_ccw_ops.c | 19 struct subchannel *sch; in vfio_ccw_mdev_reset() 418 int vfio_ccw_mdev_reg(struct subchannel *sch) in vfio_ccw_mdev_reg() 423 void vfio_ccw_mdev_unreg(struct subchannel *sch) in vfio_ccw_mdev_unreg()
|
D | chp.h | 63 u8 chp_get_sch_opm(struct subchannel *sch);
|
D | device_status.c | 30 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_msg_control_check() 55 struct subchannel *sch; in ccw_device_path_notoper() 313 struct subchannel *sch; in ccw_device_do_sense()
|
/Linux-v4.19/Documentation/ABI/testing/ |
D | sysfs-bus-css | 5 Description: Contains the subchannel type, as reported by the hardware. 6 This attribute is present for all subchannel types. 14 subchannel types. 21 subchannel, as reported by the channel subsystem 22 during subchannel recognition. 23 Note: This is an I/O-subchannel specific attribute. 34 Note: This is an I/O-subchannel specific attribute.
|
/Linux-v4.19/Documentation/s390/ |
D | driver-model.txt | 10 All ccw devices are accessed via a subchannel, this is reflected in the 23 In this example, device 0815 is accessed via subchannel 0 in subchannel set 0, 24 device 4711 via subchannel 1 in subchannel set 0, and subchannel 2 is a non-I/O 25 subchannel. Device 1234 is accessed via subchannel 0 in subchannel set 1. 27 The subchannel named 'defunct' does not represent any real subchannel on the 28 system; it is a pseudo subchannel where disconnected ccw devices are moved to 30 former subchannel. The ccw devices will be moved again to a proper subchannel 31 if they become operational again on that subchannel. 52 There is also some data exported on a per-subchannel basis (see under 185 distinct handlers (e.g. multi subchannel devices), this is a member of ccw_device
|
D | vfio-ccw.txt | 7 Here we describe the vfio support for I/O subchannel devices for 22 (the real I/O subchannel device) to do further address translation and 56 devices via the vfio mediated device framework and the subchannel device 109 - The vfio_ccw driver for the physical subchannel device. 110 This is an I/O subchannel driver for the real subchannel device. It 155 | | device | | | vfio_ccw.ko |<-> subchannel 161 1. vfio_ccw.ko drives the physical I/O subchannel, and registers the 163 When vfio_ccw probing the subchannel device, it registers device 165 under the device node in sysfs would be created for the subchannel 218 vfio_ccw, which is the driver for the I/O subchannel devices you want
|
D | cds.txt | 42 * The functions use a ccw_device instead of an irq (subchannel). 114 single device is uniquely identified to the system by a so called subchannel, 128 Up to kernel 2.4, Linux/390 used to provide interfaces via the IRQ (subchannel). 133 of those devices is uniquely defined by a so called subchannel by the ESA/390 134 channel subsystem. While the subchannel numbers are system generated, each 135 subchannel also takes a user defined attribute, the so called device number. 136 Both subchannel number and device number cannot exceed 65535. During sysfs 308 The irb->scsw.cstat field provides the (accumulated) subchannel status : 398 -ENODEV - cdev invalid or not-operational subchannel 410 a halt subchannel (HSCH) I/O command. For those purposes the ccw_device_halt() [all …]
|
/Linux-v4.19/arch/s390/boot/ |
D | head.S | 101 c %r1,__LC_SUBCHANNEL_ID # compare subchannel number 159 lh %r1,__LC_SUBCHANNEL_ID # test if subchannel number 161 l %r1,__LC_SUBCHANNEL_ID # load ipl subchannel number 242 c %r1,__LC_SUBCHANNEL_ID # compare subchannel number
|
/Linux-v4.19/Documentation/virtual/kvm/ |
D | s390-diag.txt | 61 General register 2 contains a subchannel-identification word denoting 62 the subchannel of the virtio-ccw proxy device to be notified.
|