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>
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>
The original design was to not send anything from qrtr-mhi until
a packet was received from the remote side. This would leave
enough time for the probe function to set up the driver_date.
With the new requirement to queue a hello packet (for Linux to
Linux communication), we may see the hello packet being scheduled
and sent before we can return and set the drvdata.
The changes to address the above requirement brings in a
possibility that driver_data in mhi layer is NULL sometimes.
Check device pointer for NULL in ul callback and return if
it is NULL.
Move the setting of driver data before registering it as an
endpoint with the qrtr framework.
Change-Id: Ida94d95485d2432f38e6cb0c82fa21af7bc73af3
Signed-off-by: Jay Jayanna <jayanna@codeaurora.org>
Do the last bits needed to make the probes defer capable. Fix a few more
device_node reference counts and fix up the probe failure unwind paths.
Change-Id: Ic0dedbadd6f4c9b46a02e9b6ea0b145c81b50520
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
of_dma_configure() will return -EPROBE_DEFER if the IOMMU driver isn't
set up yet. Propagate that error all the way back to probe.
Change-Id: Ic0dedbad3bdda6516386f6eeff485065f83aee9b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
The code to probe the sometimes used HW revision only needs to live in
adreno.c and we don't need to store a persistent member in adreno_device.
Localize all the code and pass the HW revision into the functions that
need it.
Change-Id: Ic0dedbaddafe258f6b6510f68867cff636963315
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Context aware (CA) scaling is excluisvely a pwrscale concept so move all
the probing there. This is mostly just a cut-and-paste except that the
speed_bin needs to move from Adreno to the kgsl_device so it can be
accessed from the pwrscale code.
Change-Id: Ic0dedbad54983ecf8b59b9a62991be6b4f26b242
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Throughout the history of the driver the GPU platform device and the
KGSL pseudo device have been used somewhat interchangeably which is
bad. The platform device should be used whenever dealing with hardware
or kernel resources so that we can get proper cleanup during probe.
While it is still okay to use the pseudo device for log messages,
using the platform device for log messages having to do with
resources is better since you can make a more direct correlation
between the log message and the device tree entry.
Change-Id: Ic0dedbad1fe2fd4d75ff738fc3942c7b20125683
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>