Lines Matching +full:os +full:- +full:initiated

1 // SPDX-License-Identifier: GPL-2.0-only
49 #define PRRN_SCOPE -2
104 is_platfac = of_node_is_type(dn, "ibm,platform-facilities") || in delete_dt_node()
105 of_node_is_type(pdn, "ibm,platform-facilities"); in delete_dt_node()
109 * The drivers that bind to nodes in the platform-facilities in delete_dt_node()
134 * ibm,update-properties again to get the rest of the value. in update_dt_property()
145 char *new_data = kzalloc(new_prop->length + vd, GFP_KERNEL); in update_dt_property()
147 return -ENOMEM; in update_dt_property()
149 memcpy(new_data, new_prop->value, new_prop->length); in update_dt_property()
150 memcpy(new_data + new_prop->length, value, vd); in update_dt_property()
152 kfree(new_prop->value); in update_dt_property()
153 new_prop->value = new_data; in update_dt_property()
154 new_prop->length += vd; in update_dt_property()
158 return -ENOMEM; in update_dt_property()
160 new_prop->name = kstrdup(name, GFP_KERNEL); in update_dt_property()
161 if (!new_prop->name) { in update_dt_property()
163 return -ENOMEM; in update_dt_property()
166 new_prop->length = vd; in update_dt_property()
167 new_prop->value = kzalloc(new_prop->length, GFP_KERNEL); in update_dt_property()
168 if (!new_prop->value) { in update_dt_property()
169 kfree(new_prop->name); in update_dt_property()
171 return -ENOMEM; in update_dt_property()
174 memcpy(new_prop->value, value, vd); in update_dt_property()
198 update_properties_token = rtas_token("ibm,update-properties"); in update_dt_node()
200 return -EINVAL; in update_dt_node()
204 return -ENOMEM; in update_dt_node()
207 upwa->phandle = cpu_to_be32(dn->phandle); in update_dt_node()
216 nprops = be32_to_cpu(upwa->nprops); in update_dt_node()
218 /* On the first call to ibm,update-properties for a node the in update_dt_node()
227 nprops--; in update_dt_node()
278 return -ENOENT; in add_dt_node()
282 * necessary counterpart. We also know that a platform-facilities in add_dt_node()
287 if (of_node_is_type(dn, "ibm,platform-facilities")) { in add_dt_node()
309 update_nodes_token = rtas_token("ibm,update-nodes"); in pseries_devicetree_update()
315 return -ENOMEM; in pseries_devicetree_update()
397 /* Reinitialise system information for hv-24x7 */ in post_mobility_fixup()
416 ret = -EINVAL; in poll_vasi_state()
419 ret = -EOPNOTSUPP; in poll_vasi_state()
424 ret = -EIO; in poll_vasi_state()
448 ret = -EIO; in wait_for_vasi_session_suspending()
455 * ibm,suspend-me are also unimplemented, we'll recover then. in wait_for_vasi_session_suspending()
457 if (ret == -EOPNOTSUPP) in wait_for_vasi_session_suspending()
481 if (ret == -EINVAL || (!ret && state == H_VASI_COMPLETED)) { in wait_for_vasi_session_completed()
542 pr_info("calling ibm,suspend-me on CPU %i\n", smp_processor_id()); in do_suspend()
548 * programming non-existent entries on the destination. If in do_suspend()
557 pr_err("ibm,suspend-me error: %d\n", status); in do_suspend()
565 * struct pseries_suspend_info - State shared between CPUs for join/suspend.
581 atomic_t *counter = &info->counter; in do_join()
606 * the load of info->done. It pairs with the barrier in do_join()
610 if (READ_ONCE(info->done) == false) { in do_join()
620 ret = -EIO; in do_join()
628 WRITE_ONCE(info->done, true); in do_join()
630 * This barrier orders the store to info->done vs subsequent in do_join()
719 } else if (vasi_err != -EOPNOTSUPP) { in pseries_suspend()
744 * When the migration is initiated, the hypervisor changes VAS in pseries_migrate_partition()
745 * mappings to prepare before OS gets the notification and in pseries_migrate_partition()
822 return -ENOMEM; in mobility_sysfs_init()