[PATCH] firmware: arm_sdei: pass sdei_api_event_register right parameters

From: Liguang Zhang
Date: Fri Sep 10 2021 - 00:01:57 EST


Function _local_event_enable is used for private sdei event
registeration called by sdei_event_register. We should pass
sdei_api_event_register right flag and mpidr parameters, otherwise atf
may trigger assert errors.

Signed-off-by: Liguang Zhang <zhangliguang@xxxxxxxxxxxxxxxxx>
---
drivers/firmware/arm_sdei.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c
index a7e762c352f9..0736752dadde 100644
--- a/drivers/firmware/arm_sdei.c
+++ b/drivers/firmware/arm_sdei.c
@@ -558,14 +558,16 @@ static int sdei_api_event_register(u32 event_num, unsigned long entry_point,
static void _local_event_register(void *data)
{
int err;
+ u64 mpidr;
struct sdei_registered_event *reg;
struct sdei_crosscall_args *arg = data;

WARN_ON(preemptible());

+ mpidr = read_cpuid_mpidr();
reg = per_cpu_ptr(arg->event->private_registered, smp_processor_id());
err = sdei_api_event_register(arg->event->event_num, sdei_entry_point,
- reg, 0, 0);
+ reg, SDEI_EVENT_REGISTER_RM_PE, mpidr);

sdei_cross_call_return(arg, err);
}
--
2.19.1.6.gb485710b