adreno_last_fence is no longer very useful since we have a handy
per-ring pointer directly to the values we need.
Change-Id: Ic0dedbadfb195551afcd016651776965da32fb2d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
When we first did preemption the priority was set at submission
time. In order to be properly backwards compatible we made ring id 0
the lowest priority ring so that when a legacy app made a submission
it didn't get itself onto the highest priority ring by accident.
Now that we set the priority with submitqueues this is no longer
a concern and ordering priorities this way goes against long
standing convention in similar GPU drivers.
Declare a flag day and invert the priority algorithm so that
priority '0' is the highest priority and it descends from there.
The lowest prority ring is 'number of rings - 1' where the number
of active rings can be acquired through a parameter query of
MSM_PARAM_NR_RINGS.
This change also ensures that the legacy submitqueue id '0' will
use the next-to-lowest ring buffer by default for legacy
submissions.
Change-Id: Ic0dedbadeea522e4f07babc4395cbf5fb7143fe3
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
In order to manage ringbuffer priority to its fullest userspace
should know how many ringbuffers it has to work with. Add a
parameter to return the number of active rings.
Change-Id: Ic0dedbada6010dd5122e8409141fd23b414d73e4
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Remove the queued time from the profile struct and turn the submit time
into a proper timespec (tv_sec + tv_nsec). This should sync up better
with what userspace is used to seeing.
Change-Id: Ic0dedbad0621fa248e6cffde2d1ee3f9b609e19d
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Record the GPU always on timer value at the start and end of a
submission on the ringbuffer. Since the timer runs at a constant
19.2 Mhz this is a handy way of tracking how long each
submission takes.
The timer values are recorded in the memptrs. Each ringbuffer is
given a circular list of 128 entries to store the event ticks;
this should be enough to avoid running out of room even when the
ring is completely full of submissions.
Add trace events for the user to track when submissions are
queued, submitted to the ringbuffer and retired. The submitted
trace point shows the GPU ticks and the current kernel time at
submit time (as read by the CPU) and the retired trace event shows
the GPU ticks at submission start/end as read by the GPU. Taken
together these two events can provide a pretty close match between
the current GPU time and the kernel time which is handy for tracing
tools that try to match up the various kernel events with one
another.
Change-Id: Ic0dedbadbcf89f032890820785b9fb49a6362b01
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Excessive logging due to several successive memory allocation failure
may cause a watchdog bite. Hence, this change adds ratelimit to logging
on memory allocation failure.
Change-Id: I8e5d78918a32c48ef7fa587f3dc63cbd1f065d5f
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
Defines the non-removable property for UFS device node.
This basically lets the driver know that UFS is the
boot device.
Change-Id: I1c8aa298af4afc7e42d0c8a3690f7d3360e37647
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
rx fifo is allocated in cached region of smem, this leads to
inconsistency when reading at remote side.
rx fifo is allocated in non cached region of smem.
CRs-Fixed: 2056955
Change-Id: I0c7d5bf55222920cffdcd2c7f48968a4f49ee790
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Use reserved memory as shared memory between apps and modem for
writing modem data using rmt_storage service on apps.
Change-Id: I0e5bc8b1e3dbe2f8d49686894667b4a6ee1a3529
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Adding remote debugger device configuration. The Remote Debugger driver
allows a debugger running on a host PC to communicate with a remote
stub running on peripheral subsystems.
Change-Id: I14b3ef92e96819d119af335691e8902eb3b0178c
Acked-by: Chenna Kesava Raju <chennak@qti.qualcomm.com>
Signed-off-by: tharun kumar <mtharu@codeaurora.org>
With Minidump support enabled, user may need to request
to dump both fulldump as well as minidump for debug purpose.
Add support on dload_mode sysfs entry to select both dumps.
Enable both dumps with command:
echo both > /sys/kernel/dload/dload_mode
Change-Id: I2f7c4c6e26dc236c75ab89490990c87b7139880b
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
pagetypeinfo_showmixedcount_print is found to take a lot of time to
complete and it does this holding the zone lock and disabling interrupts.
In some cases it is found to take more than a second (On a 2.4GHz,8Gb
RAM,arm64 cpu). Avoid taking the zone lock similar to what is done by
read_page_owner, which means possibility of inaccurate results.
Change-Id: I11ec4a3a445d602e47fcc18a3e40480b74ad98af
Link: http://lkml.kernel.org/r/1498045643-12257-1-git-send-email-vinmenon@codeaurora.org
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: zhongjiang <zhongjiang@huawei.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: David Rientjes <rientjes@google.com>
Cc: Minchan Kim <minchan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Git-commit: a94b5fd913ac55a32fe05dfba21eb6af0e539781
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
[vinmenon@codeaurora.org: fix trivial merge conflicts]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
When an attempt is made to free an event on a CPU which is
no longer online, perf tries to bring the CPU online. This
can fail, resulting in an UP_CANCELLED notifier, which
eventually tries to acquire the ctx->mutex which is already
being held by the code, which brings up the CPU.
Removing the attempt to bring the cpu up will remove this
deadlock, but also requires temporarily removing support of
counting events across hotplug. This will be restored in a
later patch.
Conflicts:
kernel/events/core.c
kernel/events/hw_breakpoint.c
Change-Id: Iaafa3c6688d26508857472fd5bb32139a137880e
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
On Mojave lite, adv7481 hardware is not available hence
disable adv7481 and bridge abstraction driver.
CRs-Fixed: 1097877
Change-Id: I1969fc45e50f5ddff25fd70780458d23a9abeed8
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
The adaptive clock distribution (ACD) mitigates the impact of
high-frequency supply voltage (VDD) droops on microprocessor
performance.
Program ACD functional configuration for silver cluster of sdm660.
Also add the voltage margin savings with ACD to the existing
APC0 CPR closed-loop voltage margins.
Also set CPR_RAMP_EN and VCTL_RAMP_EN bits to 1 in AVS control
register of silver cluster.
Change-Id: Iaff7769cd1e71bbeb773658d0649092bff6e8916
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
HDR metadata information is passed down from userspace
based on the HDR frame.
Program these properties to relevant HDMI registers
using the pre_kickoff callback registered for the
DRM HDMI connector.
This ensures that HDR information is updated on a
per-frame basis to the sink.
Change-Id: I20c4018316329b1b35a11b8ab4b96e923b3abb3a
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Add a callback into the connector framework to allow sending
per-frame parameters at kickoff time.
This is needed to support the HDR feature where the HDR
metadata shall be sent to the sink on a per-frame basis.
Change-Id: I48a3616509e2226ea9bf0f490f0f47873ca74781
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>