Commit graph

879,413 commits

Author SHA1 Message Date
qctecmdr
12ead59441 Merge "msm: adsprpc: increase max number of concurrent remote sessions" 2020-03-22 02:18:34 -07:00
qctecmdr
7b0820081a Merge "mm: oom_kill: Support further prioritization of OOM kills" 2020-03-21 22:18:23 -07:00
qctecmdr
eed9635975 Merge "iommu/arm-smmu: Add implementation specific device group matching" 2020-03-21 22:18:23 -07:00
qctecmdr
1db0113172 Merge "mm/Kconfig: Remove dependency on QCOM_MEM_OFFLINE for movable zone" 2020-03-21 22:18:22 -07:00
qctecmdr
ba58d064b5 Merge "soc: qcom: spcom: fix pr_err() missing "name" parameter" 2020-03-21 18:35:33 -07:00
qctecmdr
3d41a73b02 Merge "soc: qcom: spcom: return EINTR on wait interrupted" 2020-03-21 18:35:33 -07:00
qctecmdr
a2bde9bf97 Merge "soc: qcom: hyp_core_ctl: Add frequency QoS support" 2020-03-21 18:35:32 -07:00
qctecmdr
97aef1c9c5 Merge "defconfig: lahaina: Enable support for dma-coherent-hint-cached" 2020-03-21 18:35:32 -07:00
Amir Samuelov
613dfc140f soc: qcom: spcom: return EINTR on wait interrupted
wait_for_completion_interruptible() returns ERESTARTSYS when
the device goes to low power mode.
The SPU subsystem is shutdown on deep low power mode,
so the interrupted operation is not recoverable.
return EINTR to user space to propagate the error to the user app.

Change-Id: I3b47b971d4411f977a0f68c1ce838fd92198c75d
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2020-03-21 00:38:01 -07:00
Amir Samuelov
a6ec9c9d74 soc: qcom: spcom: fix pr_err() missing "name" parameter
the print format has "%s" but is missing the "name" parameter.

Change-Id: Ib2fcbcf2d477552c8d2fbf16487854ac13c1b3ca
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2020-03-21 00:37:35 -07:00
qctecmdr
b73840d28d Merge "kernel_headers: Add msm_hdmi_hdcp_mgr.h header" 2020-03-20 21:42:09 -07:00
qctecmdr
7596d83edd Merge "haven: doorbell: Fix hh_dbl_send error print" 2020-03-20 21:42:09 -07:00
qctecmdr
9c6133b184 Merge "perf: Satisfy the kernel's request to request PMU counters" 2020-03-20 21:42:07 -07:00
qctecmdr
2ec6c06627 Merge "interconnect: Add interconnect_graph file to debugfs" 2020-03-20 09:40:40 -07:00
qctecmdr
da61f2ab29 Merge "interconnect: qcom: Support bcm-voter-specific TCS wait behavior" 2020-03-20 09:40:40 -07:00
qctecmdr
4fb04ec2bf Merge "iommu/arm-smmu: Add support for implementation specific debugging" 2020-03-20 09:40:40 -07:00
qctecmdr
3b90a3b235 Merge "msm: kgsl: remove redundant check for usermem type" 2020-03-20 05:55:01 -07:00
qctecmdr
1150df1e70 Merge "msm: ADSPRPC: Awake PM with a timeout" 2020-03-20 05:55:00 -07:00
qctecmdr
c18b56730d Merge "soc: qcom: socinfo: Add soc information for Shima" 2020-03-20 01:15:50 -07:00
qctecmdr
c81d459676 Merge "ion: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units" 2020-03-20 01:15:49 -07:00
qctecmdr
12d4640529 Merge "sched: Add support to spread tasks" 2020-03-20 01:15:49 -07:00
qctecmdr
fa0c7b3eb6 Merge "drivers: lpm-levels: check for per-cpu dev PM QoS" 2020-03-20 01:15:48 -07:00
Isaac J. Manjarres
eee5991b7f mm/Kconfig: Remove dependency on QCOM_MEM_OFFLINE for movable zone
Enabling the movable zone shouldn't depend on QCOM_MEM_OFFLINE,
so remove the dependency.

Change-Id: Id5bd1a7b79adbf6f85c2007cd7d690a387258c83
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-19 16:02:51 -07:00
Isaac J. Manjarres
851cb188d0 arm64: defconfig: Enable ZRAM on genericarmv8-64
Enable the configs necessary to enable ZRAM functionality
on genericarmv8-64.

Change-Id: Iebb618a4b716f0dee27f6ddd7e14975481d4a3c8
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-19 15:11:30 -07:00
Isaac J. Manjarres
6d728c9921 arm64: defconfig: Enable CMA optimizations for genericarmv8-64
Enable the CMA optimizations for the genericarmv8-64
configuration.

Change-Id: Ib65684f4d3c89d7a6bf9961d6538cbeb84cec638
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-19 14:37:50 -07:00
Isaac J. Manjarres
2b35e4dcac mm/Kconfig: Relax CMA optimization dependencies
The CMA performance optimizations depend on QGKI, which
prevents them from being enabled on configurations that don't
have a notion of GKI and QGKI. Thus, remove this dependency.
This shouldn't cause any problems with the ABI surface with
respect to GKI targets as the configs still have to be enabled
explicitly anyway.

Change-Id: I1bea32ccf23e485f491dfb27422f83d0919aedd6
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-19 14:35:27 -07:00
Raghavendra Rao Ananta
6c1e5e4534 arm64: defconfig: Enable debugging support for spinlocks
Enable CONFIG_DEBUG_SPINLOCK to debug issues with respect to
deadlocks on Lahaina platforms.

Change-Id: I9599e3478118c1decdfe7a0b2c76064e710ef9f3
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-03-19 06:47:02 -07:00
Raghavendra Rao Ananta
e5ac623a25 perf: Satisfy the kernel's request to request PMU counters
The SELinux policy on Android doesn't provide the kernel-space
with CAP_SYS_ADMIN capability. The perf-core checks for this
capability before giving access to the callers to read the PMU
counters. Hence, when the kernel drivers try to gain access
to the PMU (via perf_event_create_kernel_counter()), it fails
with -EACCES.

To get past this, add another condition to check if the request
is coming from kernel-space or user-space. If kernel-space,
don't check for the capability any further and move on.

Change-Id: Ie2ddc6b619fa0d60d4752994ea0c9cedf5b96b5c
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-03-19 06:43:39 -07:00
Chandra Sai Chidipudi
9f5985196b soc: qcom: socinfo: Add soc information for Shima
Add SOC ID to support socinfo for Shima SOC.

Change-Id: I2f3c8476d02ab55e55d14c64e359a1a2a5deeafd
Signed-off-by: Chandra Sai Chidipudi <cchidipu@codeaurora.org>
2020-03-19 06:24:59 -07:00
Leonard Crestez
3e8b7928e2 interconnect: Add interconnect_graph file to debugfs
The interconnect graphs can be difficult to understand and the current
"interconnect_summary" file doesn't even display links in any way.

Add a new "interconnect_graph" file to debugfs in the graphviz "dot"
format which describes interconnect providers, nodes and links.

The file is human-readable and can be visualized by piping through
graphviz. Example:

ssh $TARGET cat /sys/kernel/debug/interconnect/interconnect_graph \
	| dot -Tsvg > interconnect_graph.svg

Change-Id: I372a284efd67cf02b6791758c0ab836b8f011f7a
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Git-commit: 1a0013c62b33158dcb67a3c11872a03be50711a3
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Georgi Djakov <gdjako@codeaurora.org>
2020-03-19 04:09:11 -07:00
qctecmdr
ad8b0e3fc3 Merge "msm: kgsl: Finish up probe cleanups" 2020-03-18 19:19:21 -07:00
Himateja Reddy
9cd09505df msm: adsprpc: increase max number of concurrent remote sessions
Increase the maximum number of concurrent sessions on one remote
subsystem from 9 to 13, to support the 4 new compute context banks
added in the device-tree.

Change-Id: Id2e8f92a147c3ec37a3622939bb2f23a6605a38a
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
2020-03-18 15:50:03 -07:00
Lingutla Chandrasekhar
50a9295169 sched: Add support to spread tasks
If sysctl_sched_prefer_spread is enabled, then tasks would be freely
migrated to idle cpus within same cluster to reduce runnables.

By default, the feature is disabled.
User can trigger feature with:
   echo 1 > /proc/sys/kernel/sched_prefer_spread
	Aggressively spread tasks with in little cluster.
   echo 2 > /proc/sys/kernel/sched_prefer_spread
	Aggressively spread tasks with in little cluster as well as
	big cluster, but not between big and little.

Change-Id: I0a4d87bd17de3525548765472e6f388a9970f13c
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
[satyap@codeaurora.org: fix trivial merge conflicts]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2020-03-18 12:41:02 -07:00
Tatenda Chipeperekwa
c6845e33d0 kernel_headers: Add msm_hdmi_hdcp_mgr.h header
Add msm_hdmi_hdcp_mgr.h header that is exported from the display
techpack for use in the display userspace modules.

Change-Id: Ib17dee3daf3f7998ea76d18cdc55e724266a0021
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2020-03-18 10:36:11 -07:00
Isaac J. Manjarres
0964a68146 iommu/arm-smmu: Add implementation specific device group matching
Certain SMMU implementations depend on implementation specific
settings to ensure that translations for a group of SMMU masters
work properly, so add a function to determine if a master belongs
in a particular IOMMU group based on implementation defined
settings.

Also, wire up the QSMMUV500 implementation of this hook, leaving
the arm_smmu_arch_ops structure completely unused. Since it has
been superseded by the implementation framework, remove the
remaining support for it.

Change-Id: I53b1b014be187757c6e48e57f23cc9732103f890
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-18 10:28:54 -07:00
Isaac J. Manjarres
84af7c6716 iommu/arm-smmu: Add support for implementation specific removal
Certain SMMU implementations may need to follow certain
procedures prior to having their devices removed, so
add support for implementation specific removals.

Also, migrate the QSMMUV500 device removal function to utilize
the newly added implementation specific removal hook. This makes
it so that there are no users of the device_remove() hook in the
arm_smmu_arch_ops structure, so remove it.

Change-Id: I6143fee5744ebec2090e74337f6fce99e23c5cf0
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-18 10:28:54 -07:00
Isaac J. Manjarres
f715a4c183 iommu/arm-smmu: Add support for implementation specific debugging
Certain SMMU implementation, such as the QSMMUV500 model, have
hardware that can be used to collect information that is useful
for debugging adversarial scenarios, such as TLB sync timeouts.

Add support for collecting information for debugging TLB sync
timeouts, as well as triggering the SMMU HW to perform a
translation for verification purpose, and wire up the QSMMUV500
implementations of these hooks. In doing so, there are no
users of the iova_to_phys_hard() and tlb_sync_timeout() hooks
in the arm_smmu_arch_ops structure, so remove these fields.

Change-Id: I61df57e82f3058a7e8a09f4df1fe147a71ae2fc3
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-18 10:28:53 -07:00
Isaac J. Manjarres
1189ad27e6 iommu/arm-smmu: Add implementation specific CB initialization hook
Some SMMU implementations, such as the QSMMUV500 model, may
need to program a specific context bank, in addition to the
initial context bank programming. Thus, add support for
implementation specific context bank initialization, and
migrate the QSMMUV500 context bank initialization to use
the new hook.

Consequently, as there are no current users of the
arm_smmu_arch_init_context_bank() hook, remove it.

Change-Id: Ia89420cc8b669a142b37bf4250c09b6aa3646172
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-18 10:28:53 -07:00
Isaac J. Manjarres
5b66300440 iommu/arm-smmu: Rework QSMMUV500 initialization
Rework the QSMMUV500 initialization sequence, such that the
QSMMUV500 implementation initialization uses the existing
SMMU implementation architecture.

This means ensuring that all of the implementation specific
data structures are allocated as part of the initialization,
as well as ensuring that all of the TBUs have probed. Also,
move the logic for hardware version detection to the QSMMUV500
configuration probe function.

Consequently, there are now no users of the arm_smmu_arch_init()
and arm_smmu_arch_device_reset() hooks, so remove them.

Change-Id: I8ca82ef8ea821b9e2171f7dca707f4da6ce2c0d7
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-18 10:28:52 -07:00
Isaac J. Manjarres
3729473791 iommu/arm-smmu: Prepare to migrate QSMMUV500 implementation details
All of the implementation details related to the QSMMUV500 model
of the SMMU-V2 architecture currently reside in arm-smmu.c.
This clashes with the current ARM SMMU SW architecture, as
arm-smmu.c is meant to house architecture specific details,
and arm-smmu-[$VENDOR].c is meant to house vendor specific
implementation details about those architectures.

To prepare to move to comply with this architecture, migrate
the QSMMUV500 related logic to arm-smmu-qcom.c, as well as
export any shared data structures. This patch should not
introduce any functional changes.

Change-Id: I711e41e38cd35b6727faf5a399eefcf5db453612
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-03-18 10:28:39 -07:00
Satya Durga Srinivasu Prabhala
a306621afe soc: qcom: hyp_core_ctl: Add frequency QoS support
While isolating/un-isolating CPUs to cater the needs of other
virtual machines in the system, clients would want to run CPUs
at some reasonable frequency to balance perf/power needs.
This patch adds frequency QoS support to enable clients to run
the CPUs at desired frequecy.

Change-Id: I3c577815ddc246df2ff1d87218db18c2bfb05819
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2020-03-18 08:36:47 -07:00
Anirudh Raghavendra
ece1046cb9 msm: ADSPRPC: Awake PM with a timeout
Awake PM with a timeout in kernel soon after response from DSP to
keep the system awake and allow the ioctl call reach user space from
kernel space.

Change-Id: If518e17ec300565af2d16feca0524e741790ba7f
Acked-by: Himateja Reddy <hmreddy@qualcomm.com>
Signed-off-by: Anirudh Raghavendra <araghave@codeaurora.org>
Signed-off-by: Edgar Flores <edgarf@codeaurora.org>
2020-03-17 23:26:37 -07:00
qctecmdr
816c0efa14 Merge "defconfig: lahaina: Enable GPU driver" 2020-03-17 19:37:11 -07:00
qctecmdr
cf314fc5c9 Merge "msm: cvp: Disable CVP_DBG traces by default" 2020-03-17 19:37:10 -07:00
qctecmdr
22de23501b Merge "wil6210: Add support for 11ad platform driver" 2020-03-17 19:37:10 -07:00
qctecmdr
5c91c43dcd Merge "net: qrtr: mhi: Set mhi driver data before registering with qrtr" 2020-03-17 19:37:10 -07:00
qctecmdr
9829d2c4b3 Merge "defconfig: Disable fastrpc driver from kernel image" 2020-03-17 19:37:09 -07:00
Chris Lew
b07b4f073e haven: doorbell: Fix hh_dbl_send error print
Add the missing __func__ argument to the failed hypercall error print
in hh_dbl_send().

Change-Id: If40a13db695822fb363ea870389e42ba8dbb9015
Signed-off-by: Chris Lew <clew@codeaurora.org>
2020-03-17 19:10:55 -07:00
Chris Lew
c4684eeb0a haven: doorbell: Pass cap_table_entry as irq private
The threaded interrupt handler needs access to the cap_table_entry
structure and the clients passed in private data. All this information
is store in the cap_table_entry struct. Pass this in as irq private
data instead of the clients private pointer.

Change-Id: If2455704236f3531724d5c007210559391e5cfd8
Signed-off-by: Chris Lew <clew@codeaurora.org>
2020-03-17 19:10:55 -07:00
Chris Lew
5ca93f6149 haven: doorbell: Add IRQF_ONESHOT flag
Use the IRQF_ONESHOT flag while requesting the threaded interrupt.
This flag keeps the virtual interrupt line masked until the threaded
handler has executed.

Change-Id: I041823f8b30e4326d3b28635c80918e4b501432a
Signed-off-by: Chris Lew <clew@codeaurora.org>
2020-03-17 19:10:55 -07:00