Lines Matching refs:schib

116 	CIO_HEX_EVENT(0, &sch->schib, sizeof (struct schib));  in cio_start_handle_notoper()
163 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in cio_start_key()
198 sch->schib.scsw.cmd.actl |= SCSW_ACTL_RESUME_PEND; in cio_resume()
236 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND; in cio_halt()
269 sch->schib.scsw.cmd.actl |= SCSW_ACTL_CLEAR_PEND; in cio_clear()
314 static void cio_apply_config(struct subchannel *sch, struct schib *schib) in cio_apply_config() argument
316 schib->pmcw.intparm = sch->config.intparm; in cio_apply_config()
317 schib->pmcw.mbi = sch->config.mbi; in cio_apply_config()
318 schib->pmcw.isc = sch->config.isc; in cio_apply_config()
319 schib->pmcw.ena = sch->config.ena; in cio_apply_config()
320 schib->pmcw.mme = sch->config.mme; in cio_apply_config()
321 schib->pmcw.mp = sch->config.mp; in cio_apply_config()
322 schib->pmcw.csense = sch->config.csense; in cio_apply_config()
323 schib->pmcw.mbfc = sch->config.mbfc; in cio_apply_config()
325 schib->mba = sch->config.mba; in cio_apply_config()
328 static int cio_check_config(struct subchannel *sch, struct schib *schib) in cio_check_config() argument
330 return (schib->pmcw.intparm == sch->config.intparm) && in cio_check_config()
331 (schib->pmcw.mbi == sch->config.mbi) && in cio_check_config()
332 (schib->pmcw.isc == sch->config.isc) && in cio_check_config()
333 (schib->pmcw.ena == sch->config.ena) && in cio_check_config()
334 (schib->pmcw.mme == sch->config.mme) && in cio_check_config()
335 (schib->pmcw.mp == sch->config.mp) && in cio_check_config()
336 (schib->pmcw.csense == sch->config.csense) && in cio_check_config()
337 (schib->pmcw.mbfc == sch->config.mbfc) && in cio_check_config()
338 (!sch->config.mbfc || (schib->mba == sch->config.mba)); in cio_check_config()
346 struct schib schib; in cio_commit_config() local
349 if (stsch_err(sch->schid, &schib) || !css_sch_is_valid(&schib)) in cio_commit_config()
354 cio_apply_config(sch, &schib); in cio_commit_config()
355 ccode = msch_err(sch->schid, &schib); in cio_commit_config()
360 if (stsch_err(sch->schid, &schib) || in cio_commit_config()
361 !css_sch_is_valid(&schib)) in cio_commit_config()
363 if (cio_check_config(sch, &schib)) { in cio_commit_config()
365 memcpy(&sch->schib, &schib, sizeof(schib)); in cio_commit_config()
390 struct schib schib; in cio_update_schib() local
392 if (stsch_err(sch->schid, &schib) || !css_sch_is_valid(&schib)) in cio_update_schib()
395 memcpy(&sch->schib, &schib, sizeof(schib)); in cio_update_schib()
486 if (is_blacklisted(sch->schid.ssid, sch->schib.pmcw.dev)) { in cio_check_devno_blacklisted()
493 sch->schib.pmcw.dev, sch->schid.ssid); in cio_check_devno_blacklisted()
502 if (!css_sch_is_valid(&sch->schib)) in cio_validate_io_subchannel()
512 if (!css_sch_is_valid(&sch->schib)) in cio_validate_msg_subchannel()
559 ccode = stsch_err (schid, &sch->schib); in cio_validate_subchannel()
565 sch->st = sch->schib.pmcw.st; in cio_validate_subchannel()
631 memcpy (&sch->schib.scsw, &irb->scsw, in do_IRQ()
694 memcpy(&sch->schib.scsw, &irb->scsw, sizeof(union scsw)); in cio_tpi()
738 } while (console_subchannel.schib.scsw.cmd.actl != 0); in wait_cons_dev()
748 if (stsch_err(schid, &console_subchannel.schib) != 0) in cio_test_for_console()
750 if ((console_subchannel.schib.pmcw.st == SUBCHANNEL_TYPE_IO) && in cio_test_for_console()
751 console_subchannel.schib.pmcw.dnv && in cio_test_for_console()
752 (console_subchannel.schib.pmcw.dev == console_devno)) { in cio_test_for_console()
769 if (stsch_err(schid, &console_subchannel.schib) != 0 || in cio_get_console_sch_no()
770 (console_subchannel.schib.pmcw.st != SUBCHANNEL_TYPE_IO) || in cio_get_console_sch_no()
771 !console_subchannel.schib.pmcw.dnv) in cio_get_console_sch_no()
773 console_devno = console_subchannel.schib.pmcw.dev; in cio_get_console_sch_no()
854 __disable_subchannel_easy(struct subchannel_id schid, struct schib *schib) in __disable_subchannel_easy() argument
860 schib->pmcw.ena = 0; in __disable_subchannel_easy()
861 cc = msch_err(schid, schib); in __disable_subchannel_easy()
864 if (stsch_err(schid, schib) || !css_sch_is_valid(schib)) in __disable_subchannel_easy()
866 if (!schib->pmcw.ena) in __disable_subchannel_easy()
905 static int stsch_reset(struct subchannel_id schid, struct schib *addr) in stsch_reset()
925 struct schib schib; in __shutdown_subchannel_easy() local
927 if (stsch_reset(schid, &schib)) in __shutdown_subchannel_easy()
929 if (!schib.pmcw.ena) in __shutdown_subchannel_easy()
931 switch(__disable_subchannel_easy(schid, &schib)) { in __shutdown_subchannel_easy()
936 switch (schib.pmcw.st) { in __shutdown_subchannel_easy()
948 stsch_err(schid, &schib); in __shutdown_subchannel_easy()
949 __disable_subchannel_easy(schid, &schib); in __shutdown_subchannel_easy()
1035 struct schib schib; in __reipl_subchannel_match() local
1038 if (stsch_reset(schid, &schib)) in __reipl_subchannel_match()
1040 if ((schib.pmcw.st == SUBCHANNEL_TYPE_IO) && schib.pmcw.dnv && in __reipl_subchannel_match()
1041 (schib.pmcw.dev == match_id->devid.devno) && in __reipl_subchannel_match()
1079 struct schib schib; in cio_get_iplinfo() local
1084 if (stsch_err(schid, &schib)) in cio_get_iplinfo()
1086 if (schib.pmcw.st != SUBCHANNEL_TYPE_IO) in cio_get_iplinfo()
1088 if (!schib.pmcw.dnv) in cio_get_iplinfo()
1090 iplinfo->devno = schib.pmcw.dev; in cio_get_iplinfo()
1091 iplinfo->is_qdio = schib.pmcw.qf; in cio_get_iplinfo()