Commit Graph

346 Commits

Author SHA1 Message Date
Karthikeyan Ramasubramanian ab9df0516e msm: ipc: Support multi-platform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move IPC Router Core and Security drivers to the net/ipc_router location
to support multi-platform.

Move IPC Router SMD & HSIC transport(XPRT) drivers to the drivers/soc/qcom
location.

Change-Id: I770227f66dcb776b26086426f509568f991db757
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2014-01-13 13:51:09 -07:00
Linux Build Service Account 5b16679eaf Merge "mdm9630: rename msmkrypton to mdm9630" 2014-01-13 05:36:32 -08:00
Hanumant Singh 60d24b6c63 arm: msm: Remove unused external modem driver
External modem driver has moved under esoc.
Remove old implementation related files.

Change-Id: I1e264abb573e614972fb098f84e99b6ef1d6993b
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
2014-01-10 11:19:55 -08:00
Joonwoo Park f0358e8b21 mdm9630: rename msmkrypton to mdm9630
Introduce mdm9630 as the official name for msmkrypton.

Change-Id: I0fd861f30bb461ea575084bfe241d8ded1d0c484
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2014-01-10 10:03:08 -08:00
Linux Build Service Account 8b4c489deb Merge "msm: subsys-pil-tz: Introduce generic TZ PIL and SSR driver" 2014-01-09 06:21:48 -08:00
Linux Build Service Account 3621dde73a Merge "msm: Remove DONT_MAP_HOLE_AFTER_MEMBANK0" 2014-01-08 16:43:11 -08:00
Tianyi Gou 9ee2f2b1b2 msm: subsys-pil-tz: Introduce generic TZ PIL and SSR driver
In case of secure PIL, the PIL ops are very similar among
different subsystems.

For init_image, mem_setup, auth_and_reset and shutdown ops,
the PIL drivers follow the standard sequence to call into TZ
with the corresponding subsystem's pas id.

For proxy_vote and proxy_unvote ops, different subsystems share
the similar pattern of voting gdsc, regulators, clocks and bus
bandwidth.

Similarly, the SSR ops are common across different subsystems
as well.

Therefore, a generic TZ PIL and SSR  driver is introduced to
provide a uniform way to manage PIL and SSR. The data and resources
information corresponding to the PIL and SSR ops for each subsystem
are contained in each subsystem's device tree node.

Change-Id: I598653d22da7504446a160cb86c876beddbd555c
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2014-01-08 09:41:26 -08:00
Linux Build Service Account 81c4206b48 Merge "arm: msm: switch to using irqchip_init" 2014-01-08 03:28:10 -08:00
Laura Abbott 711be5ab7c msm: Remove DONT_MAP_HOLE_AFTER_MEMBANK0
The DONT_MAP_HOLE_AFTER_MEMBANK0 feature is now deprecated. Remove
the code associated with it.

Change-Id: I729b9574a7655e97c8e7abc68797b874e90dcac2
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2014-01-06 16:35:57 -08:00
Linux Build Service Account 7722531012 Merge "devfreq: Add CPUBW HW monitor governor" 2014-01-06 13:22:46 -08:00
Abhijeet Dharmapurikar 57abc3b8d1 arm: msm: switch to using irqchip_init
irqchip_init initializes irq controllers declared with IRQCHIP_DECLARE
macro. Enable the option that declares qpnp-int and gpio irq chips using
IRQCHIP_DECLARE. Consequently, remove all the instances of irq_init in
machine declarations - the kernel initialization code calls irqchip_init()
when init_irq callback is missing in the machine descriptor. This way
there is no need to create a match table of irq controllers and call
their initialization functions in the board file.

Change-Id: I96c3d955b2b2bbd2fc6266b19d21390e166cb0ff
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2014-01-02 15:04:00 -08:00
Asish Bhattacharya de06bb1c13 msm: qdsp6v2: reorganize kernel driver under misc drivers.
This is needed as the drivers are registering under misc driver
but exists under arch/arm/mach

Change-Id: I9cd75901184a4fdff6f796019152bc6e29eed6c3
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2013-12-24 11:11:10 +05:30
Yan He 322847cd0c msm: 8092: Enable PCIe in Kconfig
Enable PCI framework for both PCIe bus driver and PCIe device
drivers.

Change-Id: Ia8f9a70385588d7f55dbba3520841714b6ced816
Signed-off-by: Yan He <yanhe@codeaurora.org>
2013-12-23 10:21:54 -08:00
Linux Build Service Account 279cc28aba Merge "Kconfig: msm: Disable VMALLOC savings feature for 8610" 2013-12-21 00:11:44 -08:00
Linux Build Service Account 42c03bd3c8 Merge "arch/arm: Update the compilation flags for the QDSP interface." 2013-12-20 17:00:21 -08:00
Saravana Kannan 5559f6f66b devfreq: Add CPUBW HW monitor governor
The CPUBW HW monitor devfreq governor uses the Krait L2 PM counters to
determine the bandwidth needed by the Krait CPU subsystem. This governor
can be used in conjunction with the CPUBW devfreq device to dynamically
scale the DDR frequency based on the demand/actual usage from the Krait CPU
subsystem. Since this governor uses the Krait L2 PM counters it can
conflict with certain profiling tools.

The Krait L2 performance monitor counters have the capability to count the
no. of read/write transactions going out the master ports. They also have
the capability to raise interrupts when they overflow. This driver uses
those counters to determine the true usage of DDR from the Krait processor
subsystem and then recommends CPU DDR BW votes based on the measured values
and the following tunable parameters.

The driver provides various tunables that allow it to be tuned more in
favor of power or performance:

- io_percent: The percentage of the CPU time that can be spent waiting on
  memory I/O. Lower value is better performance and worse power.

- sample_ms: The sampling period in milliseconds. This only affects the
  sampling period when DDR use is ramping down or is increasing very slowly
  (See tolerance_percent).

- tolerance_percent: The minimum increase in DDR use, compared to previous
  sample, that will trigger an IRQ to immediately bump up the bandwidth
  vote. It's expressed as a percentage of the previous sampled DDR use.

- decay_rate: The parameter controls the rate at which the history is
  forgotten when ramping down. This is expressed as a percentage of history
  to be forgotten.  So 100% means ignore history, 0% mean never forget the
  historical max. The default 90% means forget 90% of history each time.

- guard_band_mbps: This is a margin that's added to the measured BW (and
  hence also the Bus BW votes) that's present to account for the time it
  takes to ramp up the DDR BW while the CPU continues to use the DDR.

- bw_step: All BW votes are rounded up to multiples of bw_step. The default
  value is 200 MB/s that turns out to ~25 or 12.5 MHz based on the SoC. A
  smaller value would mean more frequent bus BW changes. A higher value
  would mean less frequent BW vote updates, but also means at times an
  unnecessarily higher BW vote (due to the rounding up).

Change-Id: I88629a3e545cdca7160af8f8ca616ecc949d9947
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
2013-12-20 15:53:53 -08:00
Olav Haugan 4736b64d63 Kconfig: msm: Disable VMALLOC savings feature for 8610
The vmalloc saving feature is only useful for targets
with 1GB of memory or more. Disable this feature to
improve performance and size of kernel.

Change-Id: I3210dd4f5d654cc267e8407d6006c61e3bb7505f
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2013-12-20 14:45:15 -08:00
Linux Build Service Account 6a6683a42c Merge "regulator: move the rpm-regulator-smd driver to drivers/regulator directory" 2013-12-20 14:04:06 -08:00
Linux Build Service Account 4a448da992 Merge "msm: smd: Remove dead code" 2013-12-20 09:45:31 -08:00
Aviral Gupta 2cff862008 arch/arm: Update the compilation flags for the QDSP interface.
Update the compilation flags for the QDSP APR interface.
Update the gpio mux for the slimbus device.

Change-Id: I54b83380dba50899793a95e959259a6d3f4eb61f
Signed-off-by: Aviral Gupta <aviralg@codeaurora.org>
2013-12-19 22:05:08 -08:00
Saravana Kannan 6caeece9d4 devfreq: Add MSM CPUfreq governor
The MSM CPUfreq devfreq governor determines the CPU to DDR bandwidth vote
based on the current CPU frequency of all the active CPUs.

This functionality used to be a part of the MSM CPUfreq driver that
directly voted for the CPU to DDR bandwidth using MSM bus scaling APIs.
This refactor decouples CPU to DDR BW scaling from CPU frequency and allows
switch between various CPU BW governors.

The bandwidth values in the msm-cpufreq table have to be updated since the
new CPU BW driver does the MBps to Bps conversion correctly. The MSM
CPUfreq driver used to do * 1000 * 1000 to convert from MBps to Bps instead
of doing * 1024 * 1024.

Change-Id: I184f09d628a1b27d52506d2f760d65831f1a1110
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
2013-12-19 16:38:47 -08:00
Saravana Kannan a2dd9de8c7 msm: devfreq_cpubw: Add devfreq driver for CPU to DDR bandwidth voting
This driver registers itself as a devfreq device that allows devfreq
governors to make CPU to DDR IB/AB bandwidth votes. This driver allows the
governors to be agnostic of the bandwidth voting APIs, the number of CPU
master ports or DDR slave ports, the actual port numbers, the system
topology, the available DDR frequencies, etc.

Change-Id: If055ddd580afd41f9668b111e6c09a047488b2e0
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
2013-12-19 16:10:57 -08:00
David Collins 94da2480fd regulator: move the rpm-regulator-smd driver to drivers/regulator directory
Move the rpm-regulator-smd driver from the arch/arm/mach-msm
directory into the drivers/regulator directory.  Also rename it
from rpm-regulator-smd.c to rpm-smd-regulator.c so that it
matches the naming scheme of the other regulator drivers. Moving
this driver out of the arch/arm/mach-msm directory allows it to
be shared with architectures other than 'arm'.

Also move the header file from the arch/arm/mach-msm/include/mach
directory into the include/linux/regulator directory.  Moving the
header file requires updating all drivers which include it.

Change the compatible property values so that they match the new
driver name.

Change-Id: I20f2a4503c198ba9d1d04a77b03411dcc98e8aa1
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-12-19 15:27:48 -08:00
Jeff Hugo 8c6ad7740d msm: smd: Remove dead code
Remove the following dead functionality:

Package configuration (MSM_SMD_PKG3/MSM_SMD_PKG4)
	All supported targets are Package 4 based, making Package 3
	unsupported and any code depending on it.

MSM_N_WAY_SMD
	All supported targets are n-way SMD.  This config is always true.

MSM_N_WAY_SMSM
	All supported targets are n-way SMSM.  This config is always true.

Legacy loopback
	Legacy loopback is unsupported and unused.

Legacy initialization (static and platform data)
	All supported targets use DT based initialization.

SMD wait until readable/writable API
	Unsupported and always excluded with a "#if 0" compiler statement

Unused SMSM bit definitions

SMSM/SMD interrupt muxing
	Muxing SMSM and SMD interrupts on the same irq line is unsupported
	and unused.

Legacy modem reset
	Legacy modem reset is unsupported and replaced by Subsystem Restart.

DEM support
	DEM is unsupported and unused.

Legacy SMD channel types
	All SMD channels are explictly identified as streaming or packet
	mode.

Change-Id: I358f0d084d61c01731ad6006ea2e6e4f9e6915a9
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-12-19 08:54:50 -08:00
Jeff Hugo fe28fe039b msm: smem: Support multiplatform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the smem driver to the drivers/soc/msm location to support
multiplatform.

Change-Id: I9ba6eedce5237be6b96850e772232182a1a084ae
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-12-18 10:08:39 -07:00
Linux Build Service Account f2480d9fa0 Merge "msm: restart: Remove MSM_RESTART_V2 distinction" 2013-12-17 21:50:25 -08:00
Jeff Hugo acd001a746 msm: smd_pkt: Support multiplatform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the smd_pkt driver to the drivers/char location to support
multiplatform.

Change-Id: I0a05d27171a47a985cb5934d0df1d982b7cbc139
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-12-13 16:22:03 -07:00
Kumar Gala ee23668462 msm: restart: Remove MSM_RESTART_V2 distinction
All platforms set the Kconfig symbol MSM_RESTART_V2, so we can just remove
the symbol and associated code for the non-v2 support.

Change-Id: I93dcb5e79828aef88c9b1f20a170cb255cc095c1
Signed-off-by: Kumar Gala <galak@codeaurora.org>
2013-12-13 15:19:07 -06:00
Linux Build Service Account cda397d8a3 Merge "arm: mach-msm: Enable XHCI (USB3.0 host) for mpq8092" 2013-12-13 03:27:36 -08:00
Jeff Hugo 3e7fc08748 msm: smd_tty: Support multiplatform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the smd_tty driver to the drivers/tty/serial location to support
multiplatform.

Change-Id: Ia5cb5f98ca07817900470252b21e47622bf23ee9
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-12-12 09:55:48 -07:00
Chandra Devireddy ac7bb01b34 arm: mach-msm: Enable XHCI (USB3.0 host) for mpq8092
Add support for XHCI to ARCH_MPQ8092.

Change-Id: Ia97e6e6e9e944f9ca901f0596805f1493be4fece
Signed-off-by: Chandra Devireddy <cdevired@codeaurora.org>
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
2013-12-12 22:13:03 +05:30
Linux Build Service Account 7589ee9ea8 Merge "msm: ipc_logging: Support multiplatform" 2013-12-11 20:40:02 -08:00
Laura Abbott e85550fc68 msm: Ensure MSM_MULTIMEDIA_USE_ION is selected
Currently, Ion is the only framework supported for multimedia
drivers. Match the other targets to ensure that Ion is
properly selected.

Change-Id: I27844a46c4f0674c21793029220cb20a70f7ebc1
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
2013-12-10 18:18:44 -08:00
Niranjana Vishwanathapura fe7cd338cb msm: fsm9900: Enable PCI in Kconfig
Enable PCI in Kconfig for fsm9900.

Change-Id: If48ca46d8e8e0cae6fef63ec23fa660f78f48c53
Acked-by: Chemin Hsieh <cheminh@qti.qualcomm.com>
Signed-off-by: Niranjana Vishwanathapura <nvishwan@codeaurora.org>
2013-12-07 20:26:29 -08:00
Jeff Hugo 76c62752e2 msm: ipc_logging: Support multiplatform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the ipc_logging driver to the kernel/trace location to support
multiplatform.

Change-Id: I8b217f2c13254814e9dfa95f46308150f1fc2a1b
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-12-07 13:33:38 -07:00
Linux Build Service Account e4fe71c217 Merge "msm: pcie: Enable PCI domains in Kconfig" 2013-12-05 22:28:43 -08:00
Yan He 2dc4dac7c0 msm: pcie: Enable PCI domains in Kconfig
Enable PCI domains feature for MSM PCIe in Kconfig.

Change-Id: I8ad3e9ccfeafb9db2e9ec083cfe96bfaeff53ac8
Signed-off-by: Yan He <yanhe@codeaurora.org>
2013-12-05 11:04:15 -08:00
Linux Build Service Account 11a4be7509 Merge "msm: ultrasound: Add ultrasound support for APQ8084" 2013-12-05 09:42:06 -08:00
Linux Build Service Account 302c692abd Merge "msm: remote_spinlock: Support multiplatform" 2013-12-04 11:06:40 -08:00
Jeff Hugo aca2f1a277 msm: remote_spinlock: Support multiplatform
Upstream prefers existing drivers be converted to support multiplatform
kernels.  This requires drivers to be located in generic functionality
directories instead of specific mach directories.

Move the remote-spinlock driver to the drivers/hwspinlock location to
support multiplatform.

Change-Id: Ibbc6046ab177b62a5a79cba7f5752685470c4ebb
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-12-03 12:00:47 -07:00
Avinash Vaish 5ef027f407 ASoC: msm: qdsp6v2: Add support for routing of apr packets based on target
Add support for dynamic routing of apr (Application Protocol Router)
packets to different destination processors. The decision on the
destination is taken based on the target requirements.

Change-Id: Iefa012831e60fee7ef9c9a1caaea8c75d49f5276
Signed-off-by: Avinash Vaish <avaish@codeaurora.org>
2013-12-02 16:35:54 +05:30
Ravit Dennis 488e78b7b8 msm: ultrasound: Add ultrasound support for APQ8084
Added MSM_ULTRASOUND_B component to Kconfig file in
order to build the ultrasound framework for APQ8084.

Change-Id: Ic58a9e8f92f8bedb6599f651f8f71fe36d1cba86
Signed-off-by: Ravit Dennis <rdennis@codeaurora.org>
2013-12-01 11:35:00 +02:00
Linux Build Service Account e2fd801c9f Merge "msm: Update ARCH_MSM Kconfig select list to be closer to multiplatform" 2013-11-23 21:28:54 -08:00
Ian Maund f06163e6d0 msm: reap unused kernel files
This change removes source files from the kernel tree that
were not being used during make. The list of used files
was generated using an annotated make log and was then
compared with new files added since the public release of
kernel version 3.10.00. New files which were added but
not used have been removed from the tree.

A diff was also run to determine the list of files that had
been modified since the release of kernel version 3.10.00.
These files were then scrubbed based on the current kernel
configuration, removing invalid and unused conditionals.

Some files which support planned functionality or are
useful in debugging have been excluded from this reap.

Change-Id: Ia44a224d3cea7bc78dd45e8a8279860d35d4b008
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2013-11-21 17:45:28 -08:00
Kumar Gala 8a8a82ff19 msm: Update ARCH_MSM Kconfig select list to be closer to multiplatform
Add explicit USE_OF and move MULTI_IRQ_HANDLER and SPARSE_IRQ
up from being in each SoC type.

Change-Id: I5ce2b9bd8f608b3388fa66c010295e291f4f4407
Signed-off-by: Kumar Gala <galak@codeaurora.org>
2013-11-21 17:21:44 -06:00
Linux Build Service Account 2e1fba8847 Merge "msm: pm: provide per core pm stats support" 2013-11-20 06:14:39 -08:00
Anil kumar mamidala 9606314020 msm: pm: provide per core pm stats support
Create per core debugfs entries to display per core pm stats. Display
only supported modes as a part of per core stats.

Display the L2 stats as well.

ex:- mount -t debugfs none /data/debug
     cd /data/debug/msm_pm_stats.
     cat stats - to get combined statistics of all cpus
     cd cpu0/cpu1/cpu2/cpu3/L2 - to get individual statistics

CRs-fixed: 410994
Change-Id: I3bbb8319a3f9a1344b535350031a9c9898bc88db
Signed-off-by: Anil kumar mamidala <amami@codeaurora.org>
2013-11-14 14:07:50 +05:30
Linux Build Service Account 9eb4665df8 Merge "msm: krypton: Enable PCIe in Kconfig" 2013-11-13 19:50:56 -08:00
Yan He 0c0a0fdd62 msm: krypton: Enable PCIe in Kconfig
Enable PCI framework for both PCIe bus driver and PCIe device
drivers.

Change-Id: I39b052948fd61d93da172e0e141f90db61413ad7
Signed-off-by: Yan He <yanhe@codeaurora.org>
2013-11-12 19:39:56 -08:00
Jeff Hugo 28a6c34b02 msm: Remove reset_modem
The reset_modem module is dead code.  Remove it.

Change-Id: I5dae46475fcd6c1e08a226275275a0195422ae2f
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
2013-11-12 12:27:46 -07:00