Commit graph

564009 commits

Author SHA1 Message Date
Nikhilesh Reddy
060c1d5d23 uio: msm_sharedmem: Add support for HYP call
Add support for HYP call to setup the sharedmem permissions
for the MPSS client.

Change-Id: I3b48ae962865d8d0a0ea6e3fbb8e21278b59c690
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
2016-03-22 11:08:11 -07:00
Nikhilesh Reddy
d21221f75a uio: Add snapshot of MSM sharedmem driver
This is a snapshot of the MSM sharedmem driver as of msm-3.14
commit:

149717c082aab8168283b7e0c23d8bd5a45b1999
( uio: msm_sharedmem: Add custom mmap )

The following changes are included:
02d55287 uio: msm_sharedmem: Restrict debugfs write to root.
de961fc7 uio: msm_sharedmem: Return ENOMEM if the shared mem addr
	 is zero.
b974ce64 uio: msm_sharedmem: Add addtional information to debugfs
c46af547 uio: msm_sharedmem: Add support for dynamic shared memory
	 allocation

Change-Id: I49902f018bde1d59d41027b7e46268cc17231a3e
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
2016-03-22 11:08:10 -07:00
Karthikeyan Ramasubramanian
8d72914ac3 defconfig: arm64: msm: Enable kernel QMI Interface
The kernel QMI interface permits QMI communication to/from kernel
drivers.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:09 -07:00
Karthikeyan Ramasubramanian
cdb2ce4239 soc: qcom: Add snapshot of QMI
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:08 -07:00
Karthikeyan Ramasubramanian
7c45a7bcfa defconfig: arm64: msm: Enable IPC Router G-Link Transport
The IPC Router G-Link Transport permits IPC Router communication over
G-Link to the other processors in the SoC.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:07 -07:00
Karthikeyan Ramasubramanian
e6668df1e5 soc: qcom: Add snapshot of ipc_router_glink_xprt
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:06 -07:00
Karthikeyan Ramasubramanian
963de66884 soc: qcom: Add snapshot of ipc_router_mhi_xprt
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:05 -07:00
Karthikeyan Ramasubramanian
95c936f334 soc: qcom: Add snapshot of ipc_router_hsic_xprt
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:05 -07:00
Karthikeyan Ramasubramanian
647a60748a soc: qcom: Add snapshot of ipc_router_smd_xprt
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:03 -07:00
Karthikeyan Ramasubramanian
36dd48dbf2 defconfig: arm64: msm: Enable IPC Router, IPC Router Security
IPC Router is a peer-to-peer, message oriented router that supports name
service and limited multihop routing for interprocessor messages in the
SoC.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:02 -07:00
Karthikeyan Ramasubramanian
16d16b9e26 net: ipc_router: Use iov_iter accessor functions
The networking module uses iov_iter library to manage the vector buffers
from user-space. Use iov_iter accessor functions to copy the data from/to
the user-space vector buffers.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:02 -07:00
Karthikeyan Ramasubramanian
bb3068325b net: ipc_router: Fix to handle the socket framework updates
Update the function signature of sendmsg and recvmsg operations.
Pass the kernel socket flag to the updated socket object allocation
function.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:01 -07:00
Karthikeyan Ramasubramanian
3f03fc9a6a net: ipc_router: Remove including unused header file
qmi_encdec.h header file is no longer required in IPC Router. Remove
including that header file.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:08:00 -07:00
Karthikeyan Ramasubramanian
016c030cc6 net: ipc_router: Add snapshot of IPC Router
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:07:59 -07:00
Karthikeyan Ramasubramanian
9b066e0981 defconfig: arm64: msm: Enable IPC Logging
IPC Logging is a low latency and minimal overhead logging framework used
by many interprocessor communication drivers such as GLink.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:07:58 -07:00
Karthikeyan Ramasubramanian
e9deb36997 trace: ipc_logging: Use virtual counter
Using the physical counter leads to a kernel BUG_ON(). Update the
IPC Logging Driver to use virtual counter.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:07:57 -07:00
Karthikeyan Ramasubramanian
42e7b9ac7c trace: Add snapshot of ipc_logging driver
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:07:56 -07:00
Karthikeyan Ramasubramanian
749efcfb0f defconfig: arm64: msm: Enable SMEM log
The SMEM log allows certain log events to be synchronized between
multiple processors in the SoC.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:07:56 -07:00
Karthikeyan Ramasubramanian
29b6603c1e soc: qcom: Add snapshot of SMEM_LOG Driver
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22 11:07:55 -07:00
Rohit Vaswani
7d3fb3c99c defconfig: msm-perf: Bring it up-to-date with missing features during upgrade
Also run savedefconfig to remove any diff on both defconfigs.

Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2016-03-22 11:07:54 -07:00
Rohit Vaswani
d8e295377d defconfig: Enable CONFIG_SYNC for Android
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2016-03-22 11:07:53 -07:00
Jeremy Gebben
b28215f001 ion: msm: fix Makefile dependencies
ion_cma_heap.o, ion_cma_secure_heap.o, and ion_system_secure_heap.o
all call functions which are only available if CONFIG_MSM_ION
is enabled.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2016-03-22 11:07:52 -07:00
Jeremy Gebben
74bcc31ab9 uapi: scsi: add missing header dependencies
Add #include dependencies to pick up definitions of __u32 and HZ.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2016-03-22 11:07:51 -07:00
Jeremy Gebben
be3345a032 uapi: fix export of msm_ion.h
Make this file be exported via symlink like the rest
of the android staging uapi headers.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2016-03-22 11:07:51 -07:00
Jeremy Gebben
bfa70fb909 msm: secure_buffer: fix stub functions
All of these need to be 'static inline' to avoid multiple
definition problems when MSM_SECURE_BUFFER=n.

Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
2016-03-22 11:07:50 -07:00
Abhimanyu Kapur
94fe94c1eb defconfig: arm64: Add msmcortex defconfigs
Add defconfig for supporting msmcobalt debug, perf
and other similar targets.

Change-Id: I3a55fea53cbfe65131fc4ccd505bc684cda9b2fa
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22 11:07:49 -07:00
Stepan Moskovchenko
1ca3decb1b smp: Allow booting a specific subset of CPUs
In a heterogenous multiprocessor system, specifying the
'maxcpus' parameter on the kernel command line does not
provide sufficient control over which CPUs are brought
online at kernel boot time, since CPUs may have nonuniform
performance characteristics. Thus, we introduce a
'boot_cpus' command line argument, allowing the user to
explicitly specify the list of CPUs that shall be brought
online during kernel boot.

Change-Id: I5f119e23202660941fa7be8c4e6dd91a82365451
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
[abhimany: resolve trivial merge conflicts]
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22 11:07:48 -07:00
Abhimanyu Kapur
77228fba61 arm64: Split out MSM8996 from generic ARCH_QCOM platform Kconfig
Add support for CONFIG_MSM89986 and split it out from generic
ARCH_QCOM platform.

Change-Id: Ibc287ffb76e5599ba63449534b264e4f31c98ec6
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22 11:07:47 -07:00
Abhimanyu Kapur
a42ed83c2f pinctrl: qcom: Snapshot pinctrl driver for msmcobalt
Snapshot pinctrl driver and corresponding makefiles
and Kconfig from msm-3.18@b6a638f8795ee77ca
("Merge "msm: mdss: add support to send dcs cmds by
 left port only in video mode")

Change-Id: I129bb9bd4b7edd252550e6851332867be6fa0423
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22 11:07:46 -07:00
Abhimanyu Kapur
e074730c2c ARM: dts: qcom: Snapshot all device tree files for MSMCOBALT
Snapshot all device tree files from msm-3.18@b6a638f8795ee77ca
("Merge "msm: mdss: add support to send dcs cmds by
 left port only in video mode")

Change-Id: I631047dffa019c6d2ee731ead328d332f1c7f3b8
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22 11:07:45 -07:00
Rohit Vaswani
5851f30830 Revert "defconfig: arm64: msm: Enable USB DWC3 and PHY drivers"
This reverts commit 52bfd76cadb4bcc4371ea83429d9de0dab981eb7.
2016-03-22 11:07:45 -07:00
David Keitel
571f0ec333 defconfig: enable subsystem restart, MSM_PIL_GENERIC and PIL_MSS_QDSP6V5
Enable subsystem restart and relevant PIL drivers to allow secure
peripheral image loading and QDSP6V5 loading to work.

Change-Id: I899382d04e6a348cde2d46e9e0e6f3faadab2c5d
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:44 -07:00
David Keitel
de5ad6bbd3 defconfig: disable EFI
Change-Id: I26d6398478a8cbdcc56c93f501b70b9f9f2924e8
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:43 -07:00
David Keitel
fe350df05e soc: qcom: subsys-pil-tz: initialize DMA ops
Initialize the DMA operations for the MDT data
DMA allocation.

Change-Id: If8eae5e91b4145be8d9e5eeeb28c14cda88e617f
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:42 -07:00
David Keitel
e1395a4987 soc: qcom: add snapshot of PIL, SSR and SYSMON drivers/libraries
This is a snapshot of PIL, SSR and SYSMON drivers and libraries as
of msm-3.18 commit
	5cef33a285e91869cebe40a25e6294ae1e5fc9cc
	(Merge "ASoC: msm: Update the AFE clock API support")

Change-Id: Ibebddee32b15fbcb5b18cceac43769d3309e609c
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:41 -07:00
Vikram Mulukutla
08c8dcb464 firmware_class: Don't fail request_firmware if we're not using a buffer
A check that the intermediate firmware actually contains data
is performed before returning from request_firmware. Perform
this check only if we're actually using the intermediate
buffer.

Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-03-22 11:07:40 -07:00
Deepak Katragadda
3e47c53624 firmware_class: Add an additional path to fw_path list
Add an additional path, /firmware/image to the list of fw paths
that request_firmware looks into for the firmware images.

Change-Id: I4b9164f222bf0a8546072de97838bf9d49dd8252
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-22 11:07:39 -07:00
Deepak Katragadda
098d246f8c firmware_class: Change print levels for some warnings
Currently, when _request_firmware() fails to find the firmware
from the default /lib location, a couple of error messages are
printed denoting the same. Change the print level for these
messages from dev_warn to dev_dbg as it is fairly common to
have the user-space helper loading the firmware for us.

Change-Id: I5e06b3785f58e85eda45d32130b9acbc75cd2c0a
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
[vmulukut: adjusted for upstream changes]
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-03-22 11:07:39 -07:00
Vikram Mulukutla
9543a56f10 firmware_class: Correct a null check in firmware_direct_read
Don't use the fw pointer before performing the null
check on it.

Change-Id: I303f71681647e2acb0b7e340b8f8580436cfb19d
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-03-22 11:07:38 -07:00
Vikram Mulukutla
2d65cf38d3 firmware_class: Include a size argument in unmap_fw_mem
Some implementations may need to know the size of a
region allocated by map_fw_mem in the context of the
unmap_fw_mem callback. Add this as an argument to the
callback signature.

Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-03-22 11:07:37 -07:00
Vikram Mulukutla
9c0b572b23 firmware_class: Allow private data in [unmap|map]_fw_mem
Some callers of request_firmware_direct may need additional
context to be able to map firmware memory. Allow private data
to be passed in with request_firmware_direct, and send this
data along with the [unmap|map]_fw_mem callbacks.

Change-Id: I05a15eb46cc663a4476b784e30e80182a28e10c3
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
[joshc: dropped PIL portions, fixed trivial conflict in firmware.h due
to API rename]
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
[vmulukut: adjusted for upstream merge conflicts]
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-03-22 11:07:36 -07:00
Vikram Mulukutla
53adc478c8 firmware_class: Introduce the request_firmware_direct API
On devices with low memory, using request_firmware on rather
large firmware images results in a memory usage penalty that
might be unaffordable. Introduce a new API that allows the
firmware image to be directly loaded to a destination address
without using any intermediate buffer.

Change-Id: I51b55dd9044ea669e2126a3f908028850bf76325
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
[joshc: renamed request_firmware_direct to request_firmware_into_buf,
avoiding namespace conflict]
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
[vmulukut: upstream merge conflict fixups]
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
[dkeitel: upstream merge conflict fixups]
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:35 -07:00
Vikram Mulukutla
e7c870ae4c firmware_class: Provide infrastructure to make fw caching optional
Some low memory systems with complex peripherals cannot
afford to have the relatively large firmware images taking
up valuable memory during suspend and resume. Change the
internal implementation of firmware_class to disallow
caching based on a configurable option. In the near future,
variants of request_firmware will take advantage of this
configurability.

Change-Id: I44be7ce3b308b642fb018086def99fcb800a1109
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
[joshc: reworked to use opt_flags instead of 'nocache' bool in fw_desc]
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
[vmulukut: adjusted for upstream additions to opt_flags]
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-03-22 11:07:34 -07:00
Vikram Mulukutla
7fcfead52c firmware_class: Introduce a firmware descriptor structure
Introduce a firmware descriptor structure that makes it
easier to pass around various configuration options in the
internal implementation of firmware_class.

Change-Id: I5c1da222bccd568fabb26da5baccaa4035331efd
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
[joshc: reworked to make use of upstream's opt_flags member]
Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
[vmulukut: adjusted for upstream changes to opt_flags]
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
[dkeitel: resolved merge conflicts]
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:34 -07:00
David Keitel
0b556847c7 of: platform: initialize of_reserved_mem
Initialize reserved memory as part of of_platform_device_create_pdata.

Change-Id: I6bb6ba8279af6771cb61087405cb915f4a0602b3
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:33 -07:00
David Keitel
8574df23fd dma-mapping: fix merge conflict mistake
As part of the 4.4 upgrade an incorrect merge
conflict resolution in dma-mapping caused the
function  __dma_alloc_coherent to not work correctly.

Fix this by changing correctly resolving the merge conflict
resolution.

Change-Id: I5b2411187768f2e3c4292a7c28cd742f5eb2dc54
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22 11:07:32 -07:00
Mahesh Sivasubramanian
ea701f6791 defconfig: enable MSM_PM for msm-perf defconfig
Enable sleep driver for QCOM chipsets

Change-Id: I67244ff55690c164634e9233e2d0cec3388c5be8
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-22 11:07:31 -07:00
Mahesh Sivasubramanian
b68e362dab defconfig: Enable MPM for msm-perf defconfig
Change-Id: I09313d7809ec939a9d0440d0ab30a5992f512b96
2016-03-22 11:07:30 -07:00
Archana Sathyakumar
76a8be812a irqchip: gic: Propagate CONFIG_PM changes to gic v3
Add suspend, idle power collapse callbacks to enable/disable interrupts.

Change-Id: I4b9b38b76d19423345f148054a2437d552299041
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>

Conflicts:
	drivers/irqchip/irq-gic-v3.c
2016-03-22 11:07:29 -07:00
Archana Sathyakumar
405157e0d5 irqchip: gic: Add arch extension to GIC v3
Propagate platform arch extension to call into platform specific
callback functions for GIC operations.

Change-Id: Ief42e9812e0593572bbde0fbe5e641eb9b3f5412
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>

Conflicts:
	drivers/irqchip/irq-gic-common.c
	drivers/irqchip/irq-gic-common.h
	drivers/irqchip/irq-gic-v3.c
	drivers/irqchip/irq-gic.c
2016-03-22 11:07:28 -07:00