| /linux/drivers/s390/cio/ |
| H A D | trace.h | 25 TP_PROTO(struct subchannel_id schid, struct schib *schib, int cc), 26 TP_ARGS(schid, schib, cc), 32 __field_struct(struct schib, schib) 50 __entry->devno = schib->pmcw.dev; 51 __entry->schib = *schib; 52 __entry->pmcw_ena = schib->pmcw.ena; 53 __entry->pmcw_st = schib->pmcw.st; 54 __entry->pmcw_dnv = schib->pmcw.dnv; 55 __entry->pmcw_dev = schib->pmcw.dev; 56 __entry->pmcw_lpm = schib->pmcw.lpm; [all …]
|
| H A D | css.c | 167 struct schib *schib) in css_validate_subchannel() argument 171 switch (schib->pmcw.st) { in css_validate_subchannel() 174 if (!css_sch_is_valid(schib)) in css_validate_subchannel() 176 else if (is_blacklisted(schid.ssid, schib->pmcw.dev)) { in css_validate_subchannel() 179 schib->pmcw.dev, schid.ssid); in css_validate_subchannel() 191 schid.ssid, schid.sch_no, schib->pmcw.st); in css_validate_subchannel() 197 struct schib *schib) in css_alloc_subchannel() argument 202 ret = css_validate_subchannel(schid, schib); in css_alloc_subchannel() 211 sch->schib = *schib; in css_alloc_subchannel() 212 sch->st = schib->pmcw.st; in css_alloc_subchannel() [all …]
|
| H A D | css.h | 114 struct schib *schib); 160 struct schib; 161 int css_sch_is_valid(struct schib *);
|
| H A D | device_fsm.c | 41 struct schib schib; in ccw_timeout_log() local 50 cc = stsch(sch->schid, &schib); in ccw_timeout_log() 90 &schib, sizeof(schib), 0); in ccw_timeout_log() 180 chpid.id = sch->schib.pmcw.chpid[i]; in __recover_lost_chpids() 209 sch->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_recog_done() 477 u8 broken_paths = (sch->schib.pmcw.pam & sch->opm) ^ sch->vpm; in ccw_device_handle_broken_paths() 614 if (scsw_actl(&sch->schib.scsw) != 0) in ccw_device_offline() 675 if (scsw_actl(&sch->schib.scsw) != 0 || in ccw_device_online_verify() 676 (scsw_stctl(&sch->schib.scsw) & SCSW_STCTL_STATUS_PEND) || in ccw_device_online_verify() 954 sch->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_trigger_reprobe() [all …]
|
| H A D | ioasm.c | 19 static inline int __stsch(struct subchannel_id schid, struct schib *addr) in __stsch() 38 int stsch(struct subchannel_id schid, struct schib *addr) in stsch() 49 static inline int __msch(struct subchannel_id schid, struct schib *addr) in __msch() 68 int msch(struct subchannel_id schid, struct schib *addr) in msch()
|
| H A D | ioasm.h | 16 int stsch(struct subchannel_id schid, struct schib *addr); 17 int msch(struct subchannel_id schid, struct schib *addr);
|
| H A D | device.c | 741 priv->dev_id.devno = sch->schib.pmcw.dev; in io_subchannel_initialize_dev() 925 old_enabled = old_sch->schib.pmcw.ena; in ccw_device_move_to_sch() 944 sch->schib.pmcw.dev, rc); in ccw_device_move_to_sch() 1009 sch->lpm = sch->schib.pmcw.pam & sch->opm; in io_subchannel_init_fields() 1014 sch->schib.pmcw.dev, sch->schid.ssid, in io_subchannel_init_fields() 1015 sch->schid.sch_no, sch->schib.pmcw.pim, in io_subchannel_init_fields() 1016 sch->schib.pmcw.pam, sch->schib.pmcw.pom); in io_subchannel_init_fields() 1128 if (scsw_actl(&sch->schib.scsw) == 0 || sch->schib.pmcw.lpum != mask) in io_subchannel_terminate_path() 1210 if (!sch->schib.pmcw.ena) in io_subchannel_quiesce() 1257 if ((sch->schib.pmcw.pam & sch->opm) == sch->vpm) in recovery_check() [all …]
|
| H A D | device_pgid.c | 78 req->lpm = lpm_adjust(req->lpm, sch->schib.pmcw.pam & sch->opm & in nop_do() 183 req->lpm = sch->schib.pmcw.pam; in pgid_wipeout_start() 460 req->lpm = lpm_adjust(req->lpm, sch->schib.pmcw.pam & in snid_do() 518 sch->lpm = sch->schib.pmcw.pam; in verify_start() 524 cdev->private->pgid_todo_mask = sch->schib.pmcw.pam; in verify_start() 614 req->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_disband_start() 674 req->lpm = sch->schib.pmcw.pam & sch->opm; in ccw_device_stlck_start()
|
| H A D | vfio_ccw_fsm.c | 49 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in fsm_io_helper() 101 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND; in fsm_do_halt() 140 sch->schib.scsw.cmd.actl = SCSW_ACTL_CLEAR_PEND; in fsm_do_clear() 402 if (!sch->schib.pmcw.ena) in fsm_close()
|
| H A D | eadm_sch.c | 77 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start() 96 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear() 126 struct eadm_scsw *scsw = &sch->schib.scsw.eadm; in eadm_subchannel_irq()
|
| H A D | vfio_ccw_drv.c | 164 struct pmcw *pmcw = &sch->schib.pmcw; in vfio_ccw_sch_probe() 324 if (sch->schib.pmcw.lpum & mask) in vfio_ccw_chp_event() 329 if (sch->schib.pmcw.lpum & mask) in vfio_ccw_chp_event()
|
| H A D | vfio_ccw_chp.c | 36 memcpy(region, &sch->schib, sizeof(*region)); in vfio_ccw_schib_region_read()
|
| H A D | cmf.c | 279 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) { in cmf_copy_block() 281 if ((!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_SUSPENDED)) && in cmf_copy_block() 282 (scsw_actl(&sch->schib.scsw) & in cmf_copy_block() 284 (!(scsw_stctl(&sch->schib.scsw) & SCSW_STCTL_SEC_STATUS))) in cmf_copy_block()
|
| H A D | chsc_sch.c | 175 return sch->schib.pmcw.ena && !scsw_fctl(&sch->schib.scsw); in chsc_subchannel_match_next_free() 231 sch->schib.scsw.cmd.fctl |= SCSW_FCTL_START_FUNC; in chsc_async()
|
| H A D | chp.c | 85 chpid.id = sch->schib.pmcw.chpid[i]; in chp_get_sch_opm()
|
| /linux/Documentation/arch/s390/ |
| H A D | vfio-ccw.rst | 285 vfio-ccw schib region 288 The vfio-ccw schib region is used to return Subchannel-Information
|