Cancelling histtimer after enabling local irqs can cause
low sleep length to get calculated during next low power mode
entry.
Enable local irqs after cancelling histtimer.
Use hrtimer_get_remaining before cancelling timer.
Change-Id: I735770f779c5760acc6b62cb65811b21244d0e99
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
This links the busmon devfreq device to kgsl device
which is de-referenced in kgsl_busmon_target() in
order to propagate bus votes.
Change-Id: I1ac3f81e546e3fd6be6051a202e0d49db07978ee
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
With eCP, we will have a different dispatcher and hence a different
function to queue the commands to the eCP dispatcher. Instead of
adding the eCP check in kgsl.c, do it in adreno_queue_cmds. On the
same lines, we will do eCP check in adreno_drawctxt_sched() to queue
the context to the respective dispatcher. Also, move
adreno_drawctxt_sched() from adreno_drawctct.c to adreno.c so that we
have one less function to export.
Change-Id: Ibd6325131ed38b9527cdda084ca37d6c6ceee3bd
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Avoid trip evaluation for disabled thermal zone, as the temperature
reading will be invalid and using the same to evaluate the trips will
lead to undefined behavior.
Change-Id: I5ea744d36875a425b0c3ed07c3ab45c94f9b59ca
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Add Haven message queue driver provides an interface to the client
drivers running on the virtual machines to communicate with the clients
running on other virtual machines. The services offered by the driver is
simply to send and receive messages.
Change-Id: I1685109f579eaf7fa039225dd60a42adae7de00a
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add Haven hypercall interface conforming to its arm64 ABI.
Change-Id: I959e6a24c0b3dca5182b70b95d6bee3a51e9f6c4
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Add common Haven hypercall interface implementing all of the doorbell
APIs and required message queue APIs for an initial message queue
driver.
Change-Id: I2f4cbe99b76d115a42e86d1a43f361e4793a9723
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Currently adreno_snapshot() tries to dump remaining IB1 size
if the active IB1 base address is not present in ringbuffer
which is not enough to debug GPU hang.
So, try to calculate the maximum possible size that it can
dump from IB1 base address and add it to snapshot dump.
Change-Id: I029fb8cddab7999001a2934ce49cb5ff884c21bf
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
nvmem_cell_read can return ERR_PTR in case of failure. Current code is not
handling the error case. This would result in using default clock plan as
speed_bin value is zero. This can be fatal in case fuse was blown to a
lower frequency then the default clock plan. Handle this error to avoid
this issue.
Change-Id: Ic128265fdd1adefbbc0d7f733ef3e9b2f6fcb31a
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Add QPNP AMOLED regulator driver to configure triple power supply
(OLED, AB & IBB) that is used in AMOLED panels.
This is a snapshot of the driver taken from msm-4.19 as of
'commit <18fb0f227fcdcd3i92a380533b454fdc629625327> ("Merge power:
supply: qcom: Initial version driver for SMB1398 charger")'.
Change-Id: Iefa5d27f781af36d42e0a14ac77b2537a19ea596
Signed-off-by: Shyam Kumar Thella <sthella@codeaurora.org>
Add support for DIAG and DCI MHI clients moving to userspace.
Change-Id: I2ee30fedfb50644f7bcc7eac41d08e37ca71805a
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Add debug node to control power collapse on/off and timeout value.
Remove unused traces that caused linker error due to this change.
Change-Id: I7860cda4e2febee85a54884f9e26ae7a512afbb2
Signed-off-by: George Shen <sqiao@codeaurora.org>
In root complex mode, PCIe needs to enable BDF to SID
translation so that device generates the correct SID.
Therefore, always enable BDF to SID translation when setting
up other BDF to SID configuration.
Change-Id: Ied960384e14cb4069bba46bb7b750d8d34949cec
Signed-off-by: Tony Truong <truong@codeaurora.org>
Detect if the process is privileged by comparing its group ID with
an internal list obtained from the device-tree. Update the process
attributes sent to the remote subsystem accordingly.
Change-Id: I8d7b6824762b934ca6bd9a5d2420dc0dd49b7e6d
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Edgar Flores <edgarf@codeaurora.org>
Correct number of arguments are not passed to the dev_dbg
call here. This is leading to access of garbage value.
Fix this by removing the extra format specifier in the
string.
Change-Id: Id64a00c1ca44c5ee2014fd806c234f702a7941f6
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
Improve readability of logs by converting hex values to decimal,
and printing memstall deltas instead of absolute values.
Change-Id: I43f21dd9817b540184ce05fd7151459d3502ea28
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Print the threshold registered for a trigger in decimal, which is
more readable.
Change-Id: Ia10bd233845446be62a4ea9d2232ff1ba638c50e
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Use proper accessor for high watermark access.
Change-Id: I381bc58455c55c33ebaf2e87dc5ad79131f2f5b5
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Separate header buffer and non-ion copy buffers allocation
to avoid virtual address over allocation and
some improvement in latency with non-ion buffers.
Change-Id: I9f5e3bbb974dc7b1db92e386b980fd2d8b4f08aa
Acked-by: Deepika Singh <dsi@qti.qualcomm.com>
Signed-off-by: Merugu Tharun Kumar <mtharu@codeaurora.org>
When a new cgroup is created, the effective uclamp value wasn't updated
with a call to cpu_util_update_eff() that looks at the hierarchy and
update to the most restrictive values.
Fix it by ensuring to call cpu_util_update_eff() when a new cgroup
becomes online.
Without this change, the newly created cgroup uses the default
root_task_group uclamp values, which is 1024 for both uclamp_{min, max},
which will cause the rq to to be clamped to max, hence cause the
system to run at max frequency.
The problem was observed on Ubuntu server and was reproduced on Debian
and Buildroot rootfs.
By default, Ubuntu and Debian create a cpu controller cgroup hierarchy
and add all tasks to it - which creates enough noise to keep the rq
uclamp value at max most of the time. Imitating this behavior makes the
problem visible in Buildroot too which otherwise looks fine since it's a
minimal userspace.
Change-Id: Id2500fe901759d7251eff241ec09ecdee812f6ef
Reported-by: Doug Smythies <dsmythies@telus.net>
Tested-by: Doug Smythies <dsmythies@telus.net>
Fixes: 0b60ba2dd3 ("sched/uclamp: Propagate parent clamps")
Link: https://lore.kernel.org/lkml/000701d5b965$361b6c60$a2524520$@net/
Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Git-commit: 7226017ad37a888915628e59a84a2d1e57b40707
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>