@@ -416,7 +416,7 @@ void add_opal_node(void)
dt_add_property_strings(opal_node, "compatible", "ibm,opal-v3");
dt_add_property_cells(opal_node, "opal-msg-async-num", OPAL_MAX_ASYNC_COMP);
- dt_add_property_cells(opal_node, "opal-msg-size", sizeof(struct opal_msg));
+ dt_add_property_cells(opal_node, "opal-msg-size", OPAL_MSG_SIZE);
dt_add_property_u64(opal_node, "opal-base-address", base);
dt_add_property_u64(opal_node, "opal-entry-address", entry);
dt_add_property_u64(opal_node, "opal-runtime-size", size);
@@ -27,6 +27,9 @@
*/
#define OPAL_MAX_ASYNC_COMP 16
+/* Max size of struct opal_msg */
+#define OPAL_MSG_SIZE (64 * 1024)
+
int _opal_queue_msg(enum opal_msg_type msg_type, void *data,
void (*consumed)(void *data), size_t num_params,
const u64 *params);
Kernel will use `opal-msg-size` property to allocate memory for opal_msg. We want to send bigger data from OPAL to kernel. Hence increase opal-msg-size to 64K. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> --- core/opal.c | 2 +- include/opal-msg.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-)