Commit graph

882,728 commits

Author SHA1 Message Date
Bhaumik Bhatt
f1ae7429fb mhi: core: ensure non-zero session or sequence ID values
While writing any sequence or session identifiers, it is
possible that the host could write a zero value, whereas only
non-zero values are supported writes to those registers. Ensure
that host does not write a non-zero value for those cases.

Change-Id: I33248a0aa43321c85a107e394f953774140dec50
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 23:23:52 -07:00
Bhaumik Bhatt
a71b413373 mhi: core: serialize execution environment and power off changes
Execution environment and power off changes can be serialized
to avoid changing these important controller variables from
multiple places and serialize handling of all state transitions.

Change-Id: I394e5ff4992d7c911e3889f96057d8467d79509c
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 23:20:35 -07:00
Bhaumik Bhatt
8c33d4e5c3 mhi: cntrl: qcom: enhance logging for forced suspend
Enhance logs for forced suspend/resume cycle after mission
mode entry.

Change-Id: I731f858441c935c17226e3f73a4fd176b0daca0a
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 23:11:23 -07:00
Bhaumik Bhatt
73b20ebea6 mhi: cntrl: qcom: remove boot monitor thread to use status cb
Remove the boot monitor thread and use the mission mode entry
callback instead to handle runtime pm enablement and boot
logger channel cleanup.

Change-Id: Ia018d51987d3201bc65223c3cdf7165d2f6da4ca
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 23:04:13 -07:00
Bhaumik Bhatt
f1e1c6b274 mhi: cntrl: qcom: use RC driver APIs to toggle low power modes
PCIe root complex driver has exposed set of APIs to allow or
prevent link level low power modes. Use those instead of
touching device side registers to toggle the same.

Change-Id: Idf4f6d60a80742524249dacd7a10fe5184acec95
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 23:02:08 -07:00
Bhaumik Bhatt
9986735138 mhi: cntrl: qcom: allow printing large strings to IPC logs
Large strings are truncated to 255 bytes by IPC logging API.
Allow for them to be printed in their entirety by using the
string separator API and split it using newline as the
delimiter.

Change-Id: If9ddbad7e9a9c30da57a733c94fb837c120f12ae
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 23:00:48 -07:00
Bhaumik Bhatt
6bc53ff9fa mhi: core: remove unused timesync device
Remove the unused timesync MHI device as we use the controller
device for timesync related activity instead.

Change-Id: If2bb5937cbf468d8778b89549afdb1d0a9af7782
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-04-17 22:51:41 -07:00
Sumukh Hallymysore Ravindra
abcc12b931 msm: synx: validate external callback
Validate the external callback to prevent acting
on delayed invocations, after the corresponding
handle has been released and reallocated by the
clients.
Change also avoids release of memory shared with
external callback if the callback de-registration
fails. This avoids double free issue if callback
has been queued up for dispatch during the cleanup.

Change-Id: Ib784c8a630a7c45ace946edab34e36ab1aec1869
Signed-off-by: Sumukh Hallymysore Ravindra <shallymy@codeaurora.org>
2020-04-18 08:19:50 +05:30
qctecmdr
5918bdca37 Merge "dt-bindings: clock: Update clock IDs and BCRs of GCC for SHIMA" 2020-04-17 16:31:23 -07:00
qctecmdr
899d1ad7dd Merge "tcp: Reset tcp connections in SYN-SENT state" 2020-04-17 16:31:23 -07:00
qctecmdr
6c65d27ba1 Merge "arm64: defconfig: Insert Adreno default governor in gki defconfig" 2020-04-17 16:31:23 -07:00
qctecmdr
8121f935fe Merge "pinctrl: qcom: Expose ufs_reset as gpio on shima" 2020-04-17 16:31:22 -07:00
qctecmdr
440b0124f5 Merge "input: qcom-hv-haptics: update FIFO samples in IRQ thread" 2020-04-17 16:10:09 -07:00
qctecmdr
f417c81eb1 Merge "mhi: core: do not toggle PCIe low power mode in sleeping context" 2020-04-17 16:10:09 -07:00
qctecmdr
1c8659071c Merge "defconfig: arm64: Enable of_devlink proxy consumer for Lahaina" 2020-04-17 16:10:09 -07:00
qctecmdr
c9e50a28fa Merge "msm: kgsl: Add a terminating empty entry to a660_protected_regs array" 2020-04-17 15:54:47 -07:00
qctecmdr
32ef04353a Merge "msm: kgsl: Modify CP_LPAC_PROG_FIFO_SIZE register value for A660" 2020-04-17 15:54:46 -07:00
qctecmdr
13ffc50455 Merge "power: qti_battery_charger: Block PMIC GLINK Tx for debug battery" 2020-04-17 15:54:46 -07:00
qctecmdr
21045cf753 Merge "soc: qcom: Add support for proxy consumers on of_devlink" 2020-04-17 15:54:45 -07:00
qctecmdr
2062bd224e Merge "msm: cvp: fixed cache operation func param issue" 2020-04-17 15:54:45 -07:00
qctecmdr
5bcf7e3ec6 Merge "usb: gadget: composite: Support more than 500mA MaxPower" 2020-04-17 15:38:17 -07:00
Raghavendra Rao Ananta
91c84d3017 service-locator: Start the locator service by default
There's no reason why the locator service should start in
a 'disabled' manner. Hence, unless otherwise stated by the
cmdline arguments, start the service by default.

Change-Id: I8377aabed691c402c47352aadfdd4ded25f1f459
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-04-17 15:07:12 -07:00
Elliot Berman
8416b1f8a0 arm64: defconfig: Trim genericarmv8 defconfig
Remove ChromeOS, OP-TEE, DRM, 802.11, FPGA, IPMI, non-Qualcomm vendor
configs from genericarmv8 defconfig.

Change-Id: Iefd8d43273e6e8706123167fc5962f84ae95ad55
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-04-17 13:00:42 -07:00
Elliot Berman
4a4abb2b6e arm64: defconfig: Add ftrace to genericarmv8
Add ftrace and upstream tracers to genericarmv8 defconfig.

Change-Id: I751e07e098623cb246d3ffbef3550977ac24e00a
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-04-17 13:00:38 -07:00
Mike Tipton
207dad903a interconnect: qcom: lahaina: Change QUP vote_scale to 1
The QUP BCMs expect requests to be made in KHz. However, since we
currently scale client requests by 1000, this requires client requests
to be made in MHz. To align with the rest of the non-HLOS images, to
make things more consistent with other BCMs that use KBps, and to allow
for finer-grained frequency requests, change the scaling factor to 1.
This allows the client requests to be made in KHz.

Change-Id: I5b9e53d3fe2691830f304f909cd3ac0c94dacbcf
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-04-17 12:09:26 -07:00
Mike Tipton
013a030731 interconnect: qcom: Add support for per-BCM scaling factors
Currently, bcm-voter always assumes requests are made in KBps and that
BCM HW always wants them in Bps, so it always scales the requests by
1000. However, certain use cases and BCMs may use different units.
Thus, add support for BCM-specific scaling factors.

Change-Id: Icb757e5e111f3e9a39e34cce989d076a80a7c79a
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-04-17 12:09:26 -07:00
Mike Tipton
8c1b89af72 interconnect: qcom: lahaina: Stop using initializer macros
The current strategy of using macros to define/initialize structures
causes a couple of problems.

One is that it's difficult to navigate the code. Source navigators like
cscope or ctags can't jump to structure definitions since they're buried
inside macros. It's also difficult to see which structure members are
getting initialized to which values, since one has to carefully compare
the argument list with the macro definition to see which argument number
gets assigned to which struct member. This is error prone.

Another more serious problem is that it makes adding additional struct
members to be initialized very difficult. If there's a new struct member
that only needs to be initialized in a small number of cases, then we'd
either need to update the common macro with a new parameter and then
update every invocation of it, or create a new macro and only call the
new macro in places where it's needed. The first method results in
updating way more code than is necessary, especially if there are
multiple old chipsets. The second method results in an explosion of
different macros for each new member that needs initializing.

To simplify this, don't use the macro initializers and instead just
define the structures directly using designated initializers. If a new,
uncommon field needs to be initialized, then one the small subsets of
structures that care need to add the additional designated initializer
and the rest can use sane defaults.

Change-Id: I3a0ae58ba1fb1e838b5b587f94144a1ec1640f98
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-04-17 12:09:26 -07:00
Prasad Sodagudi
688498ee27 soc: qcom: Add support for early brought out subsystems
Add support into subsytem restart and secure pil drivers
for the subsystems which is brought out of reset during
the bootloader stage. During the hlos stage when any client
requested for this type of subsystem, check subsystem status
before loading the firmware. If subsystem is active and
not crashed just enable subsystem IRQs and continue.
If subsystem is already crashed, shutdown the subsystem and
inform the client driver about error state. Client driver
can request for the subsystem second time to load the firmware
freshly into memory and to bring out of reset.

Change-Id: Ie653a44a67ae33760891334b9449984d56142128
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
2020-04-17 11:43:18 -07:00
Prasad Sodagudi
65a9fe67f3 soc: qcom: Refactor subsystem registration process
Restructure subsystem registration process and IRQ registration
step such that, both subsystem restart framework and secure pil
drivers should be able to handle all the asychronous events
coming from subsystem. If both subsystem restart framework
and secure pil drivers are not in proper state to handle
asychronous events from subsystem leading to kernel faults.

Change-Id: Iacda38a9d7d4aeb4549f45533c91791f096c3b1c
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
2020-04-17 11:41:26 -07:00
Harshdeep Dhatt
85dbbd221a msm: kgsl: Make the gpubw governor immutable
The kgsl-busmon devfreq device is only set up to work with
the gpubw governor. So make it immutable to avoid unexpected
failures when re-assigning a different governor.

Change-Id: I545fa12efebf80aa38ff6270488f088fdaac2b84
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2020-04-17 12:39:11 -06:00
Raghu Ananya Arabolu
77abaf3c26 msm: kgsl: Increase the SVM and non-SVM address space
Increase the SVM and non-SVM address space for 64 bit processes.
The SVM address space is increased from 4 GB to 252 GB. The non-SVM
address space is increased from 4 GB to 256 GB.

Change-Id: I7774cfdf59a2b00dc348d601b834d85059f12a86
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
2020-04-17 10:59:15 -07:00
Satya Durga Srinivasu Prabhala
22b04fa805 sched/fair: honor uclamp restrictions in fbt()
While calculating untilization of CPU during task placement in fbt(),
current code doesn't take uclamp into account which would lead to
selection of incorrect CPU for the task when uclamp restrictions
are in place for the task.

Change-Id: I8371affe3b37733d222e5c57953e53f91fc19a53
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2020-04-17 09:23:40 -07:00
Jagadeesh Kona
b7d2a71622 clk: qcom: gcc-shima: Add support for GCC clock driver
Add support for global clock controller for peripheral clock
clients to be able to request for the clocks.

Change-Id: I528821a299fee139d23947bc8caa5674ddef9687
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
2020-04-17 04:35:07 -07:00
Devi Sandeep Endluri V V
01dbe6a77b tcp: Reset tcp connections in SYN-SENT state
Userspace sends tcp connection (sock) destroy on network permission
change. Kernel though doesn't send reset for the connections in
SYN-SENT state and these connections continue to remain. Even as
per RFC 793, there is no hard rule to not send RST on ABORT in
this state. Modify tcp_abort and tcp_disconnect behavior to send
RST for connections in syn-sent state to avoid lingering
connections on network switch.

CRs-Fixed: 2396964
Change-Id: If931fb979e519c474697d82d8c9dbaf0edb626e3
Signed-off-by: Devi Sandeep Endluri V V <dendluri@codeaurora.org>
2020-04-17 03:18:19 -07:00
Chandra Sai Chidipudi
624d012216 arm64: defconfig: Insert Adreno default governor in gki defconfig
CONFIG_QCOM_ADRENO_DEFAULT_GOVERNOR is getting inserted into qgki
defconfig by default on doing a make menuconfig. Clean it by
inserting into gki defconfig.

Change-Id: Ie479abfaad1352c3026a7fc027cfb9b59501f65d
Signed-off-by: Chandra Sai Chidipudi <cchidipu@codeaurora.org>
2020-04-17 01:33:32 -07:00
Fei Mao
87b6dfa00f arm64: defconfig: Enable touchscreen GKI on Lahaina
Enable touchscreen GKI drivers on Lahaina.

Change-Id: Iabc924a9dfc39b433abe765f0d7f4d46ad440d73
Signed-off-by: Fei Mao <feim1@codeaurora.org>
2020-04-17 00:44:47 -07:00
Neeraj Soni
81feae3952 qseecom: Invalidate the buffer after listener operation
Listener operation switches the context between secure and
non-secure world while user requested qseecom operation is
put to wait. Between lisetner operation start and finish CPU
can do a speculative data fetch before secure world updates
the physical memory of user requested response data buffer which
was waiting in qseecom for listener operation to complete. This
speculative fetch will pull old data from RAM to cache and user
will end up reading stale data. Fix this by invalidating the
response data dma buffer after listener call completes. Also remove the
invalidate call for listener dma after scm call as data will not
be accessed in kernel after scm call is completed.

Change-Id: I68730a17b515f07a71a040a534f97ce97c65026c
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
2020-04-16 21:38:10 -07:00
Dan Murphy
58716e7b95 FROMLIST: power_supply: Add additional health properties to the header
Add HEALTH_WARM, HEALTH_COOL and HEALTH_HOT to the health enum.

Bug: 149071038
Test: Builds
Link: https://lore.kernel.org/linux-pm/20200116175039.1317-3-dmurphy@ti.com/

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Tested-by: Guru Das Srinagesh <gurus@codeaurora.org>
Signed-off-by: Sandeep Patil <sspatil@google.com>
Change-Id: I5a99577e8c8c38c2ea10a339223c177d18c93d37
Git-repo: https://android.googlesource.com/kernel/common
Git-commit: 9179772db7
[subbaram@codeaurora.org: resolved trivial merge conflict]
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
2020-04-16 18:55:09 -07:00
Hemant Kumar
b90e90c356 mhi: core: Add range check for channel id received in event ring
The mhi_process_data_event_ring function reads cmd channel id from
cmd_pkt using MHI_TRE_GET_CHID, the value is under the control of MHI
devices and can be any value between 0 and 255. However the max channel
is defined in device tree file and it is usually smaller than 255. This
can cause out of bound access to the channel array. Fix this by checking
the channel id received in cmd ring against the max channel allowed on
target.

Change-Id: Iae4282ebba2976a26c6e33477cc8dd93929c2f63
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2020-04-16 17:09:34 -07:00
qctecmdr
ab470e82dd Merge "sched: Improve the scheduler" 2020-04-16 16:49:31 -07:00
qctecmdr
f205d5a440 Merge "cnss2: Enable time sync feature for QCA6490" 2020-04-16 16:49:31 -07:00
qctecmdr
ba398e7818 Merge "interconnect: qcom: lahaina: Use the correct binding for qnm_pcie" 2020-04-16 16:49:30 -07:00
qctecmdr
00e20a4709 Merge "netfilter: Include alarm type timer in idletimer" 2020-04-16 16:49:30 -07:00
qctecmdr
04c75d5d9f Merge "defconfig: holi: Enable holi pinctrl" 2020-04-16 16:49:29 -07:00
qctecmdr
0f383d5ad2 Merge "cnss2: Remove improper runtime PM enablement checks" 2020-04-16 16:49:29 -07:00
Anirudh Raghavendra
01566543bb msm: adsprpc: Add capibility API for HMX
A new capability API is added for HMX to support both
spatial and depth parameters.

Change-Id: I845073b4271a0c2ad619d3e80d182071b22e6e5a
Signed-off-by: Anirudh Raghavendra <araghave@codeaurora.org>
2020-04-16 16:31:31 -07:00
Nitheesh Muthuraj
6d434abcce msm: kgsl: Enable Content Protection for A660 GPU
Enable Content Protection feature for A660 GPU. This feature allows
the user to create secure memory and to put the GPU into secure mode.

Change-Id: I3aa0756898446a0876f74654444a9c318307a549
Signed-off-by: Nitheesh Muthuraj <nmuthuraj@codeaurora.org>
2020-04-16 12:30:33 -07:00
Ram Chandrasekar
40103f7638 driver: thermal: qmi_cdev: Add support for DSC mitigation
Modem supports new DSC based mitigation nodes, which are not timer
based. Add support for these new TMD devices to be registered as cooling
devices in thermal framework.

Change-Id: I4673aa80029804ff4fa8104d4e04651c3d825e48
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2020-04-16 11:58:37 -07:00
qctecmdr
1ddf3853b2 Merge "defconfig: Enable header tests for Lahaina GKI" 2020-04-16 11:22:40 -07:00
qctecmdr
8c3d768ae8 Merge "msm: cvp: Fix NULL pointer error when DEBUG_FS is disabled" 2020-04-16 11:22:40 -07:00