• Home
  • Raw
  • Download

Lines Matching refs:chpid

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()
109 static int s390_vary_chpid(struct chp_id chpid, int on) in s390_vary_chpid() argument
114 sprintf(dbf_text, on?"varyon%x.%02x":"varyoff%x.%02x", chpid.cssid, in s390_vary_chpid()
115 chpid.id); in s390_vary_chpid()
118 status = chp_get_status(chpid); in s390_vary_chpid()
122 set_chp_logically_online(chpid, on); in s390_vary_chpid()
123 chsc_chp_vary(chpid, on); in s390_vary_chpid()
158 struct chp_id chpid) in chp_measurement_copy_block() argument
164 if (chpid.id < 128) { in chp_measurement_copy_block()
166 idx = chpid.id; in chp_measurement_copy_block()
169 idx = chpid.id - 128; in chp_measurement_copy_block()
196 chp_measurement_copy_block((struct cmg_entry *)buf, css, chp->chpid); in chp_measurement_read()
263 error = s390_vary_chpid(cp->chpid, 1); in chp_status_write()
267 error = s390_vary_chpid(cp->chpid, 0); in chp_status_write()
284 status = chp_info_get_status(cp->chpid); in chp_configure_show()
306 chp_cfg_schedule(cp->chpid, val); in chp_configure_write()
466 rc = chsc_determine_fmt0_channel_path_desc(chp->chpid, &chp->desc); in chp_update_desc()
474 chsc_determine_fmt1_channel_path_desc(chp->chpid, &chp->desc_fmt1); in chp_update_desc()
475 chsc_determine_fmt3_channel_path_desc(chp->chpid, &chp->desc_fmt3); in chp_update_desc()
488 int chp_new(struct chp_id chpid) in chp_new() argument
490 struct channel_subsystem *css = css_by_id(chpid.cssid); in chp_new()
495 if (chp_is_registered(chpid)) in chp_new()
504 chp->chpid = chpid; in chp_new()
519 dev_set_name(&chp->dev, "chp%x.%02x", chpid.cssid, chpid.id); in chp_new()
525 chpid.cssid, chpid.id, ret); in chp_new()
537 css->chps[chpid.id] = chp; in chp_new()
553 struct channel_path_desc_fmt0 *chp_get_chp_desc(struct chp_id chpid) in chp_get_chp_desc() argument
558 chp = chpid_to_chp(chpid); in chp_get_chp_desc()
583 struct chp_id chpid; in chp_process_crw() local
603 chp_id_init(&chpid); in chp_process_crw()
604 chpid.id = crw0->rsid; in chp_process_crw()
608 chp_new(chpid); in chp_process_crw()
609 chsc_chp_online(chpid); in chp_process_crw()
613 chsc_chp_offline(chpid); in chp_process_crw()
630 if (!chp_id_is_equal(&ssd->chpid[i], &link->chpid)) in chp_ssd_get_mask()
678 int chp_info_get_status(struct chp_id chpid) in chp_info_get_status() argument
687 bit = info_bit_num(chpid); in chp_info_get_status()
703 static enum cfg_task_t cfg_get_task(struct chp_id chpid) in cfg_get_task() argument
705 return chp_cfg_task[chpid.cssid][chpid.id]; in cfg_get_task()
709 static void cfg_set_task(struct chp_id chpid, enum cfg_task_t cfg) in cfg_set_task() argument
711 chp_cfg_task[chpid.cssid][chpid.id] = cfg; in cfg_set_task()
715 static enum cfg_task_t chp_cfg_fetch_task(struct chp_id *chpid) in chp_cfg_fetch_task() argument
719 chp_id_for_each(chpid) { in chp_cfg_fetch_task()
720 t = cfg_get_task(*chpid); in chp_cfg_fetch_task()
732 struct chp_id chpid; in cfg_func() local
737 t = chp_cfg_fetch_task(&chpid); in cfg_func()
742 rc = sclp_chp_configure(chpid); in cfg_func()
745 "%d\n", chpid.cssid, chpid.id, rc); in cfg_func()
748 chsc_chp_online(chpid); in cfg_func()
752 rc = sclp_chp_deconfigure(chpid); in cfg_func()
755 "%d\n", chpid.cssid, chpid.id, rc); in cfg_func()
758 chsc_chp_offline(chpid); in cfg_func()
768 if (t == cfg_get_task(chpid)) in cfg_func()
769 cfg_set_task(chpid, cfg_none); in cfg_func()
781 void chp_cfg_schedule(struct chp_id chpid, int configure) in chp_cfg_schedule() argument
783 CIO_MSG_EVENT(2, "chp_cfg_sched%x.%02x=%d\n", chpid.cssid, chpid.id, in chp_cfg_schedule()
786 cfg_set_task(chpid, configure ? cfg_configure : cfg_deconfigure); in chp_cfg_schedule()
798 void chp_cfg_cancel_deconfigure(struct chp_id chpid) in chp_cfg_cancel_deconfigure() argument
800 CIO_MSG_EVENT(2, "chp_cfg_cancel:%x.%02x\n", chpid.cssid, chpid.id); in chp_cfg_cancel_deconfigure()
802 if (cfg_get_task(chpid) == cfg_deconfigure) in chp_cfg_cancel_deconfigure()
803 cfg_set_task(chpid, cfg_none); in chp_cfg_cancel_deconfigure()
809 struct chp_id chpid; in cfg_idle() local
813 t = chp_cfg_fetch_task(&chpid); in cfg_idle()
828 struct chp_id chpid; in chp_init() local
838 chp_id_for_each(&chpid) { in chp_init()
839 state = chp_info_get_status(chpid); in chp_init()
842 chp_new(chpid); in chp_init()