firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
authorTanmay Shah <tanmay.shah@xilinx.com>
Tue, 7 Jun 2022 22:42:54 +0000 (15:42 -0700)
committerMichal Simek <michal.simek@amd.com>
Wed, 29 Jun 2022 12:46:22 +0000 (14:46 +0200)
commitacd6510dd7ab3664b69eb99e37c4fd6325a7d442
tree4f67c609da39127237ede410a4f6f3d057209c1d
parentf2906aa863381afb0015a9eb7fefad885d4e5a56
firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call

SGI interrupt register and reset is performed by EEMI ioctl
IOCTL_REGISTER_SGI. However, this is not correct use of EEMI call.
SGI registration functionality does not qualify as energy management
activity and so shouldn't be mapped to EEMI call.

This new call will replace IOCTL_REGISTER_SGI and will  be handled by TF-A
specific handler in TF-A. To maintain backward compatibility for a while
firmware driver will still use IOCTL_REGISTER_SGI as fallback strategy if
new call fails or is not supported by TF-A.

This new design also helps to make TF-A as pass through layer for EEMI
calls. So we don't have to maintain PM_IOCTL as EEMI API ID in TF-A.

Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20220607224253.54919-1-tanmay.shah@xilinx.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/firmware/xilinx/zynqmp.c
drivers/soc/xilinx/xlnx_event_manager.c
include/linux/firmware/xlnx-zynqmp.h