With hardware scheduling, we only need to enable a subset
of interrupts as the rest of them are completely owned by
GMU.
Change-Id: I32afc4420299688b9a4322804ce972c79f1a7a22
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
We need a dispatcher which can keep track of inflight submissions
so that in case of a fault, the remaining submissions can be re-
submitted after reset. Also, we need a dispatcher to hold queued
submissions until the input fences are signaled.
Change-Id: I59f5cf0fed6d443cf8a55fd0f40e3f16600d9a6f
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This is a special sequence because we don't want to wait for
the ack back while holding the device mutex. This means, we
have to define a new sequence of unlocking the device mutex
before we begin our wait for ack.
Change-Id: I3ea27bdccd66cdaafd8cff6cc1366848c1a4bea6
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
It is possible that there may be multiple host to firmware
messages waiting to be ACKed. So add support for putting them
in a list and traversing the list when an ack is received.
The primary use case for this feature is the context unregister
hfi of which there can be many, and they may get ACKed out of order.
Change-Id: I56087dab0814daf7e8ba720db0105e4762614b5e
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Add support for registering a context and sending
submissions to a single dispatch queue.
Change-Id: Ica16d8f54d5fa9bd0e416976224f24f7fca0884b
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This adds the initial bits of handling acks asynchronously.
It is assumed that there is only one outstanding ack since we
wait for ack while holding the device mutex.
GMU handles acks inline until start_msg hfi and beyond that,
each hfi will be acked asynchronously.
Change-Id: I15e930d22f1154db377599a0c0409640821fb868
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This change adds support to send CP INIT and switch to
unsecure mode packets via raw packets to GMU.
Change-Id: I2915b217c9c6c7d6dc624b4349d137df9a7a2c80
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
Allocate gpu globals based on memalloc hfi requests. Map
them in gmu as well.
Change-Id: I43ecfedf5be92e39fd079a00f8311fe6aca7191b
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This adds the skeleton for the hwsched driver to be
used for dispatching submissions using hwscheduling.
Change-Id: I963fe6b16deb58edab78ab0e9c66fae0d9294b9a
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
When VIN/2 – VOUT < the threshold with debounce time,
WIN_UV protection kicks in. Update this threshold to
10mV.
Change-Id: I015528b9fb1e4db86c4e1af186aa0f6a912967f2
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
Update the master and slave ID constants for Holi interconnect
providers which consumers can use to set bandwidth constraints
and find paths in the NoC (Network-On-Chip) topology.
Change-Id: Ibba6b5ca47a56c041f1314eb516e62d3b9291573
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Add support for multiple clients in qoslat by maintaining a
list of devices and aggregating across them during updates.
Change-Id: I3e9970b324938eecdd85f3970ba3acc2c5880fdf
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
Currently, since remote process kill is a kernel RPC call, a zero
pid is sent in its message. Send the actual HLOS pid for the
process kill message so that the remote subsystem can identify
which process to kill without needing to map the arguments.
Change-Id: I14c13194baa231a892ed9e8ee269a8cdb1710211
Acked-by: Thyagarajan Venkatanarayanan <venkatan@qti.qualcomm.com>
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
Attempt to enable split pagetables on the global and LPAC domains.
If successful we no longer need to map globals in all pagetables and we
don't need to manually return to the default pagetable when coming out
of slumber since all the globals will now live in the always on TTBR1
region.
Change-Id: Ic0dedbaddd7d05299d7e85d7b0bbc96b46dad10e
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
The user maps the memstore using the GPU address of the shadow memory.
Unfortunately, mmap() only uses a unsigned long which means that 32 bit
applications can handle when TTBR1 is enabled and the memstore is in
very high memory.
Instead of passing the real GPU address pass a dummy 32 bit value and use
that to identify the memstore instead.
Change-Id: Ic0dedbaddd6efda305953b20cfaa4a597020bff9
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
This patch adds the logic to get the RIMPS address with passing
domain name and stores the rimps address to lpm_cpu structure so
that it can access from the last core of corresponding cluster
domain going to rail-pc to program the RIMPS timer value.
Change-Id: I90418d280440e3f26615583454116c01cec04126
Signed-off-by: Raghavendra Kakarla <rkakarla@codeaurora.org>
Introduce support to initialize QoS settings for BIMC
masters.
Change-Id: Ia225afedb08cb3b09094bc8f4ebd6d12ad9c6a33
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
syscon_regmap_lookup_by_phandle prepares the 0th clk handle provided in
the device node. The debug clock controller prepares/enables/disables the
required clock, thus it is safe to detach the clock to remove the
undesired clock prepare votes.
Change-Id: Ibacac8161ba8244c170a87f172c3ad9029625ed7
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Enable CONFIG_QCOM_QFPROM_SYSFS on Lahaina/Shima, so that feature
config nodes etc. can be accessed from userspace and at the same
time disabled CONFIG_NVMEM_SYSFS to avoid exposing full QFPROM region
to user-space.
Change-Id: I43dd4f6f368d07d0a5047c3732065efe4200b3b3
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>