summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2019-06-07 19:24:41 +0530
committerTom Rini <trini@konsulko.com>2019-07-26 21:49:22 -0400
commit9566b777ae0ae01a9899aa7e225076ee8d4af861 (patch)
tree4658047006c6912bdd7563f717bd453352c29020 /include/linux
parent410adcc9e2750d6852afe9f544cd74ad434f8937 (diff)
firmware: ti_sci: Add a command for releasing all exclusive devices
Any host while requesting for a device can request for its exclusive access. If an exclusive permission is obtained then it is the host's responsibility to release the device before the software entity on the host completes its execution. Else any other host's request for the device will be nacked. So add a command that releases all the exclusive devices that is acquired by the current host. This should be used with utmost care and can be called only at the end of the execution. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/soc/ti/ti_sci_protocol.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/soc/ti/ti_sci_protocol.h b/include/linux/soc/ti/ti_sci_protocol.h
index cd6e5853b4..1cba8d9b79 100644
--- a/include/linux/soc/ti/ti_sci_protocol.h
+++ b/include/linux/soc/ti/ti_sci_protocol.h
@@ -105,6 +105,9 @@ struct ti_sci_board_ops {
* -reset_state: pointer to u32 which will retrieve resets
* Returns 0 for successful request, else returns
* corresponding error message.
+ * @release_exclusive_devices: Command to release all the exclusive devices
+ * attached to this host. This should be used very carefully
+ * and only at the end of execution of your software.
*
* NOTE: for all these functions, the following parameters are generic in
* nature:
@@ -137,6 +140,7 @@ struct ti_sci_dev_ops {
u32 reset_state);
int (*get_device_resets)(const struct ti_sci_handle *handle, u32 id,
u32 *reset_state);
+ int (*release_exclusive_devices)(const struct ti_sci_handle *handle);
};
/**