ARM: Add support for 64 bit register reads/writes

Add macros to read and write to 64 bit registers.

Change-Id: Id45d4086aa148ba96df3987c3341c133f1c56541
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
msm: scm: Add scm_call_atomic3

Some drivers need to pass three arguments atomically. Add support
for it.

Change-Id: Id0f962400c5c4f721eef44069fc3db1779248ae3
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
driver core: Add iommu_group tracking to struct device

IOMMU groups allow IOMMU drivers to represent DMA visibility
and isolation of devices.  Multiple devices may be grouped
together for the purposes of DMA.  Placing a pointer on
struct device enable easy access for things like streaming
DMA programming and drivers like VFIO.

Change-Id: Id1619f066e260f45e8e95beea41a71fcac36fc2a
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
iommu: msm: Add support for 64 bit GFAR register

msm_iommu_v1 supports both short and long descriptor
page tables. Hence GFAR should be 64-bit long with
LPAE mode. So, extend GFAR support for the same.

Change-Id: Iedfc11c948d3983058a33344ed8358676760b47c
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/include/mach/iommu_hw-v1.h