Home
last modified time | relevance | path

Searched refs:subchannel (Results 1 – 25 of 45) sorted by relevance

12

/Linux-v4.19/drivers/s390/cio/
Dcss.h63 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 …]
Dcio.h95 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 …]
Dcio.c88 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 …]
Deadm_sch.c59 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 …]
Dcss.c64 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 …]
Dvfio_ccw_private.h38 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);
Ddevice.c137 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 …]
Ddevice_ops.c141 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 …]
Dvfio_ccw_drv.c30 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()
Ddevice_pgid.c35 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 …]
Ddevice_fsm.c40 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 …]
Dio_sch.h27 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;
Dchsc_sch.c53 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()
Dvfio_ccw_fsm.c21 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()
Dccwreq.c78 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()
Deadm_sch.h15 struct subchannel *sch;
Dvfio_ccw_ops.c19 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()
Dchp.h63 u8 chp_get_sch_opm(struct subchannel *sch);
Ddevice_status.c30 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/
Dsysfs-bus-css5 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/
Ddriver-model.txt10 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
Dvfio-ccw.txt7 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
Dcds.txt42 * 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/
Dhead.S101 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/
Ds390-diag.txt61 General register 2 contains a subchannel-identification word denoting
62 the subchannel of the virtio-ccw proxy device to be notified.

12