Lines Matching refs:cssid
205 VMSTATE_UINT8_EQUAL(cssid, SubchDev, "Bug!"),
372 if (css_find_subch(true, s->cssid, s->ssid, s->schid) == s) { in subch_dev_post_load()
378 css_subch_assign(s->cssid, s->ssid, s->schid, s->devno, NULL); in subch_dev_post_load()
382 css_subch_assign(s->cssid, s->ssid, s->schid, s->devno, s); in subch_dev_post_load()
454 int css_create_css_image(uint8_t cssid, bool default_image) in css_create_css_image() argument
456 trace_css_new_image(cssid, default_image ? "(default)" : ""); in css_create_css_image()
458 if (cssid == 255) { in css_create_css_image()
461 if (channel_subsys.css[cssid]) { in css_create_css_image()
464 channel_subsys.css[cssid] = g_new0(CssImage, 1); in css_create_css_image()
466 channel_subsys.default_cssid = cssid; in css_create_css_image()
566 static inline uint16_t css_do_build_subchannel_id(uint8_t cssid, uint8_t ssid) in css_do_build_subchannel_id() argument
569 return (cssid << 8) | (1 << 3) | (ssid << 1) | 1; in css_do_build_subchannel_id()
576 return css_do_build_subchannel_id(sch->cssid, sch->ssid); in css_build_subchannel_id()
583 trace_css_io_interrupt(sch->cssid, sch->ssid, sch->schid, in css_inject_io_interrupt()
608 trace_css_io_interrupt(sch->cssid, sch->ssid, sch->schid, in css_conditional_io_interrupt()
1868 int css_collect_chp_desc(int m, uint8_t cssid, uint8_t f_chpid, uint8_t l_chpid, in css_collect_chp_desc() argument
1876 if (!m && !cssid) { in css_collect_chp_desc()
1879 css = channel_subsys.css[cssid]; in css_collect_chp_desc()
1953 int css_do_rchp(uint8_t cssid, uint8_t chpid) in css_do_rchp() argument
1957 if (cssid > channel_subsys.max_cssid) { in css_do_rchp()
1963 real_cssid = cssid; in css_do_rchp()
1989 bool css_schid_final(int m, uint8_t cssid, uint8_t ssid, uint16_t schid) in css_schid_final() argument
1994 real_cssid = (!m && (cssid == 0)) ? channel_subsys.default_cssid : cssid; in css_schid_final()
2005 unsigned int css_find_free_chpid(uint8_t cssid) in css_find_free_chpid() argument
2007 CssImage *css = channel_subsys.css[cssid]; in css_find_free_chpid()
2026 static int css_add_chpid(uint8_t cssid, uint8_t chpid, uint8_t type, in css_add_chpid() argument
2031 trace_css_chpid_add(cssid, chpid, type); in css_add_chpid()
2032 css = channel_subsys.css[cssid]; in css_add_chpid()
2043 css_generate_chp_crws(cssid, chpid); in css_add_chpid()
2052 CssImage *css = channel_subsys.css[sch->cssid]; in css_sch_build_virtual_schib()
2064 css_add_chpid(sch->cssid, chpid, type, true); in css_sch_build_virtual_schib()
2074 SubchDev *css_find_subch(uint8_t m, uint8_t cssid, uint8_t ssid, uint16_t schid) in css_find_subch() argument
2078 real_cssid = (!m && (cssid == 0)) ? channel_subsys.default_cssid : cssid; in css_find_subch()
2100 static uint32_t css_find_free_devno(uint8_t cssid, uint8_t ssid, in css_find_free_devno() argument
2108 if (!css_devno_used(cssid, ssid, devno)) { in css_find_free_devno()
2123 static uint32_t css_find_free_subch(uint8_t cssid, uint8_t ssid) in css_find_free_subch() argument
2128 if (!css_find_subch(1, cssid, ssid, schid)) { in css_find_free_subch()
2143 static bool css_find_free_subch_for_devno(uint8_t cssid, uint8_t ssid, in css_find_free_subch_for_devno() argument
2150 if (css_devno_used(cssid, ssid, devno)) { in css_find_free_subch_for_devno()
2152 cssid, ssid, devno); in css_find_free_subch_for_devno()
2155 free_schid = css_find_free_subch(cssid, ssid); in css_find_free_subch_for_devno()
2158 cssid, ssid, devno); in css_find_free_subch_for_devno()
2177 static bool css_find_free_subch_and_devno(uint8_t cssid, uint8_t *ssid, in css_find_free_subch_and_devno() argument
2185 free_schid = css_find_free_subch(cssid, *ssid); in css_find_free_subch_and_devno()
2189 free_devno = css_find_free_devno(cssid, *ssid, free_schid); in css_find_free_subch_and_devno()
2207 if (sch->cssid != channel_subsys.default_cssid) { in css_subch_visible()
2214 bool css_present(uint8_t cssid) in css_present() argument
2216 return (channel_subsys.css[cssid] != NULL); in css_present()
2219 bool css_devno_used(uint8_t cssid, uint8_t ssid, uint16_t devno) in css_devno_used() argument
2221 if (!channel_subsys.css[cssid]) { in css_devno_used()
2224 if (!channel_subsys.css[cssid]->sch_set[ssid]) { in css_devno_used()
2229 channel_subsys.css[cssid]->sch_set[ssid]->devnos_used); in css_devno_used()
2232 void css_subch_assign(uint8_t cssid, uint8_t ssid, uint16_t schid, in css_subch_assign() argument
2238 trace_css_assign_subch(sch ? "assign" : "deassign", cssid, ssid, schid, in css_subch_assign()
2240 if (!channel_subsys.css[cssid]) { in css_subch_assign()
2243 __func__, cssid, ssid, schid); in css_subch_assign()
2246 css = channel_subsys.css[cssid]; in css_subch_assign()
2311 void css_generate_sch_crws(uint8_t cssid, uint8_t ssid, uint16_t schid, in css_generate_sch_crws() argument
2322 guest_cssid = (cssid == channel_subsys.default_cssid) ? 0 : cssid; in css_generate_sch_crws()
2325 guest_cssid = cssid; in css_generate_sch_crws()
2334 (cssid != channel_subsys.default_cssid))) { in css_generate_sch_crws()
2345 css_clear_io_interrupt(css_do_build_subchannel_id(cssid, ssid), schid); in css_generate_sch_crws()
2348 void css_generate_chp_crws(uint8_t cssid, uint8_t chpid) in css_generate_chp_crws() argument
2353 void css_generate_css_crws(uint8_t cssid) in css_generate_css_crws() argument
2356 css_queue_crw(CRW_RSC_CSS, CRW_ERC_EVENT, 0, 0, cssid); in css_generate_css_crws()
2445 r = snprintf(buffer, sizeof(buffer), "%02x.%1x.%04x", dev_id->cssid, in get_css_devid()
2450 if (dev_id->cssid <= 0xf) { in get_css_devid()
2470 unsigned int cssid, ssid, devid; in set_css_devid() local
2476 num = sscanf(str, "%2x.%1x%n.%4x%n", &cssid, &ssid, &n1, &devid, &n2); in set_css_devid()
2481 if ((cssid > MAX_CSSID) || (ssid > MAX_SSID)) { in set_css_devid()
2483 cssid, ssid); in set_css_devid()
2487 dev_id->cssid = cssid; in set_css_devid()
2517 if (!channel_subsys.css[bus_id.cssid]) { in css_create_sch()
2518 css_create_css_image(bus_id.cssid, false); in css_create_sch()
2521 if (!css_find_free_subch_for_devno(bus_id.cssid, bus_id.ssid, in css_create_sch()
2526 for (bus_id.cssid = channel_subsys.default_cssid;;) { in css_create_sch()
2527 if (!channel_subsys.css[bus_id.cssid]) { in css_create_sch()
2528 css_create_css_image(bus_id.cssid, false); in css_create_sch()
2531 if (css_find_free_subch_and_devno(bus_id.cssid, &bus_id.ssid, in css_create_sch()
2536 bus_id.cssid = (bus_id.cssid + 1) % MAX_CSSID; in css_create_sch()
2537 if (bus_id.cssid == channel_subsys.default_cssid) { in css_create_sch()
2545 sch->cssid = bus_id.cssid; in css_create_sch()
2549 css_subch_assign(sch->cssid, sch->ssid, schid, sch->devno, sch); in css_create_sch()
2562 dev_id->cssid, dev_id->ssid, dev_id->devid); in css_sch_get_chpids()
2596 dev_id->cssid, dev_id->ssid, dev_id->devid); in css_sch_get_path_masks()
2626 dev_id->cssid, chpid); in css_sch_get_chpid_type()
2653 CssImage *css = channel_subsys.css[sch->cssid]; in css_sch_build_schib()
2683 css_add_chpid(sch->cssid, schib->pmcw.chpid[i], type, false); in css_sch_build_schib()