Lines Matching refs:channel_subsys
345 static ChannelSubSys channel_subsys = { variable
346 .pending_crws = QTAILQ_HEAD_INITIALIZER(channel_subsys.pending_crws),
352 QTAILQ_HEAD_INITIALIZER(channel_subsys.indicator_addresses),
390 vmstate_register(NULL, 0, &vmstate_css, &channel_subsys); in css_register_vmstate()
397 QTAILQ_FOREACH(indicator, &channel_subsys.indicator_addresses, sibling) { in get_indicator()
407 QTAILQ_INSERT_TAIL(&channel_subsys.indicator_addresses, in get_indicator()
428 QTAILQ_REMOVE(&channel_subsys.indicator_addresses, indicator, sibling); in release_indicator()
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()
474 !channel_subsys.io_adapters[type][isc]) { in css_get_adapter_id()
478 return channel_subsys.io_adapters[type][isc]->id; in css_get_adapter_id()
503 if (channel_subsys.io_adapters[type][0]) { in css_register_io_adapters()
516 channel_subsys.io_adapters[type][isc] = adapter; in css_register_io_adapters()
530 g_free(channel_subsys.io_adapters[type][isc]); in css_register_io_adapters()
531 channel_subsys.io_adapters[type][isc] = NULL; in css_register_io_adapters()
568 if (channel_subsys.max_cssid > 0) { in css_do_build_subchannel_id()
654 IoAdapter *adapter = channel_subsys.io_adapters[type][isc]; in css_adapter_interrupt()
1599 channel_subsys.chnmon_area + offset, in css_update_chnmon()
1604 channel_subsys.chnmon_area + offset, count, in css_update_chnmon()
1630 if (channel_subsys.chnmon_active) { in css_do_ssch()
1832 crw_cont = QTAILQ_FIRST(&channel_subsys.pending_crws); in css_do_stcrw()
1834 QTAILQ_REMOVE(&channel_subsys.pending_crws, crw_cont, sibling); in css_do_stcrw()
1841 channel_subsys.do_crw_mchk = true; in css_do_stcrw()
1860 channel_subsys.crws_lost = true; in css_undo_stcrw()
1865 QTAILQ_INSERT_HEAD(&channel_subsys.pending_crws, crw_cont, sibling); in css_undo_stcrw()
1877 css = channel_subsys.css[channel_subsys.default_cssid]; in css_collect_chp_desc()
1879 css = channel_subsys.css[cssid]; in css_collect_chp_desc()
1914 if (update && !channel_subsys.chnmon_active) { in css_do_schm()
1916 channel_subsys.chnmon_area = mbo; in css_do_schm()
1917 channel_subsys.chnmon_active = true; in css_do_schm()
1919 if (!update && channel_subsys.chnmon_active) { in css_do_schm()
1921 channel_subsys.chnmon_area = 0; in css_do_schm()
1922 channel_subsys.chnmon_active = false; in css_do_schm()
1945 if (channel_subsys.chnmon_active) { in css_do_rsch()
1957 if (cssid > channel_subsys.max_cssid) { in css_do_rchp()
1960 if (channel_subsys.max_cssid == 0) { in css_do_rchp()
1961 real_cssid = channel_subsys.default_cssid; in css_do_rchp()
1965 if (!channel_subsys.css[real_cssid]) { in css_do_rchp()
1969 if (!channel_subsys.css[real_cssid]->chpids[chpid].in_use) { in css_do_rchp()
1973 if (!channel_subsys.css[real_cssid]->chpids[chpid].is_virtual) { in css_do_rchp()
1982 channel_subsys.max_cssid > 0 ? 1 : 0, chpid); in css_do_rchp()
1983 if (channel_subsys.max_cssid > 0) { in css_do_rchp()
1994 real_cssid = (!m && (cssid == 0)) ? channel_subsys.default_cssid : cssid; in css_schid_final()
1996 !channel_subsys.css[real_cssid] || in css_schid_final()
1997 !channel_subsys.css[real_cssid]->sch_set[ssid]) { in css_schid_final()
2000 set = channel_subsys.css[real_cssid]->sch_set[ssid]; in css_schid_final()
2007 CssImage *css = channel_subsys.css[cssid]; in css_find_free_chpid()
2032 css = channel_subsys.css[cssid]; in css_add_chpid()
2052 CssImage *css = channel_subsys.css[sch->cssid]; in css_sch_build_virtual_schib()
2078 real_cssid = (!m && (cssid == 0)) ? channel_subsys.default_cssid : cssid; in css_find_subch()
2080 if (!channel_subsys.css[real_cssid]) { in css_find_subch()
2084 if (!channel_subsys.css[real_cssid]->sch_set[ssid]) { in css_find_subch()
2088 return channel_subsys.css[real_cssid]->sch_set[ssid]->sch[schid]; in css_find_subch()
2203 if (sch->ssid > channel_subsys.max_ssid) { in css_subch_visible()
2207 if (sch->cssid != channel_subsys.default_cssid) { in css_subch_visible()
2208 return (channel_subsys.max_cssid > 0); in css_subch_visible()
2216 return (channel_subsys.css[cssid] != NULL); in css_present()
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()
2240 if (!channel_subsys.css[cssid]) { in css_subch_assign()
2246 css = channel_subsys.css[cssid]; in css_subch_assign()
2275 channel_subsys.crws_lost = true; in css_crw_add_to_queue()
2281 QTAILQ_INSERT_TAIL(&channel_subsys.pending_crws, crw_cont, sibling); in css_crw_add_to_queue()
2283 if (channel_subsys.do_crw_mchk) { in css_crw_add_to_queue()
2284 channel_subsys.do_crw_mchk = false; in css_crw_add_to_queue()
2303 if (channel_subsys.crws_lost) { in css_queue_crw()
2305 channel_subsys.crws_lost = false; in css_queue_crw()
2320 if (channel_subsys.max_cssid == 0) { in css_generate_sch_crws()
2322 guest_cssid = (cssid == channel_subsys.default_cssid) ? 0 : cssid; in css_generate_sch_crws()
2331 if ((ssid > channel_subsys.max_ssid) || in css_generate_sch_crws()
2332 (guest_cssid > channel_subsys.max_cssid) || in css_generate_sch_crws()
2333 ((channel_subsys.max_cssid == 0) && in css_generate_sch_crws()
2334 (cssid != channel_subsys.default_cssid))) { in css_generate_sch_crws()
2337 chain_crw = (channel_subsys.max_ssid > 0) || in css_generate_sch_crws()
2338 (channel_subsys.max_cssid > 0); in css_generate_sch_crws()
2355 if (!channel_subsys.sei_pending) { in css_generate_css_crws()
2358 channel_subsys.sei_pending = true; in css_generate_css_crws()
2363 channel_subsys.sei_pending = false; in css_clear_sei_pending()
2369 channel_subsys.max_cssid = MAX_CSSID; in css_enable_mcsse()
2376 channel_subsys.max_ssid = MAX_SSID; in css_enable_mss()
2417 channel_subsys.chnmon_active = false; in css_reset()
2418 channel_subsys.chnmon_area = 0; in css_reset()
2421 while ((crw_cont = QTAILQ_FIRST(&channel_subsys.pending_crws))) { in css_reset()
2422 QTAILQ_REMOVE(&channel_subsys.pending_crws, crw_cont, sibling); in css_reset()
2425 channel_subsys.sei_pending = false; in css_reset()
2426 channel_subsys.do_crw_mchk = true; in css_reset()
2427 channel_subsys.crws_lost = false; in css_reset()
2430 channel_subsys.max_cssid = 0; in css_reset()
2431 channel_subsys.max_ssid = 0; in css_reset()
2517 if (!channel_subsys.css[bus_id.cssid]) { 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()
2537 if (bus_id.cssid == channel_subsys.default_cssid) { in css_create_sch()
2653 CssImage *css = channel_subsys.css[sch->cssid]; in css_sch_build_schib()