Home
last modified time | relevance | path

Searched refs:subchannel (Results 1 - 25 of 62) sorted by relevance

123

/kernel/linux/linux-5.10/drivers/s390/cio/
H A Dcss.h63 struct subchannel;
67 * @subchannel_type: subchannel type supported by this driver
71 * @sch_event: called for events affecting the 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 *);
[all...]
H A Dcio.h39 u32 st : 3; /* subchannel type */
75 * subchannel information block
79 union scsw scsw; /* subchannel status word */
94 /* subchannel data structure used by I/O subroutines */
95 struct subchannel { struct
97 spinlock_t *lock; /* subchannel lock */
104 } st; /* subchannel type */
108 struct schib schib; /* subchannel information block */
110 struct chsc_ssd_info ssd_info; /* subchannel description */
122 #define to_subchannel(n) container_of(n, struct subchannel, de
[all...]
H A 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()
204 /* Handle start subchannel failure. */ in eadm_start_aob()
217 static int eadm_subchannel_probe(struct subchannel *sc
[all...]
H A 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()
109 "subchannel 0.%x.%04x!\n", sch->schid.ssid, 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()
230 * Issue "Halt subchannel" and process condition code in cio_halt()
253 cio_clear(struct subchannel *sc
[all...]
H A Dcss.c66 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()
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()
187 "at devno %04X, subchannel set %x\n", in css_validate_subchannel()
199 CIO_MSG_EVENT(4, "Subchannel 0.%x.%04x reports subchannel type %04X\n", in css_validate_subchannel()
205 struct subchannel *css_alloc_subchannel(struct subchannel_id schid, in css_alloc_subchannel()
208 struct subchannel *sc in css_alloc_subchannel()
[all...]
H A Ddevice.c138 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 *sc in available_show()
[all...]
H A 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()
95 /* Only subchannel status might indicate a path error. */ in nop_filter()
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 *sc in snid_do()
[all...]
H A Dvfio_ccw_private.h70 * @sch: pointer to the subchannel
78 * @region: additional regions for other subchannel operations
90 struct subchannel *sch;
115 extern int vfio_ccw_mdev_reg(struct subchannel *sch);
116 extern void vfio_ccw_mdev_unreg(struct subchannel *sch);
118 extern int vfio_ccw_sch_quiesce(struct subchannel *sch);
H A Ddevice_ops.c129 * ccw_device_clear() calls csch on @cdev's subchannel.
139 struct subchannel *sch; in ccw_device_clear()
195 struct subchannel *sch; in ccw_device_start_timeout_key()
358 * ccw_device_halt() calls hsch on @cdev's subchannel.
372 struct subchannel *sch; in ccw_device_halt()
396 * ccw_device_resume() calls rsch on @cdev's subchannel.
407 struct subchannel *sch; in ccw_device_resume()
452 * %0 if no subchannel for the device is available,
453 * else the mask of currently available paths for the ccw device's subchannel.
457 struct subchannel *sc in ccw_device_get_path_mask()
[all...]
H A Ddevice_fsm.c40 struct subchannel *sch; in ccw_timeout_log()
57 printk(KERN_WARNING "cio: subchannel bus id: %s\n", in ccw_timeout_log()
59 printk(KERN_WARNING "cio: subchannel lpm: %02x, opm: %02x, " in ccw_timeout_log()
85 printk(KERN_WARNING "cio: store subchannel returned: cc=%d\n", cc); 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()
357 CIO_MSG_EVENT(0, "Boxed device %04x on subchannel in ccw_device_done()
[all...]
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_fsm.c20 struct subchannel *sch; in fsm_io_helper()
82 struct subchannel *sch; in fsm_do_halt()
123 struct subchannel *sch; in fsm_do_clear()
162 struct subchannel *sch = private->sch; in fsm_notoper()
223 struct subchannel *sch = private->sch; in fsm_disabled_irq()
H A Dvfio_ccw_drv.c39 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce()
58 pr_err("vfio_ccw: could not quiesce subchannel 0.%x.%04x!\n", in vfio_ccw_sch_quiesce()
132 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq()
152 static int vfio_ccw_sch_probe(struct subchannel *sch) in vfio_ccw_sch_probe()
222 VFIO_CCW_MSG_EVENT(4, "bound to subchannel %x.%x.%04x\n", in vfio_ccw_sch_probe()
237 static int vfio_ccw_sch_remove(struct subchannel *sch) in vfio_ccw_sch_remove()
257 VFIO_CCW_MSG_EVENT(4, "unbound from subchannel %x.%x.%04x\n", in vfio_ccw_sch_remove()
263 static void vfio_ccw_sch_shutdown(struct subchannel *sch) in vfio_ccw_sch_shutdown()
269 * vfio_ccw_sch_event - process subchannel event
270 * @sch: subchannel
[all...]
/kernel/linux/linux-6.6/drivers/s390/cio/
H A Dcio.h40 u32 st : 3; /* subchannel type */
64 * subchannel information block
68 union scsw scsw; /* subchannel status word */
83 /* subchannel data structure used by I/O subroutines */
84 struct subchannel { struct
86 spinlock_t *lock; /* subchannel lock */
93 } st; /* subchannel type */
97 struct schib schib; /* subchannel information block */
99 struct chsc_ssd_info ssd_info; /* subchannel description */
115 #define to_subchannel(n) container_of(n, struct subchannel, de
[all...]
H A Dcss.h71 struct subchannel;
75 * @subchannel_type: subchannel type supported by this driver
79 * @sch_event: called for events affecting the 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 *);
[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()
199 /* Handle start subchannel failure. */ in eadm_start_aob()
212 static int eadm_subchannel_probe(struct subchannel *sc
[all...]
H A 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()
109 "subchannel 0.%x.%04x!\n", sch->schid.ssid, 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()
230 * Issue "Halt subchannel" and process condition code in cio_halt()
253 cio_clear(struct subchannel *sc
[all...]
H A 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()
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()
186 "at devno %04X, subchannel set %x\n", in css_validate_subchannel()
198 CIO_MSG_EVENT(4, "Subchannel 0.%x.%04x reports subchannel type %04X\n", in css_validate_subchannel()
204 struct subchannel *css_alloc_subchannel(struct subchannel_id schid, in css_alloc_subchannel()
207 struct subchannel *sc in css_alloc_subchannel()
[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()
543 struct subchannel *sch; in available_show()
568 struct subchannel *sc in initiate_logging()
[all...]
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()
96 /* Only subchannel status might indicate a path error. */ in nop_filter()
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 *sc in snid_do()
[all...]
H A Ddevice_fsm.c41 struct subchannel *sch; in ccw_timeout_log()
58 printk(KERN_WARNING "cio: subchannel bus id: %s\n", in ccw_timeout_log()
60 printk(KERN_WARNING "cio: subchannel lpm: %02x, opm: %02x, " in ccw_timeout_log()
86 printk(KERN_WARNING "cio: store subchannel returned: cc=%d\n", cc); 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()
346 CIO_MSG_EVENT(0, "Boxed device %04x on subchannel in ccw_device_done()
[all...]
H A Ddevice_ops.c129 * ccw_device_clear() calls csch on @cdev's subchannel.
139 struct subchannel *sch; in ccw_device_clear()
195 struct subchannel *sch; in ccw_device_start_timeout_key()
358 * ccw_device_halt() calls hsch on @cdev's subchannel.
372 struct subchannel *sch; in ccw_device_halt()
396 * ccw_device_resume() calls rsch on @cdev's subchannel.
407 struct subchannel *sch; in ccw_device_resume()
452 * %0 if no subchannel for the device is available,
453 * else the mask of currently available paths for the ccw device's subchannel.
457 struct subchannel *sc in ccw_device_get_path_mask()
[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 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_drv.c37 int vfio_ccw_sch_quiesce(struct subchannel *sch) in vfio_ccw_sch_quiesce()
58 pr_err("vfio_ccw: could not quiesce subchannel 0.%x.%04x!\n", in vfio_ccw_sch_quiesce()
131 static void vfio_ccw_sch_irq(struct subchannel *sch) in vfio_ccw_sch_irq()
137 * The subchannel should still be disabled at this point, in vfio_ccw_sch_irq()
140 * disable the subchannel again. in vfio_ccw_sch_irq()
162 static int vfio_ccw_sch_probe(struct subchannel *sch) in vfio_ccw_sch_probe()
188 parent->mdev_type.pretty_name = "I/O subchannel (Non-QDIO)"; in vfio_ccw_sch_probe()
196 VFIO_CCW_MSG_EVENT(4, "bound to subchannel %x.%x.%04x\n", in vfio_ccw_sch_probe()
209 static void vfio_ccw_sch_remove(struct subchannel *sch) in vfio_ccw_sch_remove()
218 VFIO_CCW_MSG_EVENT(4, "unbound from subchannel in vfio_ccw_sch_remove()
[all...]

Completed in 18 milliseconds

123