Commit graph

857,062 commits

Author SHA1 Message Date
Raju P.L.S.S.S.N
0638ba6739 drivers: qcom: rpmh-rsc: clear active mode configuration for waketcs
For RSCs that have sleep & wake TCS but no dedicated active TCS, wake
TCS can be re-purposed to send active requests. Once the active requests
are sent and response is received, the active mode configuration needs
to be cleared so that controller can use wake TCS for sending wake
requests in 'solver' state while executing low power modes.

Change-Id: I0d15c290db48d08158fdbff2cd91505563dc3fd5
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
2019-09-03 11:57:05 -06:00
Lina Iyer
896270c7ef drivers: qcom: rpmh-rsc: do not read back the register write on trigger
When triggering a TCS to send its contents, reading back the trigger
value may return an incorrect value. That is because, writing the
trigger may raise an interrupt which could be handled immediately and
the trigger value could be reset in the interrupt handler.

A write_tcs_reg_sync() would read back the value that is written and try
to match it to the value written to ensure that the value is written,
but if that value is different, we are stuck in loop forever.

Change-Id: I54866b9b9d85fa79c8df84aecd502764b9f9158a
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-09-03 11:57:05 -06:00
qctecmdr
3178aaf4dc Merge "arm64: defconfig: Enable sensors_ssc on Lahaina" 2019-08-30 12:16:12 -07:00
qctecmdr
38a75fdb0b Merge "radio: Add snapshot for FM radio support" 2019-08-29 16:17:44 -07:00
Jun-Hyung Kwon
f27259dbcc arm64: defconfig: Enable sensors_ssc on Lahaina
Enable the sensors_ssc driver to allow to load SLPI
firmware images.

Change-Id: I1782df63b48157e26b4d61dce59ef5ff67a3c4f8
Signed-off-by: Jun-Hyung Kwon <junhyung@codeaurora.org>
2019-08-29 13:56:05 -07:00
qctecmdr
796fce633c Merge "include: rmnet_data: Add snapshot of headers" 2019-08-29 12:59:58 -07:00
qctecmdr
eae4fe4d2f Merge "drivers: sensors: add sensors ssc driver" 2019-08-29 12:59:58 -07:00
Satish kumar sugasi
8bfe4fb64f radio: Add snapshot for FM radio support
Propagate uapi header files for iris FM radio.

Change-Id: I38071146664ba5f56aa61071a3a273c113da375b
Signed-off-by: Satish kumar sugasi <ssugas@codeaurora.org>
2019-08-29 16:04:58 +05:30
Subash Abhinov Kasiviswanathan
44002e1056 include: rmnet_data: Add snapshot of headers
While rmnet_data driver itself is not required, some of the
definitions are used by modules such as mhi and ipa.

Change-Id: I892c2ff51819262632769b3da32a1c2adf6b3543
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2019-08-28 11:48:03 -07:00
Jun-Hyung Kwon
78761020cf drivers: sensors: add sensors ssc driver
SLPI (sensor low power island) uses Qualcomm Technologies, Inc
Digital Signal Processor for all sensors connected via SPI/I2C.
Firmware is required to be loaded to enable these sensors and
algorithms to execute on DSP. This change adds driver to load
the firmware.

This snapshot is taken as of msm-4.19 'commit
<db92782eadcfd7e8186f6f7487194ebbf8c31c19> (Merge "icnss:
Reduce the shutdown timeout from 50sec to 15sec")'.
In addition change copyrights, type and description in KConfig
and directory change from sensors to soc/qcom.

Change-Id: I15350924e7febe287dc9d7e21885b2e11426a2cc
Signed-off-by: Jun-Hyung Kwon <junhyung@codeaurora.org>
2019-08-28 09:44:45 -07:00
Lina Iyer
df2f76f8e8 drivers: qcom: rpmh-rsc: modularize RSC controller driver
Enable RSC controller driver to be compiled as modules. Since RPMH
communication is need for enabling/disabling critical clocks and busses
needed for the application processor, it is better to keep this module
enabled. Hence declare the driver as a builtin platform driver.

Change-Id: I41a657c0d618efb7c3460833ffb8eb5d445885a0
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-08-28 08:44:04 -06:00
Mahesh Sivasubramanian
d6b2e3798f drivers: qcom: cmd-db: Dump resource data via debugfs
Add support to dump command DB data via debugfs. This allows drivers to
lookup data resource information without a resource ID.

Updated to use leXX_to_cpu() functions when reading cmdDB memory.

Change-Id: I04e7466f76ceea00d762752e0c0123edfabe0f64
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
2019-08-28 08:44:04 -06:00
qctecmdr
b5920ef4fa Merge "arm64: defconfig: Enable llcc perfmon drivers" 2019-08-27 22:23:23 -07:00
qctecmdr
30a9af43ae Merge "drivers: llcc_perfmon: Add llcc_perfmon support" 2019-08-27 21:47:13 -07:00
qctecmdr
961790582c Merge "drivers: qcom: cmd-db: Report if command DB is initialized as standalone" 2019-08-27 16:12:16 -07:00
qctecmdr
630f98433d Merge "trace: rtb: add msm_rtb tracing" 2019-08-26 12:24:53 -07:00
Avinash Philip
7a47f5f9f0 arm64: defconfig: Enable llcc perfmon drivers
Enable llcc perfmon drivers for Lahaina SoC.

Change-Id: I5f679dfac0f00b6be1dfaa60de9ce74e9a071b00
Signed-off-by: Avinash Philip <avinashp@codeaurora.org>
2019-08-23 11:53:28 +05:30
Avinash Philip
559bd233f1 drivers: llcc_perfmon: support for dual memory controller added
llcc supports 2 memory controllers in backend on certain systems.
This patch adds support for dual memory controllers. Also fixed
filter related changes in LLCC. Cleaned up the code for better
code walk.

Change-Id: Ie054d9182b20ec0811f117c2289aa857f0384baf
Signed-off-by: Avinash Philip <avinashp@codeaurora.org>
2019-08-23 11:45:33 +05:30
Sankaran Nampoothiri
4c2cedeb04 drivers: llcc_perfmon: Add llcc_perfmon support
This is snapshot of the llcc_perfmon driver from msm-4.14
'commit c9961d61d6d8 ("drivers: soc: llcc_perfmon: Add llcc_perfmon
		support")'

This LLCC perfmon driver provides Sysfs interfaces for the clients to
monitor the events. Driver support for monitor events from LLCC sub blocks.
Also updated driver to handle opcode & cache alloc filters.

Change-Id: Ic711fdbc774d2da1938feff5c0d7888e5cf8495a
Signed-off-by: Sankaran Nampoothiri <snampoot@codeaurora.org>
Signed-off-by: Avinash Philip <avinashp@codeaurora.org>
2019-08-23 11:45:25 +05:30
Yuanyuan Liu
60450b0d00 net: cnss_prealloc: Add snapshot of cnss_prealloc driver
This is a snapshot of cnss_prealloc driver and associated files as of
msm-4.19 commit 94d53f998edd
("cnss_prealloc: Update prealloc memory table").

Change-Id: Ic6e853bf651e2a0e2b672bc68d42929c3b55ef93
CRs-Fixed: 2500800
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2019-08-22 09:23:14 -07:00
qctecmdr
b75bba1a68 Merge "defconfig: Enable fastmap on Lahaina" 2019-08-21 18:18:20 -07:00
qctecmdr
178b046932 Merge "net: cnss_genl: Add snapshot of cnss_genl driver" 2019-08-21 18:18:20 -07:00
Isaac J. Manjarres
b13ee6cd5c defconfig: Enable fastmap on Lahaina
Enable the fast IOMMU DMA mapping facilities on Lahaina.

Change-Id: Iaf94518581585d83bb731452183f45a320898b56
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-08-20 17:12:45 -07:00
qctecmdr
ee24c7758f Merge "iommu: io-pgtable-fast: Use the DMA APIs for cache cleaning" 2019-08-20 16:33:28 -07:00
qctecmdr
3cd94d01cd Merge "defconfig: Enable the MSM ION heaps on Lahaina" 2019-08-20 15:59:59 -07:00
qctecmdr
eba5c99bf6 Merge "staging: android: ion: Do not assign heap IDs as heaps register" 2019-08-20 15:14:38 -07:00
qctecmdr
d5d931862a Merge "Revert "staging: android: ion: Remove file ion_carveout_heap.c"" 2019-08-20 14:11:32 -07:00
qctecmdr
1916b8dca0 Merge "arm64: defconfig: Enable SMP2P Sleepstate on Lahaina" 2019-08-20 13:36:20 -07:00
qctecmdr
dbac3d3368 Merge "arm64: defconfig: Enable MSM QMP driver for Lahaina" 2019-08-20 12:56:00 -07:00
qctecmdr
d0613fdf8d Merge "arm64: defconfig: Enable IPC logging driver on Lahaina" 2019-08-20 12:18:50 -07:00
Yuanyuan Liu
ffd8d0df6c net: cnss_genl: Add snapshot of cnss_genl driver
This is a snapshot of cnss_genl driver and associated files as of
msm-4.19 commit 2a93006b9f9f
("net: cnss_genl: Add snapshot of cnss_genl driver").

Change-Id: I86a557ce898ecb746c8e0afc70a1908415fc2e87
CRs-Fixed: 2500800
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2019-08-20 11:35:49 -07:00
qctecmdr
2f4e024c0e Merge "soc: qcom: Add snapshot of SSR, PIL, Sysmon, and PDR drivers" 2019-08-20 11:28:11 -07:00
qctecmdr
9cf31bfd9b Merge "net: cnss_utils: Add snapshot of cnss_utils driver" 2019-08-19 22:28:04 -07:00
Arun Kumar Neelakantam
2de05ba6fb soc: qcom: qmi_interface: Abort pending transaction
In some cases like SSR, qmi clients are releasing handles without
considering the waiting transactions which results in use after free
of qmi handles after the transaction wait time completes.

Abort the pending transaction during qmi_handle_release to avoid the
use after free.

CRs-Fixed: 2328443
Change-Id: I59e19222b2b9a8ace3d37b4a70ea891ff88db07e
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2019-08-19 18:30:46 -07:00
Chris Lew
1a3a9c9cad soc: qcom: qmi_interface: Add default send timeout
Add a default send timeout for kernel qmi sockets. If a remote proc
crashes, there is a chance that the before shutdown cleanup will try
to send messages to the remote processor. When enough messages are
sent to a single port, the qrtr flow control will kick in and the QMI
socket will block indefinitly. Set the timeout to 10 seconds which
should be long enough to not affect normal functionality.

Change-Id: Ie12dd163a0c4ac1a3dc037e5a29e39395c3cc948
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:30:34 -07:00
Chris Lew
08740902ab soc: qcom: qmi_interface: Do not print error for 0 pkt
Add a check for the zero size flow control packet when handling data
from the socket. This packet is expected and should not be printed as
an error.

Change-Id: I74a9edf752cb5f186ef133ae9d8b12cc93ee1b18
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:30:17 -07:00
Chris Lew
68abb34ed2 arm64: defconfig: Enable SMP2P Sleepstate on Lahaina
Enable the SMP2P sleepstate driver to deliver power state changes
to remote processors like slpi.

Change-Id: I9fe755d2462b7a593e5cbffacd6b466cb21d9f15
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:21:56 -07:00
Chris Lew
b5ada96b10 arm64: defconfig: Enable MSM QMP driver for Lahaina
Enable the MSM QMP driver to communicate with the AOP processor.

Change-Id: I28b6feb5f774e73076893dd7f868d0f806a31f19
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:21:56 -07:00
Chris Lew
45eec0295c arm64: defconfig: Enable QMP DEBUGFS driver on Lahaina
Enable the QMP Client debugfs driver to enable a debugfs node to send
messages to AOP through shell.

Change-Id: I4290469c05e4dd93c1c8931b4b1d29c60134982c
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:21:56 -07:00
Chris Lew
90dc665a17 arm64: defconfig: Enable SMP2P and dependencies on Lahaina
Enable the HWSPINLOCK, SMEM, SMP2P and SMSM drivers to enable point to
point communication over SMEM with remote processors.

Change-Id: Ia1a648e837542fd09e726b393895e3129d857da9
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:21:56 -07:00
Chris Lew
d6df1ff9bc arm64: defconfig: Enable IPC logging driver on Lahaina
Enable the IPC Logging driver to enable clients to write debug logs
into a circular buffer that can be read from debugfs.

IPC Logging is debug feature and should only be enabled on debug level
configurations.

Change-Id: Idb5977c142d6b0a88e83e975a0ba85aa3d1c55d2
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 18:21:48 -07:00
Chris Lew
51669ff07f soc: qcom: Add snapshot of smp2p sleepstate driver
This snapshot is taken as of msm-4.19 'commit <dac6e981b55e>
("Merge "icnss: Skip removing WLAN host driver during recovery"")'.

In addition, replace wakeup_source_trash since API is deprecated.

Change-Id: I0bd88adc9a8e604300b610d7f24dae6cd4e57281
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 14:57:57 -07:00
Jordan Crouse
a221c54d72 soc: qcom: smp2p: Fix two warnings
drivers/soc/qcom/smp2p.c: In function 'qcom_smp2p_do_ssr_ack':
 drivers/soc/qcom/smp2p.c:214:2: error:
   suggest parentheses around assignment used as truth
   value [-Werror=parentheses]

 drivers/soc/qcom/smp2p.c: In function 'qcom_smp2p_notify_in':
 drivers/soc/qcom/smp2p.c:176:23: error:
   format '%x' expects argument of type 'unsigned int', but argument 6
   has type 'long unsigned int' [-Werror=format=]
 drivers/soc/qcom/smp2p.c:281:3: note: in expansion of macro 'SMP2P_INFO'.

Fixes: 322d40176558 ("soc: qcom: smp2p: Add snapshot of smp2p driver")
Change-Id: Ic0dedbadbe4e61dd53e7bb22c54c2eb2ca94eb48
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2019-08-19 14:56:38 -07:00
Chris Lew
11a1ec6583 soc: qcom: smp2p: Prevent suspend for threaded irq
Add primary IRQ handler that takes a wake source to prevent suspend
while the threaded irq is scheduled and run.

Change-Id: I7ea253320251dc721eea0da5028b69b7ebefdac1
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 14:56:22 -07:00
Chris Lew
e1f0b9a878 soc: qcom: smp2p: Add enable_irq_wake to SMP2P IRQ
SMP2P interrupts are expected to wake the processor from suspend.
Do not use the IRQF_NO_SUSPEND flag to handle during suspend path.
Instead rely on the suspend framework to resume and re-trigger the
threaded interrupt.

Change-Id: I22470f7076e71e73f3c7b345ad7e0a5de420225c
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 14:55:42 -07:00
Arun Kumar Neelakantam
3e57835f86 soc: qcom: smp2p: Add logs in smp2p_update_bits
Add debug logs when client modify the smp2p entry.

Change-Id: I777e6496dc9042d1bfd8fbe31210880b15aa1c30
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2019-08-19 14:48:38 -07:00
Chris Lew
0c54c1c555 soc: qcom: smp2p: Add IPC logging support
Add IPC logs to track bit state entries. These logs will help detect
issues in remote processor bootup.

Change-Id: I31a549532122e0ad7e4c9da454ee65c7b48fdd1d
Signed-off-by: Chris Lew <clew@codeaurora.org>
2019-08-19 13:51:30 -07:00
Isaac J. Manjarres
a3d33fec73 defconfig: Enable the MSM ION heaps on Lahaina
Enable the MSM ION heaps to allow allocations from
these heaps through ION.

Change-Id: Ib62d8124d27dcf6dd0a357eb0e36fef5af1138f6
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-08-19 11:25:10 -07:00
Isaac J. Manjarres
b0cbb06dd1 staging: android: ion: Use the MSM dmabuf ops when possible
Use the MSM dmabuf operations for cache maintenance on ION
buffers if they are present. Otherwise, fallback to the
default ION dmabuf operations.

Change-Id: I56e7eabb2614a958aca11c9c1fa4ecd5415ce96a
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-08-19 11:25:10 -07:00
Isaac J. Manjarres
a876bf5eca staging: android: ion: Do not assign heap IDs as heaps register
Some implementations of ION have predetermined heap IDs,
and as such, do not support dynamically assigned heap IDs.
Thus, do not assign heap IDs when the heaps register, so
as to respect their predetermined heap IDs.

Change-Id: I73fa688577da2a249cbe9b405356fc7cf5cb165a
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-08-19 11:25:09 -07:00