mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 23:13:00 +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);
|
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
|
* zynqmp_pm_system_shutdown - PM call to request a system shutdown or restart
|
||||||
* @type: Shutdown or restart? 0 for shutdown, 1 for restart
|
* @type: Shutdown or restart? 0 for shutdown, 1 for restart
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
/*
|
/*
|
||||||
* Xilinx Zynq MPSoC Firmware layer
|
* Xilinx Zynq MPSoC Firmware layer
|
||||||
*
|
*
|
||||||
* Copyright (C) 2014-2019 Xilinx
|
* Copyright (C) 2014-2021 Xilinx
|
||||||
*
|
*
|
||||||
* Michal Simek <michal.simek@xilinx.com>
|
* Michal Simek <michal.simek@xilinx.com>
|
||||||
* Davorin Mista <davorin.mista@aggios.com>
|
* Davorin Mista <davorin.mista@aggios.com>
|
||||||
|
@ -66,6 +66,7 @@
|
||||||
|
|
||||||
enum pm_api_id {
|
enum pm_api_id {
|
||||||
PM_GET_API_VERSION = 1,
|
PM_GET_API_VERSION = 1,
|
||||||
|
PM_REGISTER_NOTIFIER = 5,
|
||||||
PM_SYSTEM_SHUTDOWN = 12,
|
PM_SYSTEM_SHUTDOWN = 12,
|
||||||
PM_REQUEST_NODE = 13,
|
PM_REQUEST_NODE = 13,
|
||||||
PM_RELEASE_NODE = 14,
|
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,
|
int zynqmp_pm_pinctrl_set_config(const u32 pin, const u32 param,
|
||||||
u32 value);
|
u32 value);
|
||||||
int zynqmp_pm_load_pdi(const u32 src, const u64 address);
|
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
|
#else
|
||||||
static inline int zynqmp_pm_get_api_version(u32 *version)
|
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;
|
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
|
||||||
|
|
||||||
#endif /* __FIRMWARE_ZYNQMP_H__ */
|
#endif /* __FIRMWARE_ZYNQMP_H__ */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user