Home
last modified time | relevance | path

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

12

/Linux-v6.1/drivers/s390/cio/
Dcio.h84 struct subchannel { struct
115 #define to_subchannel(n) container_of(n, struct subchannel, dev) argument
117 extern int cio_enable_subchannel(struct subchannel *, u32);
118 extern int cio_disable_subchannel (struct subchannel *);
119 extern int cio_cancel (struct subchannel *);
120 extern int cio_clear (struct subchannel *);
121 extern int cio_cancel_halt_clear(struct subchannel *, int *);
122 extern int cio_resume (struct subchannel *);
123 extern int cio_halt (struct subchannel *);
124 extern int cio_start (struct subchannel *, struct ccw1 *, __u8);
[all …]
Dcss.h71 struct subchannel;
88 void (*irq)(struct subchannel *);
89 int (*chp_event)(struct subchannel *, struct chp_link *, int);
90 int (*sch_event)(struct subchannel *, int);
91 int (*probe)(struct subchannel *);
92 void (*remove)(struct subchannel *);
93 void (*shutdown)(struct subchannel *);
102 extern void css_sch_device_unregister(struct subchannel *);
103 extern int css_register_subchannel(struct subchannel *);
104 extern struct subchannel *css_alloc_subchannel(struct subchannel_id,
[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()
121 static void eadm_subchannel_irq(struct subchannel *sch) in eadm_subchannel_irq()
156 static struct subchannel *eadm_get_idle_sch(void) in eadm_get_idle_sch()
159 struct subchannel *sch; in eadm_get_idle_sch()
184 struct subchannel *sch; in eadm_start_aob()
211 static int eadm_subchannel_probe(struct subchannel *sch) in eadm_subchannel_probe()
244 static void eadm_quiesce(struct subchannel *sch) in eadm_quiesce()
[all …]
Dcss.c65 int (*fn_known_sch)(struct subchannel *, void *);
71 struct subchannel *sch = to_subchannel(dev); in call_fn_known_sch()
95 struct subchannel *sch; in call_fn_all_sch()
111 int for_each_subchannel_staged(int (*fn_known)(struct subchannel *, void *), in for_each_subchannel_staged() argument
151 static int css_sch_create_locks(struct subchannel *sch) in css_sch_create_locks()
165 struct subchannel *sch = to_subchannel(dev); in css_subchannel_release()
204 struct subchannel *css_alloc_subchannel(struct subchannel_id schid, in css_alloc_subchannel()
207 struct subchannel *sch; in css_alloc_subchannel()
252 static int css_sch_device_register(struct subchannel *sch) in css_sch_device_register()
268 void css_sch_device_unregister(struct subchannel *sch) in css_sch_device_unregister()
[all …]
Ddevice.c138 static void io_subchannel_irq(struct subchannel *);
139 static int io_subchannel_probe(struct subchannel *);
140 static void 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 *,
258 static void io_subchannel_quiesce(struct subchannel *);
273 struct subchannel *sch; in ccw_device_set_offline()
540 struct subchannel *sch; in available_show()
565 struct subchannel *sch = to_subchannel(dev); in initiate_logging()
[all …]
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()
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 …]
Ddevice_ops.c139 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 …]
Ddevice_fsm.c40 struct subchannel *sch; in ccw_timeout_log()
125 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()
309 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_oper_notify()
329 struct subchannel *sch; in ccw_device_done()
388 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_recognition()
429 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_report_path_events()
474 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_handle_broken_paths()
485 struct subchannel *sch; in ccw_device_verify_done()
[all …]
Dvfio_ccw_fsm.c21 struct subchannel *sch; in fsm_io_helper()
83 struct subchannel *sch; in fsm_do_halt()
124 struct subchannel *sch; in fsm_do_clear()
163 struct subchannel *sch = private->sch; in fsm_notoper()
231 struct subchannel *sch = private->sch; in fsm_disabled_irq()
379 struct subchannel *sch = private->sch; in fsm_open()
400 struct subchannel *sch = private->sch; in fsm_close()
Dvfio_ccw_drv.c37 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce()
122 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq()
130 static struct vfio_ccw_private *vfio_ccw_alloc_private(struct subchannel *sch) in vfio_ccw_alloc_private()
204 static int vfio_ccw_sch_probe(struct subchannel *sch) in vfio_ccw_sch_probe()
242 static void vfio_ccw_sch_remove(struct subchannel *sch) in vfio_ccw_sch_remove()
257 static void vfio_ccw_sch_shutdown(struct subchannel *sch) in vfio_ccw_sch_shutdown()
275 static int vfio_ccw_sch_event(struct subchannel *sch, int process) in vfio_ccw_sch_event()
326 static int vfio_ccw_chp_event(struct subchannel *sch, in vfio_ccw_chp_event()
Dio_sch.h32 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;
Dvfio_ccw_private.h96 struct subchannel *sch;
125 int vfio_ccw_sch_quiesce(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()
98 static void chsc_subchannel_remove(struct subchannel *sch) in chsc_subchannel_remove()
112 static void chsc_subchannel_shutdown(struct subchannel *sch) in chsc_subchannel_shutdown()
173 struct subchannel *sch = to_subchannel(dev); in chsc_subchannel_match_next_free()
178 static struct subchannel *chsc_get_next_subchannel(struct subchannel *sch) in chsc_get_next_subchannel()
207 struct subchannel *sch = NULL; in chsc_async()
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()
329 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_request_timeout()
Deadm_sch.h15 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()
Dchp.h64 u8 chp_get_sch_opm(struct subchannel *sch);
Ddevice.h88 void io_subchannel_init_config(struct subchannel *sch);
/Linux-v6.1/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.
24 Note: This is an I/O-subchannel specific attribute.
36 Note: This is an I/O-subchannel specific attribute.
61 the driver must still match the subchannel type of the device.
/Linux-v6.1/Documentation/s390/
Ddriver-model.rst11 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
Dvfio-ccw.rst8 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
230 The subchannel was status pending or busy, or a request is already active.
[all …]
Dcds.rst48 * 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-v6.1/arch/s390/boot/
Dhead.S43 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-v6.1/Documentation/virt/kvm/s390/
Ds390-diag.rst64 General register 2 contains a subchannel-identification word denoting
65 the subchannel of the virtio-ccw proxy device to be notified.

12