Lines Matching refs:css

27 #include "css.h"
333 return sprintf(buf, "css:t%01X\n", sch->st);
862 css_generate_pgid(struct channel_subsystem *css, u32 tod_high)
867 css->global_pgid.pgid_high.ext_cssid.version = 0x80;
868 css->global_pgid.pgid_high.ext_cssid.cssid =
869 css->id_valid ? css->cssid : 0;
871 css->global_pgid.pgid_high.cpu_addr = stap();
874 css->global_pgid.cpu_id = cpu_id.ident;
875 css->global_pgid.cpu_model = cpu_id.machine;
876 css->global_pgid.tod_high = tod_high;
881 struct channel_subsystem *css = to_css(dev);
883 mutex_destroy(&css->mutex);
884 kfree(css);
890 struct channel_subsystem *css = to_css(dev);
892 if (!css->id_valid)
895 return sprintf(buf, "%x\n", css->cssid);
914 struct channel_subsystem *css = to_css(dev);
917 mutex_lock(&css->mutex);
918 ret = sprintf(buf, "%x\n", css->cm_enabled);
919 mutex_unlock(&css->mutex);
926 struct channel_subsystem *css = to_css(dev);
933 mutex_lock(&css->mutex);
936 ret = css->cm_enabled ? chsc_secm(css, 0) : 0;
939 ret = css->cm_enabled ? 0 : chsc_secm(css, 1);
944 mutex_unlock(&css->mutex);
983 struct channel_subsystem *css;
986 css = kzalloc(sizeof(*css), GFP_KERNEL);
987 if (!css)
990 channel_subsystems[nr] = css;
991 dev_set_name(&css->device, "css%x", nr);
992 css->device.groups = cssdev_attr_groups;
993 css->device.release = channel_subsystem_release;
996 * css->device as the device argument with the DMA API)
999 ret = dma_coerce_mask_and_coherent(&css->device, DMA_BIT_MASK(64));
1001 kfree(css);
1005 mutex_init(&css->mutex);
1006 ret = chsc_get_cssid_iid(nr, &css->cssid, &css->iid);
1008 css->id_valid = true;
1009 pr_info("Partition identifier %01x.%01x\n", css->cssid,
1010 css->iid);
1012 css_generate_pgid(css, (u32) (get_tod_clock() >> 32));
1014 ret = device_register(&css->device);
1016 put_device(&css->device);
1020 css->pseudo_subchannel = kzalloc(sizeof(*css->pseudo_subchannel),
1022 if (!css->pseudo_subchannel) {
1023 device_unregister(&css->device);
1028 css->pseudo_subchannel->dev.parent = &css->device;
1029 css->pseudo_subchannel->dev.release = css_subchannel_release;
1030 mutex_init(&css->pseudo_subchannel->reg_mutex);
1031 ret = css_sch_create_locks(css->pseudo_subchannel);
1033 kfree(css->pseudo_subchannel);
1034 device_unregister(&css->device);
1038 dev_set_name(&css->pseudo_subchannel->dev, "defunct");
1039 ret = device_register(&css->pseudo_subchannel->dev);
1041 put_device(&css->pseudo_subchannel->dev);
1042 device_unregister(&css->device);
1056 struct channel_subsystem *css;
1060 for_each_css(css) {
1061 mutex_lock(&css->mutex);
1062 if (css->cm_enabled)
1063 if (chsc_secm(css, 0))
1065 mutex_unlock(&css->mutex);
1078 /* Currently cio supports only a single css */
1164 * Allocate dma memory from the css global pool. Intended for memory not
1165 * specific to any single device within the css. The allocated memory
1211 /* Setup css structure. */
1234 struct channel_subsystem *css = channel_subsystems[i];
1235 device_unregister(&css->pseudo_subchannel->dev);
1236 device_unregister(&css->device);
1250 struct channel_subsystem *css;
1252 for_each_css(css) {
1253 device_unregister(&css->pseudo_subchannel->dev);
1254 device_unregister(&css->device);
1424 ret = add_uevent_var(env, "MODALIAS=css:t%01X", sch->st);
1429 .name = "css",
1438 * css_driver_register - register a css driver
1439 * @cdrv: css driver to register
1452 * css_driver_unregister - unregister a css driver
1453 * @cdrv: css driver to unregister