Lines Matching +full:os +full:- +full:initiated
1 // SPDX-License-Identifier: GPL-2.0-only
50 #define PRRN_SCOPE -2
96 is_platfac = of_node_is_type(dn, "ibm,platform-facilities") || in delete_dt_node()
97 of_node_is_type(pdn, "ibm,platform-facilities"); in delete_dt_node()
101 * The drivers that bind to nodes in the platform-facilities in delete_dt_node()
126 * ibm,update-properties again to get the rest of the value. in update_dt_property()
137 char *new_data = kzalloc(new_prop->length + vd, GFP_KERNEL); in update_dt_property()
139 return -ENOMEM; in update_dt_property()
141 memcpy(new_data, new_prop->value, new_prop->length); in update_dt_property()
142 memcpy(new_data + new_prop->length, value, vd); in update_dt_property()
144 kfree(new_prop->value); in update_dt_property()
145 new_prop->value = new_data; in update_dt_property()
146 new_prop->length += vd; in update_dt_property()
150 return -ENOMEM; in update_dt_property()
152 new_prop->name = kstrdup(name, GFP_KERNEL); in update_dt_property()
153 if (!new_prop->name) { in update_dt_property()
155 return -ENOMEM; in update_dt_property()
158 new_prop->length = vd; in update_dt_property()
159 new_prop->value = kzalloc(new_prop->length, GFP_KERNEL); in update_dt_property()
160 if (!new_prop->value) { in update_dt_property()
161 kfree(new_prop->name); in update_dt_property()
163 return -ENOMEM; in update_dt_property()
166 memcpy(new_prop->value, value, vd); in update_dt_property()
192 return -EINVAL; in update_dt_node()
196 return -ENOMEM; in update_dt_node()
199 upwa->phandle = cpu_to_be32(dn->phandle); in update_dt_node()
208 nprops = be32_to_cpu(upwa->nprops); in update_dt_node()
210 /* On the first call to ibm,update-properties for a node the in update_dt_node()
219 nprops--; in update_dt_node()
270 return -ENOENT; in add_dt_node()
274 * necessary counterpart. We also know that a platform-facilities in add_dt_node()
279 if (of_node_is_type(dn, "ibm,platform-facilities")) { in add_dt_node()
307 return -ENOMEM; in pseries_devicetree_update()
389 /* Reinitialise system information for hv-24x7 */ in post_mobility_fixup()
408 ret = -EINVAL; in poll_vasi_state()
411 ret = -EOPNOTSUPP; in poll_vasi_state()
416 ret = -EIO; in poll_vasi_state()
440 ret = -EIO; in wait_for_vasi_session_suspending()
447 * ibm,suspend-me are also unimplemented, we'll recover then. in wait_for_vasi_session_suspending()
449 if (ret == -EOPNOTSUPP) in wait_for_vasi_session_suspending()
473 if (ret == -EINVAL || (!ret && state == H_VASI_COMPLETED)) { in wait_for_vasi_session_completed()
534 pr_info("calling ibm,suspend-me on CPU %i\n", smp_processor_id()); in do_suspend()
540 * programming non-existent entries on the destination. If in do_suspend()
549 pr_err("ibm,suspend-me error: %d\n", status); in do_suspend()
557 * struct pseries_suspend_info - State shared between CPUs for join/suspend.
573 atomic_t *counter = &info->counter; in do_join()
598 * the load of info->done. It pairs with the barrier in do_join()
602 if (READ_ONCE(info->done) == false) { in do_join()
612 ret = -EIO; in do_join()
620 WRITE_ONCE(info->done, true); in do_join()
622 * This barrier orders the store to info->done vs subsequent in do_join()
714 } else if (vasi_err != -EOPNOTSUPP) { in pseries_suspend()
739 * When the migration is initiated, the hypervisor changes VAS in pseries_migrate_partition()
740 * mappings to prepare before OS gets the notification and in pseries_migrate_partition()
817 return -ENOMEM; in mobility_sysfs_init()