Home
last modified time | relevance | path

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

12

/linux/drivers/s390/cio/
H A 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 …]
H A Dcss.h80 struct subchannel;
97 void (*irq)(struct subchannel *);
98 int (*chp_event)(struct subchannel *, struct chp_link *, int);
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 *);
113 extern struct subchannel *css_alloc_subchannel(struct subchannel_id,
[all …]
H A Deadm_sch.c60 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()
112 static void eadm_subchannel_set_timeout(struct subchannel *sch, int expires) in eadm_subchannel_set_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()
[all …]
H A 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 *,
261 static void io_subchannel_quiesce(struct subchannel *);
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()
[all …]
H A Dvfio_ccw_fsm.c21 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()
H A Ddevice_pgid.c36 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 …]
H A Ddevice_fsm.c41 struct subchannel *sch; in ccw_timeout_log()
126 struct subchannel *sch; in ccw_device_cancel_halt_clear()
167 __recover_lost_chpids(struct subchannel *sch, int old_lpm) in __recover_lost_chpids()
191 struct subchannel *sch; in ccw_device_recog_done()
310 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_oper_notify()
330 struct subchannel *sch; in ccw_device_done()
389 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_recognition()
430 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_report_path_events()
475 struct subchannel *sch = to_subchannel(cdev->dev.parent); in ccw_device_handle_broken_paths()
486 struct subchannel *sch; in ccw_device_verify_done()
[all …]
H A Ddevice_ops.c139 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 …]
H A Dvfio_ccw_drv.c37 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()
H A 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;
H A Dvfio_ccw_private.h130 int vfio_ccw_sch_quiesce(struct subchannel *sch);
172 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in vfio_ccw_fsm_event()
H A 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()
H A Deadm_sch.h15 struct subchannel *sch;
H A Dvfio_ccw_cp.h46 union orb *cp_get_orb(struct channel_program *cp, struct subchannel *sch);
H A Ddevice_status.c31 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()
H A Dchp.h66 u8 chp_get_sch_opm(struct subchannel *sch);
H A Ddevice.h88 void io_subchannel_init_config(struct subchannel *sch);
H A Dchsc.c233 static int s390_subchannel_remove_chpid(struct subchannel *sch, void *data) in s390_subchannel_remove_chpid()
272 static int __s390_process_res_acc(struct subchannel *sch, void *data) in __s390_process_res_acc()
306 static int process_fces_event(struct subchannel *sch, void *data) in process_fces_event()
778 static void __s390_subchannel_vary_chpid(struct subchannel *sch, in __s390_subchannel_vary_chpid()
793 static int s390_subchannel_vary_chpid_off(struct subchannel *sch, void *data) in s390_subchannel_vary_chpid_off()
801 static int s390_subchannel_vary_chpid_on(struct subchannel *sch, void *data) in s390_subchannel_vary_chpid_on()
H A Dvfio_ccw_chp.c19 struct subchannel *sch = to_subchannel(private->vdev.dev->parent); in vfio_ccw_schib_region_read()
/linux/Documentation/ABI/testing/
H A Dsysfs-bus-css4 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/
H A 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
H A 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 …]
H A 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/arch/s390/boot/
H A 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/Documentation/virt/kvm/s390/
H A 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