/Linux-v5.4/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 122 #define to_subchannel(n) container_of(n, struct subchannel, dev) argument 124 extern int cio_enable_subchannel(struct subchannel *, u32); 125 extern int cio_disable_subchannel (struct subchannel *); 126 extern int cio_cancel (struct subchannel *); 127 extern int cio_clear (struct subchannel *); 128 extern int cio_cancel_halt_clear(struct subchannel *, int *); 129 extern int cio_resume (struct subchannel *); 130 extern int cio_halt (struct subchannel *); 131 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 | 66 int (*fn_known_sch)(struct subchannel *, void *); 72 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch() 96 struct subchannel *sch; in call_fn_all_sch() 112 int for_each_subchannel_staged(int (*fn_known)(struct subchannel *, void *), in for_each_subchannel_staged() argument 152 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks() 166 struct subchannel *sch = to_subchannel(dev); in css_subchannel_release() 205 struct subchannel *css_alloc_subchannel(struct subchannel_id schid, in css_alloc_subchannel() 208 struct subchannel *sch; in css_alloc_subchannel() 248 static int css_sch_device_register(struct subchannel *sch) in css_sch_device_register() 264 void css_sch_device_unregister(struct subchannel *sch) in css_sch_device_unregister() [all …]
|
D | device.c | 138 static void io_subchannel_irq(struct subchannel *); 139 static int io_subchannel_probe(struct subchannel *); 140 static int io_subchannel_remove(struct subchannel *); 141 static void io_subchannel_shutdown(struct subchannel *); 142 static int io_subchannel_sch_event(struct subchannel *, int); 143 static int io_subchannel_chp_event(struct subchannel *, struct chp_link *, 152 static int io_subchannel_prepare(struct subchannel *sch) in io_subchannel_prepare() 272 static void io_subchannel_quiesce(struct subchannel *); 287 struct subchannel *sch; in ccw_device_set_offline() 554 struct subchannel *sch; in available_show() [all …]
|
D | vfio_ccw_private.h | 79 struct subchannel *sch; 99 extern int vfio_ccw_mdev_reg(struct subchannel *sch); 100 extern void vfio_ccw_mdev_unreg(struct subchannel *sch); 102 extern int vfio_ccw_sch_quiesce(struct subchannel *sch);
|
D | device_ops.c | 139 struct subchannel *sch; in ccw_device_clear() 195 struct subchannel *sch; in ccw_device_start_timeout_key() 372 struct subchannel *sch; in ccw_device_halt() 407 struct subchannel *sch; in ccw_device_resume() 457 struct subchannel *sch; in ccw_device_get_path_mask() 477 struct subchannel *sch; in ccw_device_get_chp_desc() 496 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_util_str() 543 struct subchannel *sch; in ccw_device_tm_start_timeout_key() 642 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_get_mdc() 687 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_tm_intrg() [all …]
|
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() 381 struct subchannel *sch = to_subchannel(cdev->dev.parent); in snid_done() 455 struct subchannel *sch = to_subchannel(cdev->dev.parent); in snid_do() 512 struct subchannel *sch = to_subchannel(cdev->dev.parent); in verify_start() [all …]
|
D | device_fsm.c | 40 struct subchannel *sch; in ccw_timeout_log() 131 struct subchannel *sch; in ccw_device_cancel_halt_clear() 172 __recover_lost_chpids(struct subchannel *sch, int old_lpm) in __recover_lost_chpids() 196 struct subchannel *sch; in ccw_device_recog_done() 321 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_oper_notify() 341 struct subchannel *sch; in ccw_device_done() 400 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_recognition() 441 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_report_path_events() 486 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_handle_broken_paths() 497 struct subchannel *sch; in ccw_device_verify_done() [all …]
|
D | vfio_ccw_drv.c | 36 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce() 111 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq() 119 static int vfio_ccw_sch_probe(struct subchannel *sch) in vfio_ccw_sch_probe() 188 static int vfio_ccw_sch_remove(struct subchannel *sch) in vfio_ccw_sch_remove() 209 static void vfio_ccw_sch_shutdown(struct subchannel *sch) in vfio_ccw_sch_shutdown() 224 static int vfio_ccw_sch_event(struct subchannel *sch, int process) in vfio_ccw_sch_event()
|
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;
|
D | vfio_ccw_fsm.c | 23 struct subchannel *sch; in fsm_io_helper() 85 struct subchannel *sch; in fsm_do_halt() 126 struct subchannel *sch; in fsm_do_clear() 165 struct subchannel *sch = private->sch; in fsm_notoper() 226 struct subchannel *sch = private->sch; in fsm_disabled_irq()
|
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 | 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()
|
D | eadm_sch.h | 15 struct subchannel *sch;
|
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()
|
D | vfio_ccw_ops.c | 23 struct subchannel *sch; in vfio_ccw_mdev_reset() 589 int vfio_ccw_mdev_reg(struct subchannel *sch) in vfio_ccw_mdev_reg() 594 void vfio_ccw_mdev_unreg(struct subchannel *sch) in vfio_ccw_mdev_unreg()
|
/Linux-v5.4/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. 58 the driver must still match the subchannel type of the device.
|
/Linux-v5.4/Documentation/s390/ |
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
|
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 251 vfio_ccw, which is the driver for the I/O subchannel devices you want
|
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-v5.4/Documentation/virt/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.
|
/Linux-v5.4/arch/s390/boot/ |
D | head.S | 106 c %r1,__LC_SUBCHANNEL_ID # compare subchannel number 164 lh %r1,__LC_SUBCHANNEL_ID # test if subchannel number 166 l %r1,__LC_SUBCHANNEL_ID # load ipl subchannel number 247 c %r1,__LC_SUBCHANNEL_ID # compare subchannel number
|