msm: remote_spinlock: Add support for remote_spin_lock_rlock_id()
remote_spin_lock_rlock_id() and remote_spin_unlock_rlock() are
added to acquire/release a raw remote lock (without a local
spinlock). This is useful when ownership of a lock must transfer
between different execution environments, such as when a lock is
used to guarantee atomicity of a set of actions spread across
different execution environments.
Specifically, these APIs are added to support a new lock which
must be acquired in Linux but released by TrustZone software.
Because no local spinlock is acquired, each thread must use a
different ID so that only one thread can proceed through the
lock at a time.
Support for these new APIs is presently implemented only for
SFPB locks.
Change-Id: Ifc5b1f552090051d2e975107e56e21e22df08924
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
3 files changed