mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
firmware: xilinx: add register notifier in zynqmp firmware
In zynqmp-firmware, register notifier is not supported, add support of register notifier in zynqmp-firmware. Acked-by: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Tejas Patel <tejas.patel@xilinx.com> Signed-off-by: Abhyuday Godhasara <abhyuday.godhasara@xilinx.com> Link: https://lore.kernel.org/r/20211026042525.26612-2-abhyuday.godhasara@xilinx.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
fbf3443f77
commit
1881eadb20
@ -1116,6 +1116,29 @@ int zynqmp_pm_aes_engine(const u64 address, u32 *out)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(zynqmp_pm_aes_engine);
|
||||
|
||||
/**
|
||||
* zynqmp_pm_register_notifier() - PM API for register a subsystem
|
||||
* to be notified about specific
|
||||
* event/error.
|
||||
* @node: Node ID to which the event is related.
|
||||
* @event: Event Mask of Error events for which wants to get notified.
|
||||
* @wake: Wake subsystem upon capturing the event if value 1
|
||||
* @enable: Enable the registration for value 1, disable for value 0
|
||||
*
|
||||
* This function is used to register/un-register for particular node-event
|
||||
* combination in firmware.
|
||||
*
|
||||
* Return: Returns status, either success or error+reason
|
||||
*/
|
||||
|
||||
int zynqmp_pm_register_notifier(const u32 node, const u32 event,
|
||||
const u32 wake, const u32 enable)
|
||||
{
|
||||
return zynqmp_pm_invoke_fn(PM_REGISTER_NOTIFIER, node, event,
|
||||
wake, enable, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(zynqmp_pm_register_notifier);
|
||||
|
||||
/**
|
||||
* zynqmp_pm_system_shutdown - PM call to request a system shutdown or restart
|
||||
* @type: Shutdown or restart? 0 for shutdown, 1 for restart
|
||||
|
@ -2,7 +2,7 @@
|
||||
/*
|
||||
* Xilinx Zynq MPSoC Firmware layer
|
||||
*
|
||||
* Copyright (C) 2014-2019 Xilinx
|
||||
* Copyright (C) 2014-2021 Xilinx
|
||||
*
|
||||
* Michal Simek <michal.simek@xilinx.com>
|
||||
* Davorin Mista <davorin.mista@aggios.com>
|
||||
@ -66,6 +66,7 @@
|
||||
|
||||
enum pm_api_id {
|
||||
PM_GET_API_VERSION = 1,
|
||||
PM_REGISTER_NOTIFIER = 5,
|
||||
PM_SYSTEM_SHUTDOWN = 12,
|
||||
PM_REQUEST_NODE = 13,
|
||||
PM_RELEASE_NODE = 14,
|
||||
@ -427,6 +428,8 @@ int zynqmp_pm_pinctrl_get_config(const u32 pin, const u32 param,
|
||||
int zynqmp_pm_pinctrl_set_config(const u32 pin, const u32 param,
|
||||
u32 value);
|
||||
int zynqmp_pm_load_pdi(const u32 src, const u64 address);
|
||||
int zynqmp_pm_register_notifier(const u32 node, const u32 event,
|
||||
const u32 wake, const u32 enable);
|
||||
#else
|
||||
static inline int zynqmp_pm_get_api_version(u32 *version)
|
||||
{
|
||||
@ -658,6 +661,12 @@ static inline int zynqmp_pm_load_pdi(const u32 src, const u64 address)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
static inline int zynqmp_pm_register_notifier(const u32 node, const u32 event,
|
||||
const u32 wake, const u32 enable)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FIRMWARE_ZYNQMP_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user