msm:rq_stats: Register for Cpufreq policy notification

Currently the load of the system is calculated using the max
frequency that is read during startup(It does not get updated
when the policy changes). As a result, the average load of the
system is incorrectly calculated and the system might not bring
the cpus online to manage the additional load. This
reduces the performance of the system.

To fix this issue, register rq_stats to receive cpufreq policy
notifications. Update the policy's max frequency when a
notification is received and use that value to calculate the load.

Change-Id: Icc78e28c736c170e198f723fd96c13dfb2dafe8a
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Anji Jonnala <anjir@codeaurora.org>
dts: Update SMMU register settings to approved values
Revert "dts: Update SMMU register settings to approved values"

This reverts commit 9eff4e5cc70496c239069be26ae12ea63980b483.
dts: Update SMMU register settings to approved values
arm/dt: msm8974: Add data to enable dual mode config for Krait

Add the properties and device-tree data to enable
dual mode configuration for Krait. By default all bus masters
are configured in a single mode (Fixed/Bypass/Limiter/Regulator).
By default Krait is configured in Fixed mode.

In cases where BIMC runs at frequencies lower than 250 MHz,
Krait's bandwidth usage should be restricted to a certain
threshold value so that other masters like MDP do not get
starved.

At bandwidth requests below a certain threshold, Krait will
now be configured in Limiter mode, which will restrict its
bus usage. Above the threshold, Krait will be configured
in Fixed mode which will remove any restrictions on
bandwidth usage.

Dual-mode configuration enables setting the Krait in
both Limiter and Fixed mode based on the requirements stated
above.

Change-Id: I5bebafbf74093e3ab7076e021bf4f6a624390f37
Signed-off-by: Gagan Mac <gmac@codeaurora.org>
ARM: dts: msm: Drop useless includes

Do not include skeleton.dtsi into feature-specific DTSI
files, since this will already be included by an
SoC-specific DTSI file.

Change-Id: I2d2a7deaf975b60141c1a47a0b506c5524e8c820
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: Sivasri Kumar Vanka <sivasri@codeaurora.org>
arm: dts: msm8974: Enable L2 power collapse during sleep

The L2 power collapse was removed to address DDR corruption associated
with voltage droop on the MX rail. Power collapsing the MX rail doesn't
cause the Voltage to droop on the MX rail

Change-Id: Ia4ce5d374ed1197b924ae9f8fb4a5a325f81dbba
CRs-fixed: 497712
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
arm/dt: msm8974: Disable WCNSS nodes on Dragonboard APQ8074

The Dragonboard APQ8074 doesn't have WCNSS WLAN hardware,
but has QCA6234 WLAN instead. The two WLAN adapters share same MSM GPIOs.
WCNSS driver tries to configure the common GPIOs and causes malfunction
of the QCA6234 hardware.
The WCNSS device tree nodes should be disabled to avoid MSM GPIO
and PMIC configuration by the WCNSS driver.

Change-Id: I3fc60244008a62113e294bc92980a3fd0edd9bec
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
arm/dt: iommu: Move property to derived nodes

Move boolean property from the base node to the derived
node so that targets that do not have an IOMMU with
this property can derive from the base IOMMU node.

Change-Id: I6eadada1c145d8b28d379d876b752e51c51db061
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
arm/dt: iommu: Move gdsc property to derived nodes

Move the gdsc property to derived IOMMU nodes to allow
the gdsc to be an optional property. This allows us to develop
and test the IOMMU driver early in the development cycle. It
also allows us to have IOMMUs that are not power collapsible.

Change-Id: I8367160ad6cb693466cd08a7223715998fcb5ddb
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
ARM: dts: msm: add coresight fuse device for 8974

Add CoreSight fuse device to the device tree for 8974. This will
allow CoreSight Fuse driver to probe this device and support
CoreSight fuse state query apis.

Change-Id: Iabf2053f9ff309800b242fc83e958a7d30e6f3fd
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
ARM: dts: msm: add jtag fuse device for 8974

Add JTag fuse device to the device tree for 8974. This will
allow JTag Fuse driver to probe this device and support JTag
fuse state query apis.

Change-Id: I96b9047bbb029e405a4165a7e1655be37006bf3f
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
ARM: dts: msm: Remove power down sequence in L2 memory.

Remove L2 memory array power control from the SPM sequences,
To fix droop issues seen on the memory rails.

Change-Id: Ic2380edeea4e6471f1d5654e17824a3c8bd862e5
Signed-off-by: Karthik Parsha <kparsha@codeaurora.org>
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>

Conflicts:
	arch/arm/boot/dts/msm8974-v2-pm.dtsi
arm/dt: msm8974: Disable PM8941 MPP 1

This pin is not permissible to be modified from Linux.

Change-Id: I76d3ff8b901b77165f04d8ba2f129fba00ca63da
Signed-off-by: Eugene Yasman <eyasman@codeaurora.org>
ARM: dts: msm: add gcc mux to hardware event dt node for 8974

Add support for gcc mux registers to CoreSight Hardware event dt
node for MSM8974. These registers can be configured to generate
GCC Hardware events.

Change-Id: Ibb6764663843d715ba0f0b5045da4b5134bce189
Signed-off-by: Aparna Das <adas@codeaurora.org>
ARM: dts: msm: Enable PMIC phase scaling based on eFuse scaling factor

Add a property to enable the driver to read the eFuse phase scaling factor
and apply it in the phase calculations. This improves the efficiency of
the PMIC's ganged regulator.

Change-Id: I6a3d3e4de081679054bff81ddb49c61a14f31b31
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
ARM: dts: msm: Add VDD_CX to Dragonboard APQ8074 camera

While camera preview or recording is in progress,
there are plenty of opportunities for CX to run
in auto mode. However, since these use cases
have relatively high load, running in auto mode
may have an adverse effect on stability. Therefore,
disable auto mode on MSM8974 while the camera is
in use.

Change-Id: I828cdcb99f7ee44d3d8d330e060093fcf3c2e621
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
ARM: dts: msm: Allow L2 to be in GDHS during Standalone PC for msm8974

Add a new low power level that puts L2 in GDHS mode during standalone
PC. This low power mode will give additional savings by putting L2 into
GDHS mode while the core does power collapse.

This can only be done in single core cases, the pm driver code takes
care of ensuring that L2 can be put into GDHS only when one core is online.

Change-Id: I71d237283820974c4d509606a01b67f5791d2fb9
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
camera: flash: Update flash firing power to ~1240mA

Single flash can go up to 1000mA; split out to use flash0 &
flash1 to increase flash firing power beyond 1000mA

Signed-off-by: Ajay Dudani <adudani@codeaurora.org>