Lines Matching +full:vrs +full:- +full:10

1 // SPDX-License-Identifier: GPL-2.0-or-later
33 #include <asm/imc-pmu.h>
80 /* Do the actual re-init, This will clobber all FPRs, VRs, etc... in opal_configure_cores()
106 if (cur_cpu_spec->cpu_restore) in opal_configure_cores()
107 cur_cpu_spec->cpu_restore(); in opal_configure_cores()
119 basep = of_get_flat_dt_prop(node, "opal-base-address", &basesz); in early_init_dt_scan_opal()
120 entryp = of_get_flat_dt_prop(node, "opal-entry-address", &entrysz); in early_init_dt_scan_opal()
121 sizep = of_get_flat_dt_prop(node, "opal-runtime-size", &runtimesz); in early_init_dt_scan_opal()
137 if (of_flat_dt_is_compatible(node, "ibm,opal-v3")) { in early_init_dt_scan_opal()
156 prop = of_get_flat_dt_prop(node, "mcheck-recoverable-ranges", &psize); in early_init_dt_scan_recoverable_ranges()
208 return -ENODEV; in opal_register_exception_handlers()
256 INIT_LIST_HEAD(&msg_node->list); in queue_replay_msg()
257 memcpy(&msg_node->msg, msg, sizeof(struct opal_msg)); in queue_replay_msg()
258 list_add_tail(&msg_node->list, &msg_list); in queue_replay_msg()
273 if (be32_to_cpu(msg_node->msg.msg_type) != msg_type) in dequeue_replay_msg()
278 &msg_node->msg); in dequeue_replay_msg()
280 list_del(&msg_node->list); in dequeue_replay_msg()
282 msg_list_size--; in dequeue_replay_msg()
299 return -EINVAL; in opal_message_notifier_register()
369 type = be32_to_cpu(opal_msg->msg_type); in opal_handle_message()
389 ret = of_property_read_u32(opal_node, "opal-msg-size", &opal_msg_size); in opal_message_init()
391 pr_notice("Failed to read opal-msg-size property\n"); in opal_message_init()
414 IRQ_TYPE_LEVEL_HIGH, "opal-msg", NULL); in opal_message_init()
430 return -ENODEV; in opal_get_chars()
450 return -ENODEV; in __opal_put_chars()
456 /* Closed -> drop characters */ in __opal_put_chars()
460 written = -EAGAIN; in __opal_put_chars()
470 written = -EAGAIN; in __opal_put_chars()
488 written = -EAGAIN; in __opal_put_chars()
504 * opal_put_chars_atomic will not perform partial-writes. Data will be
564 * flushed if wait, otherwise it will return -EBUSY if the console has data,
565 * -EAGAIN if it has data and some of it was flushed.
578 return -EAGAIN; in opal_flush_chars()
594 } else if (evt->disposition == MCE_DISPOSITION_RECOVERED) { in opal_recover_mce()
597 } else if (evt->severity == MCE_SEV_FATAL) { in opal_recover_mce()
603 if (!recovered && evt->sync_error) { in opal_recover_mce()
611 * TODO: This is not quite right for d-side machine in opal_recover_mce()
612 * checks ->nip is not necessarily the important in opal_recover_mce()
616 _exception(SIGBUS, regs, BUS_MCEERR_AR, regs->nip); in opal_recover_mce()
706 local_paca->hmi_event_available = 1; in opal_hmi_exception_early()
719 * Check 64-bit flag mask to find out if an event was generated, in opal_hmi_exception_early2()
727 local_paca->hmi_event_available = 1; in opal_hmi_exception_early2()
740 if (!local_paca->hmi_event_available) in opal_handle_hmi_exception()
743 local_paca->hmi_event_available = 0; in opal_handle_hmi_exception()
767 if ((regs->nip >= opal.base) && in opal_mce_check_early_recovery()
768 (regs->nip < (opal.base + opal.size))) in opal_mce_check_early_recovery()
769 recover_addr = find_recovery_address(regs->nip); in opal_mce_check_early_recovery()
772 * Setup regs->nip to rfi into fixup address. in opal_mce_check_early_recovery()
786 return -ENOMEM; in opal_sysfs_init()
806 rc = -ENOMEM; in opal_add_one_export()
811 rc = -ENOMEM; in opal_add_one_export()
816 attr->attr.name = name; in opal_add_one_export()
817 attr->attr.mode = 0400; in opal_add_one_export()
818 attr->read = sysfs_bin_attr_simple_read; in opal_add_one_export()
819 attr->private = __va(vals[0]); in opal_add_one_export()
820 attr->size = vals[1]; in opal_add_one_export()
841 if (!strcmp(prop->name, "name") || in opal_add_exported_attrs()
842 !strcmp(prop->name, "phandle")) in opal_add_exported_attrs()
845 rc = opal_add_one_export(kobj, prop->name, np, prop->name); in opal_add_exported_attrs()
848 np, prop->name, rc); in opal_add_exported_attrs()
855 child_kobj = kobject_create_and_add(child->name, kobj); in opal_add_exported_attrs()
867 * the device-tree under /ibm,opal/firmware/exports/
882 /* Create new 'exports' directory - /sys/firmware/opal/exports */ in opal_export_attrs()
897 np->parent, "symbol-map"); in opal_export_attrs()
981 if (of_property_read_u32(opal_node, "ibm,heartbeat-ms", in opal_init_heartbeat()
997 return -ENODEV; in opal_init()
1024 opal_pdev_init("ibm,opal-i2c"); in opal_init()
1026 /* Handle non-volatile memory devices */ in opal_init()
1027 opal_pdev_init("pmem-region"); in opal_init()
1032 /* Detect In-Memory Collection counters and create devices*/ in opal_init()
1065 opal_pdev_init("ibm,opal-ipmi"); in opal_init()
1066 opal_pdev_init("ibm,opal-flash"); in opal_init()
1067 opal_pdev_init("ibm,opal-prd"); in opal_init()
1070 opal_pdev_init("ibm,opal-oppanel"); in opal_init()
1078 /* Initialise OPAL Power-Shifting-Ratio interface */ in opal_init()
1088 opal_pdev_init("ibm,secvar-backend"); in opal_init()
1110 mdelay(10); in opal_shutdown()
1147 sg->entry[i].data = cpu_to_be64(data); in opal_vmalloc_to_sg_list()
1148 sg->entry[i].length = cpu_to_be64(length); in opal_vmalloc_to_sg_list()
1158 sg->length = cpu_to_be64( in opal_vmalloc_to_sg_list()
1161 sg->next = cpu_to_be64(__pa(next)); in opal_vmalloc_to_sg_list()
1166 vmalloc_size -= length; in opal_vmalloc_to_sg_list()
1169 sg->length = cpu_to_be64(i * sizeof(struct opal_sg_entry) + 16); in opal_vmalloc_to_sg_list()
1182 uint64_t next = be64_to_cpu(sg->next); in opal_free_sg_list()
1198 case OPAL_PARAMETER: return -EINVAL; in opal_error_code()
1199 case OPAL_ASYNC_COMPLETION: return -EINPROGRESS; in opal_error_code()
1201 case OPAL_BUSY_EVENT: return -EBUSY; in opal_error_code()
1202 case OPAL_NO_MEM: return -ENOMEM; in opal_error_code()
1203 case OPAL_PERMISSION: return -EPERM; in opal_error_code()
1205 case OPAL_UNSUPPORTED: return -EIO; in opal_error_code()
1206 case OPAL_HARDWARE: return -EIO; in opal_error_code()
1207 case OPAL_INTERNAL_ERROR: return -EIO; in opal_error_code()
1208 case OPAL_TIMEOUT: return -ETIMEDOUT; in opal_error_code()
1211 return -EIO; in opal_error_code()
1220 rc = opal_nmmu_set_ptcr(-1UL, ptcr); in powernv_set_nmmu_ptcr()