Lines Matching refs:css

867 css_generate_pgid(struct channel_subsystem *css, u32 tod_high)  in css_generate_pgid()  argument
872 css->global_pgid.pgid_high.ext_cssid.version = 0x80; in css_generate_pgid()
873 css->global_pgid.pgid_high.ext_cssid.cssid = in css_generate_pgid()
874 css->id_valid ? css->cssid : 0; in css_generate_pgid()
876 css->global_pgid.pgid_high.cpu_addr = stap(); in css_generate_pgid()
879 css->global_pgid.cpu_id = cpu_id.ident; in css_generate_pgid()
880 css->global_pgid.cpu_model = cpu_id.machine; in css_generate_pgid()
881 css->global_pgid.tod_high = tod_high; in css_generate_pgid()
886 struct channel_subsystem *css = to_css(dev); in channel_subsystem_release() local
888 mutex_destroy(&css->mutex); in channel_subsystem_release()
889 kfree(css); in channel_subsystem_release()
895 struct channel_subsystem *css = to_css(dev); in real_cssid_show() local
897 if (!css->id_valid) in real_cssid_show()
900 return sprintf(buf, "%x\n", css->cssid); in real_cssid_show()
907 struct channel_subsystem *css = to_css(dev); in cm_enable_show() local
910 mutex_lock(&css->mutex); in cm_enable_show()
911 ret = sprintf(buf, "%x\n", css->cm_enabled); in cm_enable_show()
912 mutex_unlock(&css->mutex); in cm_enable_show()
919 struct channel_subsystem *css = to_css(dev); in cm_enable_store() local
926 mutex_lock(&css->mutex); in cm_enable_store()
929 ret = css->cm_enabled ? chsc_secm(css, 0) : 0; in cm_enable_store()
932 ret = css->cm_enabled ? 0 : chsc_secm(css, 1); in cm_enable_store()
937 mutex_unlock(&css->mutex); in cm_enable_store()
975 struct channel_subsystem *css; in setup_css() local
978 css = kzalloc(sizeof(*css), GFP_KERNEL); in setup_css()
979 if (!css) in setup_css()
982 channel_subsystems[nr] = css; in setup_css()
983 dev_set_name(&css->device, "css%x", nr); in setup_css()
984 css->device.groups = cssdev_attr_groups; in setup_css()
985 css->device.release = channel_subsystem_release; in setup_css()
991 css->device.coherent_dma_mask = DMA_BIT_MASK(64); in setup_css()
992 css->device.dma_mask = &css->device.coherent_dma_mask; in setup_css()
994 mutex_init(&css->mutex); in setup_css()
995 ret = chsc_get_cssid_iid(nr, &css->cssid, &css->iid); in setup_css()
997 css->id_valid = true; in setup_css()
998 pr_info("Partition identifier %01x.%01x\n", css->cssid, in setup_css()
999 css->iid); in setup_css()
1001 css_generate_pgid(css, (u32) (get_tod_clock() >> 32)); in setup_css()
1003 ret = device_register(&css->device); in setup_css()
1005 put_device(&css->device); in setup_css()
1009 css->pseudo_subchannel = kzalloc(sizeof(*css->pseudo_subchannel), in setup_css()
1011 if (!css->pseudo_subchannel) { in setup_css()
1012 device_unregister(&css->device); in setup_css()
1017 css->pseudo_subchannel->dev.parent = &css->device; in setup_css()
1018 css->pseudo_subchannel->dev.release = css_subchannel_release; in setup_css()
1019 mutex_init(&css->pseudo_subchannel->reg_mutex); in setup_css()
1020 ret = css_sch_create_locks(css->pseudo_subchannel); in setup_css()
1022 kfree(css->pseudo_subchannel); in setup_css()
1023 device_unregister(&css->device); in setup_css()
1027 dev_set_name(&css->pseudo_subchannel->dev, "defunct"); in setup_css()
1028 ret = device_register(&css->pseudo_subchannel->dev); in setup_css()
1030 put_device(&css->pseudo_subchannel->dev); in setup_css()
1031 device_unregister(&css->device); in setup_css()
1045 struct channel_subsystem *css; in css_reboot_event() local
1049 for_each_css(css) { in css_reboot_event()
1050 mutex_lock(&css->mutex); in css_reboot_event()
1051 if (css->cm_enabled) in css_reboot_event()
1052 if (chsc_secm(css, 0)) in css_reboot_event()
1054 mutex_unlock(&css->mutex); in css_reboot_event()
1073 struct channel_subsystem *css; in css_power_event() local
1080 for_each_css(css) { in css_power_event()
1081 mutex_lock(&css->mutex); in css_power_event()
1082 if (!css->cm_enabled) { in css_power_event()
1083 mutex_unlock(&css->mutex); in css_power_event()
1086 ret = __chsc_do_secm(css, 0); in css_power_event()
1088 mutex_unlock(&css->mutex); in css_power_event()
1094 for_each_css(css) { in css_power_event()
1095 mutex_lock(&css->mutex); in css_power_event()
1096 if (!css->cm_enabled) { in css_power_event()
1097 mutex_unlock(&css->mutex); in css_power_event()
1100 ret = __chsc_do_secm(css, 1); in css_power_event()
1102 mutex_unlock(&css->mutex); in css_power_event()
1281 struct channel_subsystem *css = channel_subsystems[i]; in css_bus_init() local
1282 device_unregister(&css->pseudo_subchannel->dev); in css_bus_init()
1283 device_unregister(&css->device); in css_bus_init()
1297 struct channel_subsystem *css; in css_bus_cleanup() local
1299 for_each_css(css) { in css_bus_cleanup()
1300 device_unregister(&css->pseudo_subchannel->dev); in css_bus_cleanup()
1301 device_unregister(&css->device); in css_bus_cleanup()