ARM: qcom: scm: Fix incorrect cache invalidation
authorStephen Boyd <sboyd@codeaurora.org>
Tue, 5 Aug 2014 01:31:43 +0000 (18:31 -0700)
committerKumar Gala <galak@codeaurora.org>
Mon, 19 Jan 2015 17:53:31 +0000 (11:53 -0600)
commitf76c6916570d8d24a622f2107ef747531148046e
tree9223f5327c2f9f53c0aedf5981eb3f67b2228ba0
parente5ca0feb860baacd635aa684c72821e640a1dfa6
ARM: qcom: scm: Fix incorrect cache invalidation

The cache invalidation in scm_call() correctly rounds down the start
address to invalidate the beginning of the cacheline but doesn't properly
round up the 'end' address to make it aligned.  The last chunk of the
buffer won't be invalidated when 'end' is not cacheline size aligned so
make sure to invalidate the last few bytes in such situations. It also
doesn't do anything about outer caches so make sure to invalidate and flush
those as well.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-qcom/scm.c