Commit graph

875,647 commits

Author SHA1 Message Date
Siddharth Gupta
5efbab93ed firmware: qcom_scm: Export invoke callback response API
Adding qcom_scm_invoke callback_response as an exported symbol.

Change-Id: I2cb0f91649c4580952f888925eb2b1ca8db5b849
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
2019-12-10 13:14:37 -08:00
Siddharth Gupta
b4f766a33e firmware: qcom_scm: Move qseecom specific workarounds
Move qseecom specific workarounds to the main file. This allows
access to the scm device struct.

Change-Id: I08bb227e88a7ba21bce0d3e7911819b07815c83f
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
2019-12-10 13:14:19 -08:00
qctecmdr
365ba81c39 Merge "clk: qcom: Add additional clock debugfs support" 2019-12-10 12:44:53 -08:00
qctecmdr
72f168d252 Merge "ALSA: compress: Add support to send codec specific data" 2019-12-10 12:44:52 -08:00
qctecmdr
03b0aae5ad Merge "usb: dwc3: gadget: Clear pending events when stopping controller" 2019-12-10 12:44:52 -08:00
qctecmdr
2ddc6eedce Merge "defconfig: lahaina-gki: Enable PWM LPG driver" 2019-12-10 11:53:49 -08:00
qctecmdr
86a95dd4c5 Merge "msm: adsprpc: Updating dependencies for fastrpc driver" 2019-12-10 09:45:04 -08:00
qctecmdr
a87cdbf216 Merge "arm64: defconfig: Enable printing unhashed pointers on Lahaina" 2019-12-10 09:45:04 -08:00
qctecmdr
8dfdffcaa9 Merge "timer: create timer_quiesce_cpu() to isolate CPU from timers" 2019-12-10 09:45:03 -08:00
Edgar Flores
bcecb40d60 msm: adsprpc: Updating dependencies for fastrpc driver
Updating dependencies for fastrpc driver.

Change-Id: I4e571301f25f98f3aea35a17b211fc97b64e7b84
Signed-off-by: Edgar Flores <edgarf@codeaurora.org>
2019-12-09 19:22:33 -08:00
Isaac J. Manjarres
544abf09ba arm64: defconfig: Enable printing unhashed pointers on Lahaina
Allow printing unhashed pointers on Lahaina.

Change-Id: I474719268de201b731e83bbbd9d24cd54ec7e260
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2019-12-09 17:42:54 -08:00
Guru Das Srinagesh
f0ae1932b0 defconfig: lahaina-gki: Enable PWM LPG driver
Enable the QTI PWM LPG driver that configures PWM/LPG channels on
Qualcomm Technologies Inc. PMICs for clients such as LEDs.

Change-Id: Ic854b1b01b0769eccfc680fa961ed4107694ba28
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2019-12-09 14:55:14 -08:00
Guru Das Srinagesh
86c0cf8e97 pwm: Add snapshot of QTI PWM LPG driver
The QTI PWM LPG driver supports the configuration of PWM/LPG channels on
QTI PMICs.

This is a snapshot of the driver taken from msm-4.19 as of commit
cf2cbb63fb60 ("Merge "input: touchscreen: synaptics_tcm: enable touch
driver"") with the following modifications:
  - Remove config_extend callback and pwm_get_period_extend()
  - Remove struct output_pattern and all its references
  - Remove enable, disable and config pwm_ops callbacks and instead use
    only apply()
  - Remove output_type callbacks
  - Remove support for dbg_show callback

Change-Id: I28571a8c6d5b0d5ac0cad113e77f3b5de8bf97c4
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2019-12-09 14:55:13 -08:00
Guru Das Srinagesh
c0e03f9778 defconfig: lahaina-gki: Enable MFD SPMI PMIC driver
Enable the MFD SPMI PMIC driver that adds support for QTI SPMI PMICs.

Change-Id: I22880f85882fdaa2315f281108ca9006cace0354
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2019-12-09 14:55:13 -08:00
Taniya Das
ea8a2984ef clk: qcom: Add additional clock debugfs support
Update QCOM clock debugfs to support the below functionalities.
 - Display the register contents of all the clocks which support
   this operation.
 - Display the frequency to voltage mapping of a clock.
 - Display the list of clock frequencies supported by the root
   clocks.
 - Display the clk_rate_max associated with enabled clocks list.

Also add the clock list_rate_vdd_level operation, which is required
for the "clk_enabled_list" and "trace_clocks" debugfs nodes to print
the current voltage.

Change-Id: I3b4cf83e776750d993d53331142223109bf0862e
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Signed-off-by: David Dai <daidavid1@codeaurora.org>
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2019-12-09 14:37:29 -08:00
Taniya Das
fd4adb4c8c clk: add/modify debugfs support for clocks
Update clock debugfs to support the below functionalities.
 - Allow enabling/disabling a clock.
 - Allow calling set_rate on a clock.
 - Display the list of enabled_clocks along with prepare_count,
   enable_count and rate.
 - Add a trace_clocks node to dump the current state of all clocks
   in the ftrace logs.

Change-Id: Ib67b3a3409c9e7d8adb710bb524f54f543abf712
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Signed-off-by: David Dai <daidavid1@codeaurora.org>
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2019-12-09 14:37:29 -08:00
qctecmdr
c895479930 Merge "mm: cma: Print region name on failure" 2019-12-09 14:12:05 -08:00
qctecmdr
b324b99e6d Merge "lib/vsprintf: Less restrictive hashed pointer printing" 2019-12-09 14:12:05 -08:00
qctecmdr
e42afd755e Merge "mm, page_owner: record time and pid" 2019-12-09 14:12:04 -08:00
qctecmdr
d9f515c2b6 Merge "clk: qcom: gpucc: Voltage voting support for Lahaina" 2019-12-09 09:50:33 -08:00
qctecmdr
a0aff6fc73 Merge "msm: kgsl: Set up the adreno device at runtime" 2019-12-09 09:05:21 -08:00
qctecmdr
140cc17e9c Merge "msm: kgsl: Add dedicated boolean functions for adreno sysfs" 2019-12-09 08:32:40 -08:00
qctecmdr
9275751079 Merge "msm: kgsl: Cleanup the device tree probing for memory pools" 2019-12-09 07:59:44 -08:00
qctecmdr
721c41dd4c Merge "msm: kgsl: Make the a6xx mbox client static" 2019-12-09 07:20:52 -08:00
qctecmdr
babbe4d5d1 Merge "wil6210: fix QCA_WLAN_VENDOR_ATTR_FREQ attribute ID" 2019-12-09 03:56:44 -08:00
qctecmdr
905447de4c Merge "spi: spi-msm-geni: Add support to make SPI driver GKI compliant" 2019-12-09 03:26:45 -08:00
qctecmdr
a0d40ebe6f Merge "wil6210: initial support for FTM and AOA" 2019-12-09 02:57:35 -08:00
qctecmdr
eb7a9dce11 Merge "wil6210: add module parameter for alternate interface name" 2019-12-09 02:15:48 -08:00
qctecmdr
ecac8a0e7f Merge "msm: kgsl: Cleanup iommu device tree probe" 2019-12-09 00:39:40 -08:00
qctecmdr
2e952766ee Merge "firmware: qcom_scm: Check for NULL before dereferencing __scm" 2019-12-09 00:39:39 -08:00
qctecmdr
f9b86476cf Merge "iommu/arm-smmu: Reduce log spam from ECATS translation timeouts" 2019-12-09 00:39:39 -08:00
Vipin Deep Kaur
efebf52281 spi: spi-msm-geni: Add support to make SPI driver GKI compliant
Add support in SPI QUPv3 driver to make it a DLKM.

Change-Id: Ic251466331862eb9a6e72455cac8ac4388b01045
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>
2019-12-09 13:53:38 +05:30
qctecmdr
02b2c03252 Merge "arm64: defconfig: Enable Lazy DMA Mapping on Lahaina GKI" 2019-12-08 23:58:00 -08:00
Lior David
bcdbe43a38 wil6210: fix QCA_WLAN_VENDOR_ATTR_FREQ attribute ID
Fix QCA_WLAN_VENDOR_ATTR_FREQ attribute ID to match the official
value from the QCA vendor command definitions (qca-vendor.h).

Change-Id: I549752fe5c29de5346cf9263ccc16266cafbbecd
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-08 10:40:03 +02:00
Lior David
abcaaf6443 wil6210: support FTM/AOA while unassociated
Prepare driver for FTM/AOA while unassociated.
1. Added attributes allowing user space to specify the frequency
where FTM/AOA peer is listening. When specified it will override
the entry in the kernel scan results cache. If not specified,
the kernel scan results cache will be used like today.
This gives user space location framework more flexibility - it
can maintain its own cache of peers, or perform scans less
often (since entries in the kernel scan results cache expire
quickly)
2. Remove associated check when starting FTM session, so session
can start even when unassociated.

Change-Id: Ib0ba52c506e1d8d59ab8c12043acd792405d69a0
CRs-Fixed: 1094147
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-08 10:40:03 +02:00
Lior David
9adf4cf273 wil6210: initial support for FTM and AOA
Added initial support for fine timing measurement(FTM)
and angle of arrival (AOA). These features allow a station
to get an accurate indoor location by measuring
distance (FTM) and azimuth/elevation (AOA) to one or more
stations/APs with a known location.

The following APIs are supported:
1. Get FTM/AOA capabilities, currently hard-coded for a
single-shot measurement to an associated AP.
2. Start FTM session.
3. Receive FTM results.
4. Start standalone AOA measurement.
5. Receive AOA results.

Change-Id: I54ebc1bdff6ed7d91644165b16eb0a4240069321
CRs-Fixed: 1057307
Signed-off-by: Lior David <liord@codeaurora.org>
[merez@codeaurora.org: fix compilation errors]
Signed-off-by: Maya Erez <merez@codeaurora.org>
[ailizaro@codeaurora.org: trivial conflict fixes]
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: fix conflicts, SPDX license]
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-08 10:39:45 +02:00
qctecmdr
eda093d5ef Merge "dmaengine: gpi: Add support to make GPI driver GKI compliant" 2019-12-07 00:59:42 -08:00
qctecmdr
a2457c5ecd Merge "soc: qcom: ssr: Export find_subsys_device function" 2019-12-07 00:59:41 -08:00
qctecmdr
da62b770ad Merge "drivers: thermal: Add a snapshot of thermal framework" 2019-12-07 00:59:41 -08:00
qctecmdr
cdeb9b274f Merge "firmware: qcom_scm: Add MODULE_LICENSE" 2019-12-07 00:59:39 -08:00
qctecmdr
ebbf8cba46 Merge "devfreq: Do not allow tunable updates when device is suspended" 2019-12-06 18:04:42 -08:00
Raghavendra Rao Ananta
54e781e95b firmware: qcom_scm: Check for NULL before dereferencing __scm
The function qcom_scm_get_sec_dump_state dereferences __scm without
checking for NULL and could potentially lead to a NULL pointer exception.
This scenario can happen if the clinet calls qcom_scm_get_sec_dump_state
before qcom_scm driver is even probed. Hence, check for NULL before
dereferencing it.

Change-Id: Ic6f7c2b2d616645ea69a8c594c90dc01d689637f
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2019-12-06 17:24:19 -08:00
qctecmdr
cf23d0036d Merge "PM / devfreq: memlat: Look for min stall% in addition to ratio criteria" 2019-12-06 11:10:36 -08:00
qctecmdr
ec6b9bfbe0 Merge "msm: ipa3: SRAM NAT, DDR NAT, back-and-forth NAT" 2019-12-06 10:38:46 -08:00
Rama Aparna Mallavarapu
5e33579a6a devfreq: Do not allow tunable updates when device is suspended
Tunables update accesses the monitor's registers for some devices.
When the device is suspended, the clocks for those devices are turned
off and updating the tunables of a suspended device causes the device
to crash. Fix this by checking the flag dev_suspended before allowing
the tunable updates.

Change-Id: I3a0938edf761a9ea6d39ffeec19f35c228d5c306
Signed-off-by: Rama Aparna Mallavarapu <aparnam@codeaurora.org>
[avajid@codeaurora.org: updated to utilize suspend_count from upstream and resolved minor merge conflicts]
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2019-12-06 08:51:32 -08:00
Rama Aparna Mallavarapu
db4f4a0933 PM/devfreq: Do not switch governors from sysfs when device is suspended
There is a possibility to switch the governors from sysfs even when the
device is in suspended state. This can cause a NOC error at times when
trying to access the device's monitor registers in a suspended state. This
change fixes this issue. Utilize suspend_count to know if the device is in
suspended state or not. Check if the device is suspended before switching
the governor from sysfs.

Change-Id: I15055aa51daa35272be4667e5bafb8ccd7933098
Signed-off-by: Rama Aparna Mallavarapu <aparnam@codeaurora.org>
[avajid@codeaurora.org: updated to utilize suspend_count from upstream, resolved minor merge conflicts and updated commit text]
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2019-12-06 08:51:32 -08:00
Rama Aparna Mallavarapu
96784c4520 PM / devfreq: Fix race condition between suspend/resume and governor_store
There is a race condition when the event governor_store is being executed
from sysfs and the device issues a suspend. The devfreq data structures
would become stale when the suspend tries to access them in the middle
of the governor_store operation. Fix this issue by taking a lock around
suspend and resume operations so that these operations are not concurrent
with the other events from sysfs.

Change-Id: Ifa0e93915a920cec3e0429966328a1128d61098b
Signed-off-by: Rama Aparna Mallavarapu <aparnam@codeaurora.org>
[avajid@codeaurora.org: updated to merge better with upstream changes and removed renaming since done in previous commit]
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2019-12-06 08:51:31 -08:00
Jonathan Avila
9693b4d620 PM / devfreq: Introduce an event lock
Currently, concurrent writes to sysfs entries leave the	possibility
for race conditions within the devfreq framework.  For example,
concurrently executing max_freq_store and governor_store can result
in attempting to perform an update_devfreq() before the new governor's
start handler can be executed.

A more concrete case is a race between polling_interval_store and
governor_store.  Because no lock is used after calling into the event
handler of the old governor and there's nothing preventing work from
being queued after the monitor is stopped, it's possible to
accidentally cause delayed work to be queued on the governor being
switched to.  This can be seen if you create two threads, one which
changes a device's governor between simple_ondemand and performance,
and one which changes its polling interval between 45 and 50.

All of these races can be addressed with the introduction of a lock
that prevents sysfs operations from interleaving in this fashion.

Change-Id: Ia6887dcb2d69dc2576837a6c09fed55a28943abc
Signed-off-by: Jonathan Avila <avilaj@codeaurora.org>
[avajid@codeaurora.org: renamed to event lock and only used when CONFIG_QCOM_DEVFREQ_ICC is enabled]
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2019-12-06 08:51:30 -08:00
Jonathan Avila
52ab3535b2 Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs"
This reverts commit 4585fbcb53. The change
to be reverted would add probe order-dependent numbers to the end of each
devfreq device, making our post boot script (among others) incredibly
brittle.

Change-Id: I8fdb679ae651d9f425ffd60e2141613ae20bb029
Signed-off-by: Jonathan Avila <avilaj@codeaurora.org>
[avajid@codeaurora.org: resolved trival merge conflicts]
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2019-12-06 08:51:30 -08:00
Amir Vajid
1bb4b043b3 PM / devfreq: qoslat: Update voting level definitions
Having OPP levels of 0 and 1 causes a minor error in OPP
debugfs since an OPP level of 0 causes the OPP index to be
used instead (1 in this case) which later clashes with an
actual OPP of 1. Update the qoslat OPP levels to avoid this.

Change-Id: I23c0e736c9f1bfe77a99af44ced180d488a52eeb
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2019-12-06 08:51:29 -08:00