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>
Add SOC ID to support socinfo for Shima SOC.
Change-Id: I2f3c8476d02ab55e55d14c64e359a1a2a5deeafd
Signed-off-by: Chandra Sai Chidipudi <cchidipu@codeaurora.org>
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>
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>
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>
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>
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>
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>
When there is only 2 tasks in 1 cpu and the other
task is currently running, allow load bigger task
to be balanced if the other task is currently
running.
Change-Id: I489e9624ba010f9293272a67585e8209a786b787
Signed-off-by: Maria Yu <aiquny@codeaurora.org>
Signed-off-by: Cong Zhang <congzhan@codeaurora.org>
Currently NR_KERNEL_MISC_RECLAIMABLE is being updated with units of bytes.
Fix to correctly update NR_KERNEL_MISC_RECLAIMABLE using page units.
Change-Id: Ie6c620a2a2218be1b30e9f1539c9d0d92870a726
Signed-off-by: Liam Mark <lmark@codeaurora.org>
This change is for general scheduler improvements.
Change-Id: I780f52ebc3cb69ee2c497d2d2f8e8fddd789421d
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
We are kicking no-hz idle balance when the CPU has two tasks.
It should be done only when the CPU is overutilized on
energy aware systems. This approach seems to be causing more
number of wakeups on HZ=250 systems compared to HZ=100.
Revisit the no-hz idle scheme and only send the IPI if and
when it is necessary.
Change-Id: I82e58a2aa3b6508c86d05c93c9fb7fe6dfbde500
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: fix trivial merge conflicts]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Drivers may request a QoS latency on a CPU using the dev_pm_qos
framework. Check for DEV_PM_QOS_RESUME_LATENCY as well while selecting
the idle state for a CPU and for all the CPUs in a cluster to select the
best idle state for the cluster.
Change-Id: Ic4e18f05ef8a09a8f668b89b9973f8e8499d7e02
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Add one vendor specific sysfs group to support additional sysfs nodes,
such as err_state and power_mode.
Change-Id: Ia69909fc3838a054221191259a015067dd962008
Signed-off-by: Can Guo <cang@codeaurora.org>
Since most of the CPUs aren't prone to meltdown,
force off the kpti feature. Enable on required
targets.
Change-Id: If78c70bcaeac2b157a901e5036190aaf9e5aabf6
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
To reduce computation overhead in searching and matching un-used
or used CVP iommu mappings.
Change-Id: I57f2849c1fcd81d534bb55f24b51b66d3b321cb4
Signed-off-by: George Shen <sqiao@codeaurora.org>
Enable the GPU driver and the dependent QFPROM driver.
Change-Id: Ic0dedbadf13a34d778bec51151d1c9f00e29a258
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
KGSL must enable the apb clock before accessing QDSS register space.
Change-Id: I4fb20741c54ef665bf2652c13c4c87fd9b0b3329
Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <mmandaya@codeaurora.org>