msm: iommu: Fix SMR NSCFG configuration

When setting the NSCFG field, the S2CR register being
written needs to be indexed by the stream matching group,
not by the value of the SID being configured. Additionally,
there is no need to set CBACR for every SMR that is
programmed.

Change-Id: Ib79771a3bd87e4bd3b353bd5c6de9247138ca43e
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
iommu: msm: Configure memory attribute overrides

The default IOMMU memory attribute setting results in
reduced performance as a result of downgrading memory
attributes. Fix that.

Change-Id: Ie04175b8037855e4c962eac281f7f88901ae2034
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
msm: iommu: Support alternate core clocks

Refactor the IOMMU clock control code to always require a
core clock as well as an interface clock. Add support for
an optional alternate core clock and update device tree
bindings accordingly. Clean up the probe function to remove
needless enabling / disabling of clocks.

Change-Id: I4d744ffabc1e6fb123bacfda324f64408257cb25
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>