msm: mpm-of: set wakeup interrupt as NO_SUSPEND

The MPM wakeup interrupt is used to wakeup the Apps processor from
a system wide low power mode when the GIC isn't operational.

The MPM interrupt is configured as a wakeup interrupt by calling into
irq_set_irq_wake().It also needs to be configured with the
IRQF_NO_SUSPEND to prevent the irq from getting disabled during
suspend_device_irqs() in the suspend path. The interrupt is not
re-enabled until after gic_suspend() is executed as a part of the
syscore_suspend() callback.

If the CPU's idle thread enters RPM assisted power collapse between
suspend_device_irqs() and syscore_suspend, the masking of the RPM wakeup
interrupt could prevent wakeup by RPM.

Change-Id: I0d5f0d7277774ddef6817eac10156f92174ec15f
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
qcom: mpm-of: fix bug in finding the pending interrupts

When APPS proc wakeup from RPM assisted PC states it reads
the vMPM status register to know the reason for wakeup and
retrigger the interrupts to handle it. Current code is not
caring about actual enabled interrupts in vMPM. Sometimes
this is causing APPS proc unnecessarily triggering the
interrupts which are not raised in the system. Fix this by
considering the enabled interrupts in vMPM before triggering
the interrupts.

CRs-fixed: 623293
Change-Id: Ia793e6d501cac3d85b51ed6e359703239a4b9945
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
arm/dt: msm-iommu-v0: don't gate XO shutdown

The MMSSNOC AXI clock is controlled by the apps clock driver,
therefore there is no concept of "active-only". If the clock
is on, it will stay on irrespective of whether the apps
processor is running or power-collapsed. Drivers need to
ensure that their requests are removed before entering a
low-power mode that is expected to lead to XO shutdown.
Therefore there is no point in including an active-only flag,
and drivers should not rely on this flag taking care of
turning off this clock, because that can't happen.

CRs-fixed: 521149
Change-Id: I5f77330599c1e7258512f655b826a215d2ddfdb7
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
arm/dt: msm-iommu-v1: don't gate XO shutdown

The MMSSNOC AXI clock is controlled by the apps clock driver,
therefore there is no concept of "active-only". If the clock
is on, it will stay on irrespective of whether the apps
processor is running or power-collapsed. Drivers need to
ensure that their requests are removed before entering a
low-power mode that is expected to lead to XO shutdown.
Therefore there is no point in including an active-only flag,
and drivers should not rely on this flag taking care of
turning off this clock, because that can't happen.

CRs-fixed: 521149
Change-Id: I2bb3eb1e223d13ef097619e64d64030482c026fe
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Domenico Marino <johnlemon.lol@gmail.com>

Conflicts:
	arch/arm/boot/dts/msm-iommu-v1.dtsi
ARM: dts: msm8974: Update MPM mapping for GIC interrupts

Some interrupts can be bypassed during xo shutdown
as they are not responsible for wakeup. Update MPM
mappings with such a list.

CRs-fixed: 553244
Change-Id: Ic88cac341b5dcf4f710f34893bb38d746c457757

Signed-off-by: Anji Jonnala <anjir@codeaurora.org>
Fix cherry-picks

Signed-off-by: Domenico Marino <johnlemon.lol@gmail.com>