iommu/arm-smmu: take ECATS lock before halting TBU
ECATS lock ensures that exclusive access to common ECATS HW access between
asynchronous execution environment. We are halting the TBU before taking
the ECATS lock. This is not a pre requisite for ECATS lock.
Additionally, the current locking scheme can lead to the following error:
CB1-TBU_A-EL1 CB2-TBU_A-EL2
Halt TBU -- success
ECATS lock -- success
Halt TBU -- success (CB1-TBU_A-EL1 Halt ACK)
ECATS lock -- fail
Resume TBU -- success
ECATS operations - Fail
To avoid above sequence, we need to take ECATS lock before halting the TBU.
Change-Id: Idb620131aba9ff6010823d9f79ac31a11459104c
Signed-off-by:
Prakash Gupta <guptap@codeaurora.org>
Loading
Please register or sign in to comment