/openbmc/linux/drivers/s390/cio/ |
H A D | chp.c | 56 static void set_chp_logically_online(struct chp_id chpid, int onoff) in set_chp_logically_online() argument 58 chpid_to_chp(chpid)->state = onoff; in set_chp_logically_online() 63 int chp_get_status(struct chp_id chpid) in chp_get_status() argument 65 return (chpid_to_chp(chpid) ? chpid_to_chp(chpid)->state : -ENODEV); in chp_get_status() 77 struct chp_id chpid; in chp_get_sch_opm() local 82 chp_id_init(&chpid); in chp_get_sch_opm() 85 chpid.id = sch->schib.pmcw.chpid[i]; in chp_get_sch_opm() 86 if (chp_get_status(chpid) != 0) in chp_get_sch_opm() 100 int chp_is_registered(struct chp_id chpid) in chp_is_registered() argument 102 return chpid_to_chp(chpid) != NULL; in chp_is_registered() [all …]
|
H A D | chp.h | 29 struct chp_id chpid; member 45 struct chp_id chpid; member 58 static inline struct channel_path *chpid_to_chp(struct chp_id chpid) in chpid_to_chp() argument 60 return css_by_id(chpid.cssid)->chps[chpid.id]; in chpid_to_chp() 63 int chp_get_status(struct chp_id chpid); 65 int chp_is_registered(struct chp_id chpid); 66 struct channel_path_desc_fmt0 *chp_get_chp_desc(struct chp_id chpid); 70 int chp_new(struct chp_id chpid); 71 void chp_cfg_schedule(struct chp_id chpid, int configure); 72 void chp_cfg_cancel_deconfigure(struct chp_id chpid); [all …]
|
H A D | chsc.c | 99 u8 chpid[8]; /* chpids 0-7 */ member 149 chp_id_init(&ssd->chpid[i]); in chsc_get_ssd_info() 150 ssd->chpid[i].id = ssd_area->chpid[i]; in chsc_get_ssd_info() 236 void chsc_chp_offline(struct chp_id chpid) in chsc_chp_offline() argument 238 struct channel_path *chp = chpid_to_chp(chpid); in chsc_chp_offline() 242 sprintf(dbf_txt, "chpr%x.%02x", chpid.cssid, chpid.id); in chsc_chp_offline() 245 if (chp_get_status(chpid) <= 0) in chsc_chp_offline() 248 link.chpid = chpid; in chsc_chp_offline() 273 sprintf(dbf_txt, "accpr%x.%02x", link->chpid.cssid, in s390_process_res_acc() 274 link->chpid.id); in s390_process_res_acc() [all …]
|
H A D | chsc.h | 29 u8 chpid; member 70 struct chp_id chpid[8]; member 153 int chsc_chp_vary(struct chp_id chpid, int on); 154 int chsc_determine_channel_path_desc(struct chp_id chpid, int fmt, int rfmt, 156 int chsc_determine_fmt0_channel_path_desc(struct chp_id chpid, 158 int chsc_determine_fmt1_channel_path_desc(struct chp_id chpid, 160 int chsc_determine_fmt3_channel_path_desc(struct chp_id chpid, 162 void chsc_chp_online(struct chp_id chpid); 163 void chsc_chp_offline(struct chp_id chpid);
|
H A D | device_ops.c | 478 struct chp_id chpid; in ccw_device_get_chp_desc() local 481 chp_id_init(&chpid); in ccw_device_get_chp_desc() 482 chpid.id = sch->schib.pmcw.chpid[chp_idx]; in ccw_device_get_chp_desc() 483 return chp_get_chp_desc(chpid); in ccw_device_get_chp_desc() 498 struct chp_id chpid; in ccw_device_get_util_str() local 501 chp_id_init(&chpid); in ccw_device_get_util_str() 502 chpid.id = sch->schib.pmcw.chpid[chp_idx]; in ccw_device_get_util_str() 503 chp = chpid_to_chp(chpid); in ccw_device_get_util_str() 644 struct chp_id chpid; in ccw_device_get_mdc() local 653 chp_id_init(&chpid); in ccw_device_get_mdc() [all …]
|
H A D | chsc_sch.c | 458 scpcd_area->cssid = cd->chpid.cssid; in chsc_ioctl_info_channel_path() 459 scpcd_area->first_chpid = cd->chpid.id; in chsc_ioctl_info_channel_path() 460 scpcd_area->last_chpid = cd->chpid.id; in chsc_ioctl_info_channel_path() 691 u32 chpid : 8; in chsc_ioctl_conf_comp_list() member 720 chpid_parm->m = ccl->req.chpid.m; in chsc_ioctl_conf_comp_list() 721 chpid_parm->cssid = ccl->req.chpid.chp.cssid; in chsc_ioctl_conf_comp_list() 722 chpid_parm->chpid = ccl->req.chpid.chp.id; in chsc_ioctl_conf_comp_list() 769 ret = chsc_determine_channel_path_desc(chpd->chpid, chpd->fmt, in chsc_ioctl_chpd()
|
H A D | device_fsm.c | 170 struct chp_id chpid; in __recover_lost_chpids() local 172 chp_id_init(&chpid); in __recover_lost_chpids() 179 chpid.id = sch->schib.pmcw.chpid[i]; in __recover_lost_chpids() 180 if (!chp_is_registered(chpid)) in __recover_lost_chpids()
|
H A D | cio.h | 38 u8 chpid[8]; /* CHPID 0-7 (if available) */ member
|
H A D | vfio_ccw_drv.c | 332 link->chpid.id); in vfio_ccw_chp_event() 343 link->chpid.id); in vfio_ccw_chp_event()
|
H A D | css.c | 289 chp_id_init(&ssd->chpid[i]); in ssd_from_pmcw() 290 ssd->chpid[i].id = pmcw->chpid[i]; in ssd_from_pmcw() 303 chp_new(ssd->chpid[i]); in ssd_register_chpids() 394 ret += sprintf(buf + ret, "%02x ", ssd->chpid[chp].id); in chpids_show()
|
H A D | device.c | 1152 int mask, chpid, valid_bit; in io_subchannel_chp_event() local 1190 for (chpid = 0, valid_bit = 0x80; chpid < 8; chpid++, in io_subchannel_chp_event() 1193 path_event[chpid] = PE_PATH_FCES_EVENT; in io_subchannel_chp_event() 1195 path_event[chpid] = PE_NONE; in io_subchannel_chp_event()
|
/openbmc/linux/arch/s390/include/asm/ |
H A D | chpid.h | 16 u8 chpid; member 23 static inline void chp_id_init(struct chp_id *chpid) in chp_id_init() argument 25 memset(chpid, 0, sizeof(struct chp_id)); in chp_id_init() 33 static inline void chp_id_next(struct chp_id *chpid) in chp_id_next() argument 35 if (chpid->id < __MAX_CHPID) in chp_id_next() 36 chpid->id++; in chp_id_next() 38 chpid->id = 0; in chp_id_next() 39 chpid->cssid++; in chp_id_next() 43 static inline int chp_id_is_valid(struct chp_id *chpid) in chp_id_is_valid() argument 45 return (chpid->cssid <= __MAX_CSSID); in chp_id_is_valid()
|
H A D | sclp.h | 145 int sclp_chp_configure(struct chp_id chpid); 146 int sclp_chp_deconfigure(struct chp_id chpid);
|
H A D | ccwdev.h | 235 int ccw_device_get_chpid(struct ccw_device *cdev, int chp_idx, u8 *chpid);
|
/openbmc/qemu/hw/s390x/ |
H A D | css.c | 108 VMSTATE_UINT8_ARRAY(chpid, PMCW, 8), 1335 for (i = 0; i < ARRAY_SIZE(dest->chpid); i++) { in copy_pmcw_to_guest() 1336 dest->chpid[i] = src->chpid[i]; in copy_pmcw_to_guest() 1411 for (i = 0; i < ARRAY_SIZE(dest->chpid); i++) { in copy_pmcw_from_guest() 1412 dest->chpid[i] = src->chpid[i]; in copy_pmcw_from_guest() 1982 int css_do_rchp(uint8_t cssid, uint8_t chpid) in css_do_rchp() argument 1998 if (!channel_subsys.css[real_cssid]->chpids[chpid].in_use) { in css_do_rchp() 2002 if (!channel_subsys.css[real_cssid]->chpids[chpid].is_virtual) { in css_do_rchp() 2005 real_cssid, chpid); in css_do_rchp() 2011 channel_subsys.max_cssid > 0 ? 1 : 0, chpid); in css_do_rchp() [all …]
|
H A D | 3270-ccw.c | 100 uint16_t chpid; in emulated_ccw_3270_realize() local 119 chpid = css_find_free_chpid(sch->cssid); in emulated_ccw_3270_realize() 121 if (chpid > MAX_CHPID) { in emulated_ccw_3270_realize() 128 css_sch_build_virtual_schib(sch, (uint8_t)chpid, in emulated_ccw_3270_realize()
|
H A D | trace-events | 6 css_chpid_add(uint8_t cssid, uint8_t chpid, uint8_t type) "CSS: add chpid %x.%02x (type 0x%02x)"
|
/openbmc/linux/arch/s390/include/uapi/asm/ |
H A D | chsc.h | 51 struct chp_id chpid; member 103 struct ccl_parm_chpid chpid; member 121 struct chp_id chpid; member
|
/openbmc/linux/drivers/s390/char/ |
H A D | sclp_cmd.c | 567 int sclp_chp_configure(struct chp_id chpid) in sclp_chp_configure() argument 569 return do_chp_configure(SCLP_CMDW_CONFIGURE_CHPATH | chpid.id << 8); in sclp_chp_configure() 579 int sclp_chp_deconfigure(struct chp_id chpid) in sclp_chp_deconfigure() argument 581 return do_chp_configure(SCLP_CMDW_DECONFIGURE_CHPATH | chpid.id << 8); in sclp_chp_deconfigure()
|
/openbmc/qemu/include/hw/s390x/ |
H A D | css.h | 202 void css_sch_build_virtual_schib(SubchDev *sch, uint8_t chpid, uint8_t type); 216 void css_generate_chp_crws(uint8_t cssid, uint8_t chpid); 263 int css_do_rchp(uint8_t cssid, uint8_t chpid);
|
H A D | ioinst.h | 96 uint8_t chpid[8]; member
|
/openbmc/qemu/target/s390x/ |
H A D | trace-events | 6 ioinst_chp_id(const char *insn, int cssid, int chpid) "IOINST: %s (%x.%02x)"
|
H A D | ioinst.c | 777 uint8_t chpid; in ioinst_handle_rchp() local 787 chpid = RCHP_REG1_CHPID(reg1); in ioinst_handle_rchp() 789 trace_ioinst_chp_id("rchp", cssid, chpid); in ioinst_handle_rchp() 791 ret = css_do_rchp(cssid, chpid); in ioinst_handle_rchp()
|
/openbmc/linux/Documentation/arch/s390/ |
H A D | driver-model.rst | 272 and are called 'chp0.<chpid>'. They have no driver and do not belong to any bus. 280 Piping 'on' or 'off' sets the chpid logically online/offline. 281 Piping 'on' to an online chpid triggers path reprobing for all devices 282 the chpid connects to. This can be used to force the kernel to re-use
|
/openbmc/linux/drivers/s390/net/ |
H A D | qeth_core_sys.c | 45 return sysfs_emit(buf, "%02X\n", card->info.chpid); in qeth_dev_chpid_show() 48 static DEVICE_ATTR(chpid, 0444, qeth_dev_chpid_show, NULL);
|