Home
last modified time | relevance | path

Searched refs:schid (Results 1 – 25 of 66) sorted by relevance

123

/openbmc/linux/drivers/s390/cio/
H A Dioasm.c18 static inline int __stsch(struct subchannel_id schid, struct schib *addr) in __stsch() argument
20 unsigned long r1 = *(unsigned int *)&schid; in __stsch()
36 int stsch(struct subchannel_id schid, struct schib *addr) in stsch() argument
40 ccode = __stsch(schid, addr); in stsch()
41 trace_s390_cio_stsch(schid, addr, ccode); in stsch()
47 static inline int __msch(struct subchannel_id schid, struct schib *addr) in __msch() argument
49 unsigned long r1 = *(unsigned int *)&schid; in __msch()
65 int msch(struct subchannel_id schid, struct schib *addr) in msch() argument
69 ccode = __msch(schid, addr); in msch()
70 trace_s390_cio_msch(schid, addr, ccode); in msch()
[all …]
H A Dvfio_ccw_trace.h21 TP_PROTO(struct subchannel_id schid,
24 TP_ARGS(schid, mask, event),
35 __entry->cssid = schid.cssid;
36 __entry->ssid = schid.ssid;
37 __entry->sch_no = schid.sch_no;
51 TP_PROTO(struct subchannel_id schid,
54 TP_ARGS(schid, command, errno),
65 __entry->cssid = schid.cssid;
66 __entry->ssid = schid.ssid;
67 __entry->sch_no = schid.sch_no;
[all …]
H A Dtrace.h25 TP_PROTO(struct subchannel_id schid, struct schib *schib, int cc),
26 TP_ARGS(schid, schib, cc),
47 __entry->cssid = schid.cssid;
48 __entry->ssid = schid.ssid;
49 __entry->schno = schid.sch_no;
85 TP_PROTO(struct subchannel_id schid, struct schib *schib, int cc),
86 TP_ARGS(schid, schib, cc)
96 TP_PROTO(struct subchannel_id schid, struct schib *schib, int cc),
97 TP_ARGS(schid, schib, cc)
107 TP_PROTO(struct subchannel_id schid, struct irb *irb, int cc),
[all …]
H A Didset.c69 void idset_sch_add(struct idset *set, struct subchannel_id schid) in idset_sch_add() argument
71 idset_add(set, schid.ssid, schid.sch_no); in idset_sch_add()
74 void idset_sch_del(struct idset *set, struct subchannel_id schid) in idset_sch_del() argument
76 idset_del(set, schid.ssid, schid.sch_no); in idset_sch_del()
80 void idset_sch_del_subseq(struct idset *set, struct subchannel_id schid) in idset_sch_del_subseq() argument
82 int pos = schid.ssid * set->num_id + schid.sch_no; in idset_sch_del_subseq()
84 bitmap_clear(set->bitmap, pos, set->num_id - schid.sch_no); in idset_sch_del_subseq()
87 int idset_sch_contains(struct idset *set, struct subchannel_id schid) in idset_sch_contains() argument
89 return idset_contains(set, schid.ssid, schid.sch_no); in idset_sch_contains()
H A Dvfio_ccw_fsm.c40 ccode = ssch(sch->schid, orb); in fsm_io_helper()
92 ccode = hsch(sch->schid); in fsm_do_halt()
131 ccode = csch(sch->schid); in fsm_do_clear()
160 sch->schid.cssid, in fsm_notoper()
161 sch->schid.ssid, in fsm_notoper()
162 sch->schid.sch_no, in fsm_notoper()
237 return sch->schid; in get_schid()
250 struct subchannel_id schid = get_schid(private); in fsm_io_request() local
263 schid.cssid, in fsm_io_request()
264 schid.ssid, schid.sch_no); in fsm_io_request()
[all …]
H A Dioasm.h16 int stsch(struct subchannel_id schid, struct schib *addr);
17 int msch(struct subchannel_id schid, struct schib *addr);
18 int tsch(struct subchannel_id schid, struct irb *addr);
19 int ssch(struct subchannel_id schid, union orb *addr);
20 int csch(struct subchannel_id schid);
23 int rsch(struct subchannel_id schid);
24 int hsch(struct subchannel_id schid);
25 int xsch(struct subchannel_id schid);
H A Dcss.c47 struct subchannel_id schid; in for_each_subchannel() local
50 init_subchannel_id(&schid); in for_each_subchannel()
53 ret = fn(schid, data); in for_each_subchannel()
56 } while (schid.sch_no++ < __MAX_SUBCHANNEL); in for_each_subchannel()
57 schid.sch_no = 0; in for_each_subchannel()
58 } while (schid.ssid++ < max_ssid); in for_each_subchannel()
76 idset_sch_del(cb->set, sch->schid); in call_fn_known_sch()
82 static int call_fn_unknown_sch(struct subchannel_id schid, void *data) in call_fn_unknown_sch() argument
87 if (idset_sch_contains(cb->set, schid)) in call_fn_unknown_sch()
88 rc = cb->fn_unknown_sch(schid, cb->data); in call_fn_unknown_sch()
[all …]
H A Dcio.c109 "subchannel 0.%x.%04x!\n", sch->schid.ssid, in cio_start_handle_notoper()
110 sch->schid.sch_no); in cio_start_handle_notoper()
152 ccode = ssch(sch->schid, orb); in cio_start_key()
193 ccode = rsch (sch->schid); in cio_resume()
232 ccode = hsch (sch->schid); in cio_halt()
266 ccode = csch (sch->schid); in cio_clear()
298 ccode = xsch (sch->schid); in cio_cancel()
415 if (stsch(sch->schid, &schib) || !css_sch_is_valid(&schib)) in cio_commit_config()
421 ccode = msch(sch->schid, &schib); in cio_commit_config()
426 if (stsch(sch->schid, &schib) || in cio_commit_config()
[all …]
H A Dqdio_main.c33 static inline int do_siga_sync(unsigned long schid, in do_siga_sync() argument
48 : [fc] "d" (fc), [schid] "d" (schid), in do_siga_sync()
54 static inline int do_siga_input(unsigned long schid, unsigned long mask, in do_siga_input() argument
67 : [fc] "d" (fc), [schid] "d" (schid), [mask] "d" (mask) in do_siga_input()
83 static inline int do_siga_output(unsigned long schid, unsigned long mask, in do_siga_output() argument
99 : [schid] "d" (schid), [mask] "d" (mask), [aob] "d" (aob) in do_siga_output()
287 unsigned long schid = *((u32 *) &q->irq_ptr->schid); in qdio_siga_sync() local
295 schid = q->irq_ptr->sch_token; in qdio_siga_sync()
299 cc = do_siga_sync(schid, output, input, fc); in qdio_siga_sync()
326 unsigned long schid = *((u32 *) &q->irq_ptr->schid); in qdio_siga_output() local
[all …]
H A Dvfio_ccw_drv.c59 sch->schid.ssid, sch->schid.sch_no); in vfio_ccw_sch_quiesce()
144 sch->schid.cssid, sch->schid.ssid, in vfio_ccw_sch_irq()
145 sch->schid.sch_no); in vfio_ccw_sch_irq()
197 sch->schid.cssid, sch->schid.ssid, in vfio_ccw_sch_probe()
198 sch->schid.sch_no); in vfio_ccw_sch_probe()
219 sch->schid.cssid, sch->schid.ssid, in vfio_ccw_sch_remove()
220 sch->schid.sch_no); in vfio_ccw_sch_remove()
310 trace_vfio_ccw_chp_event(sch->schid, mask, event); in vfio_ccw_chp_event()
312 sch->schid.cssid, in vfio_ccw_chp_event()
313 sch->schid.ssid, sch->schid.sch_no, in vfio_ccw_chp_event()
H A Dchsc.c103 int chsc_get_ssd_info(struct subchannel_id schid, struct chsc_ssd_info *ssd) in chsc_get_ssd_info() argument
117 ssd_area->ssid = schid.ssid; in chsc_get_ssd_info()
118 ssd_area->f_sch = schid.sch_no; in chsc_get_ssd_info()
119 ssd_area->l_sch = schid.sch_no; in chsc_get_ssd_info()
130 schid.ssid, schid.sch_no, in chsc_get_ssd_info()
167 int chsc_ssqd(struct subchannel_id schid, struct chsc_ssqd_area *ssqd) in chsc_ssqd() argument
172 ssqd->first_sch = schid.sch_no; in chsc_ssqd()
173 ssqd->last_sch = schid.sch_no; in chsc_ssqd()
174 ssqd->ssid = schid.ssid; in chsc_ssqd()
193 int chsc_sadc(struct subchannel_id schid, struct chsc_scssc_area *scssc, in chsc_sadc() argument
[all …]
H A Dchsc.h102 struct subchannel_id schid; member
141 extern int chsc_get_ssd_info(struct subchannel_id schid,
165 int chsc_ssqd(struct subchannel_id schid, struct chsc_ssqd_area *ssqd);
166 int chsc_sadc(struct subchannel_id schid, struct chsc_scssc_area *scssc,
172 int chsc_siosl(struct subchannel_id schid);
209 int chsc_pnso(struct subchannel_id schid, struct chsc_pnso_area *pnso_area,
H A Dchsc_sch.c67 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_irq()
83 sch->schid.ssid, sch->schid.sch_no); in chsc_subchannel_probe()
92 sch->schid.ssid, sch->schid.sch_no, ret); in chsc_subchannel_probe()
221 chsc_area->header.sid = sch->schid; in chsc_async()
223 CHSC_LOG_HEX(2, &sch->schid, sizeof(sch->schid)); in chsc_async()
244 sch->schid.ssid, sch->schid.sch_no, cc); in chsc_async()
581 sscud_area->m = cud->schid.m; in chsc_ioctl_info_sch_cu()
583 sscud_area->ssid = cud->schid.ssid; in chsc_ioctl_info_sch_cu()
584 sscud_area->first_sch = cud->schid.sch_no; in chsc_ioctl_info_sch_cu()
585 sscud_area->cssid = cud->schid.cssid; in chsc_ioctl_info_sch_cu()
[all …]
H A Dqdio_setup.c237 struct subchannel_id *schid, in qdio_setup_get_ssqd() argument
243 DBF_EVENT("getssqd:%4x", schid->sch_no); in qdio_setup_get_ssqd()
252 rc = chsc_ssqd(*schid, ssqd); in qdio_setup_get_ssqd()
258 (ssqd->qdio_ssqd.sch != schid->sch_no)) in qdio_setup_get_ssqd()
276 rc = qdio_setup_get_ssqd(irq_ptr, &irq_ptr->schid, &irq_ptr->ssqd_desc); in qdio_setup_ssqd_info()
278 DBF_ERROR("%4x ssqd ERR", irq_ptr->schid.sch_no); in qdio_setup_ssqd_info()
370 ccw_device_get_schid(cdev, &irq_ptr->schid); in qdio_setup_irq()
407 irq_ptr->schid.sch_no, in qdio_print_subchannel_info()
H A Deadm_sch.c71 EADM_LOG_HEX(6, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_start()
73 cc = ssch(sch->schid, orb); in eadm_subchannel_start()
91 cc = csch(sch->schid); in eadm_subchannel_clear()
106 EADM_LOG_HEX(1, &sch->schid, sizeof(sch->schid)); in eadm_subchannel_timeout()
H A Ddevice.c574 rc = chsc_siosl(sch->schid); in initiate_logging()
577 sch->schid.ssid, sch->schid.sch_no, rc); in initiate_logging()
581 sch->schid.ssid, sch->schid.sch_no); in initiate_logging()
745 priv->dev_id.ssid = sch->schid.ssid; in io_subchannel_initialize_dev()
946 cdev->private->dev_id.devno, sch->schid.ssid, in ccw_device_move_to_sch()
963 css_schedule_eval(old_sch->schid); in ccw_device_move_to_sch()
1008 if (cio_is_console(sch->schid)) in io_subchannel_init_fields()
1013 sch->isc = cio_is_console(sch->schid) ? CONSOLE_ISC : IO_SCH_ISC; in io_subchannel_init_fields()
1017 sch->schib.pmcw.dev, sch->schid.ssid, in io_subchannel_init_fields()
1018 sch->schid.sch_no, sch->schib.pmcw.pim, in io_subchannel_init_fields()
[all …]
/openbmc/qemu/pc-bios/s390-ccw/
H A Ddasd-ipl.c76 static int run_dynamic_ccw_program(SubChannelId schid, uint16_t cutype, in run_dynamic_ccw_program() argument
88 rc = do_cio(schid, cutype, cpa, CCW_FMT0); in run_dynamic_ccw_program()
114 static int run_readipl(SubChannelId schid, uint16_t cutype) in run_readipl() argument
116 return do_cio(schid, cutype, 0x00, CCW_FMT0); in run_readipl()
182 static int run_ipl1(SubChannelId schid, uint16_t cutype) in run_ipl1() argument
186 return do_cio(schid, cutype, startAddr, CCW_FMT0); in run_ipl1()
189 static int run_ipl2(SubChannelId schid, uint16_t cutype, uint32_t addr) in run_ipl2() argument
191 return run_dynamic_ccw_program(schid, cutype, addr); in run_ipl2()
198 int dasd_ipl(SubChannelId schid, uint16_t cutype) in dasd_ipl() argument
205 if (run_readipl(schid, cutype)) { in dasd_ipl()
[all …]
H A Dcio.c23 static int __do_cio(SubChannelId schid, uint32_t ccw_addr, int fmt, Irb *irb);
42 void enable_subchannel(SubChannelId schid) in enable_subchannel() argument
46 stsch_err(schid, &schib); in enable_subchannel()
48 msch(schid, &schib); in enable_subchannel()
51 uint16_t cu_type(SubChannelId schid) in cu_type() argument
61 if (do_cio(schid, CU_TYPE_UNKNOWN, ptr2u32(&sense_id_ccw), CCW_FMT1)) { in cu_type()
69 int basic_sense(SubChannelId schid, uint16_t cutype, void *sense_data, in basic_sense() argument
79 return __do_cio(schid, ptr2u32(&senseCcw), CCW_FMT1, &irb); in basic_sense()
310 static int __do_cio(SubChannelId schid, uint32_t ccw_addr, int fmt, Irb *irb) in __do_cio() argument
332 rc = ssch(schid, &orb); in __do_cio()
[all …]
H A Dcio.h162 struct subchannel_id schid; member
367 void enable_subchannel(SubChannelId schid);
368 uint16_t cu_type(SubChannelId schid);
369 int basic_sense(SubChannelId schid, uint16_t cutype, void *sense_data,
371 int do_cio(SubChannelId schid, uint16_t cutype, uint32_t ccw_addr, int fmt);
377 static inline int stsch_err(struct subchannel_id schid, struct schib *addr) in stsch_err() argument
379 register struct subchannel_id reg1 asm ("1") = schid; in stsch_err()
393 static inline int msch(struct subchannel_id schid, struct schib *addr) in msch() argument
395 register struct subchannel_id reg1 asm ("1") = schid; in msch()
408 static inline int msch_err(struct subchannel_id schid, struct schib *addr) in msch_err() argument
[all …]
H A Dvirtio.c32 .schid = { .one = 1 },
65 static long virtio_notify(SubChannelId schid, int vq_idx, long cookie) in virtio_notify() argument
67 return kvm_hypercall(KVM_S390_VIRTIO_CCW_NOTIFY, *(u32 *)&schid, in virtio_notify()
75 int drain_irqs(SubChannelId schid) in drain_irqs() argument
82 if (tsch(schid, &irb)) { in drain_irqs()
106 return do_cio(vdev->schid, vdev->senseid.cu_type, ptr2u32(&ccw), CCW_FMT1); in run_ccw()
137 vr->cookie = virtio_notify(vr->schid, vr->id, vr->cookie); in vring_notify()
214 if (drain_irqs(vr->schid)) { in virtio_run()
229 if (!virtio_is_supported(vdev->schid)) { in virtio_setup_ccw()
314 vdev->vrings[i].schid = vdev->schid; in virtio_setup_ccw()
[all …]
H A Dvirtio-blkdev.c45 if (drain_irqs(vr->schid)) { in virtio_blk_read_many()
225 int virtio_blk_setup_device(SubChannelId schid) in virtio_blk_setup_device() argument
230 vdev->schid = schid; in virtio_blk_setup_device()
/openbmc/qemu/target/s390x/
H A Dioinst.c40 int *schid) in ioinst_disassemble_sch_ident() argument
56 *schid = IOINST_SCHID_NR(value); in ioinst_disassemble_sch_ident()
62 int cssid, ssid, schid, m; in ioinst_handle_xsch() local
65 if (ioinst_disassemble_sch_ident(reg1, &m, &cssid, &ssid, &schid)) { in ioinst_handle_xsch()
69 trace_ioinst_sch_id("xsch", cssid, ssid, schid); in ioinst_handle_xsch()
70 sch = css_find_subch(m, cssid, ssid, schid); in ioinst_handle_xsch()
80 int cssid, ssid, schid, m; in ioinst_handle_csch() local
83 if (ioinst_disassemble_sch_ident(reg1, &m, &cssid, &ssid, &schid)) { in ioinst_handle_csch()
87 trace_ioinst_sch_id("csch", cssid, ssid, schid); in ioinst_handle_csch()
88 sch = css_find_subch(m, cssid, ssid, schid); in ioinst_handle_csch()
[all …]
/openbmc/linux/arch/s390/include/asm/
H A Dschid.h10 init_subchannel_id(struct subchannel_id *schid) in init_subchannel_id() argument
12 memset(schid, 0, sizeof(struct subchannel_id)); in init_subchannel_id()
13 schid->one = 1; in init_subchannel_id()
/openbmc/qemu/hw/s390x/
H A Dcss.c368 s->migrated_schid = s->schid; in subch_dev_pre_save()
379 if (s->migrated_schid != s->schid) { in subch_dev_post_load()
380 if (css_find_subch(true, s->cssid, s->ssid, s->schid) == s) { in subch_dev_post_load()
386 css_subch_assign(s->cssid, s->ssid, s->schid, s->devno, NULL); in subch_dev_post_load()
389 s->schid = s->migrated_schid; in subch_dev_post_load()
390 css_subch_assign(s->cssid, s->ssid, s->schid, s->devno, s); in subch_dev_post_load()
612 trace_css_io_interrupt(sch->cssid, sch->ssid, sch->schid, in css_inject_io_interrupt()
615 sch->schid, in css_inject_io_interrupt()
637 trace_css_io_interrupt(sch->cssid, sch->ssid, sch->schid, in css_conditional_io_interrupt()
645 sch->schid, in css_conditional_io_interrupt()
[all …]
/openbmc/qemu/include/hw/s390x/
H A Dcss.h126 uint16_t schid; member
197 uint16_t schid);
200 void css_subch_assign(uint8_t cssid, uint8_t ssid, uint16_t schid,
214 void css_generate_sch_crws(uint8_t cssid, uint8_t ssid, uint16_t schid,
243 uint16_t schid);
247 bool css_schid_final(int m, uint8_t cssid, uint8_t ssid, uint16_t schid);

123