Use unshifted value to set the clock req override value
and enable fields as the register write function already
shifts the values to the correct position.
Change-Id: I0b5dea0f6f8462363471910ffe93f8f8975e7929
Signed-off-by: Siva Kumar Akkireddi <sivaa@codeaurora.org>
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Correct the offsets of L1SUB_CAPABILITY_REG and L1SUB_CONTROL1_REG.
Change-Id: I6130a7eab50d85e34d87c28bde3a48c058ee9eee
Signed-off-by: Can Guo <cang@codeaurora.org>
Allow device enter L1, i.e. clear PCIE_0_PCIE_PARF_PM_CTRL[REQ_NOT_ENTR_L1]
once we find out BME is set.
Change-Id: I8aca816446a286d02ef51724d157cb7c75057250
Signed-off-by: Can Guo <cang@codeaurora.org>
This change is for general scheduler improvement.
Change-Id: Id758a4a0a836fe30b9f63b8f00c017247cf3b84c
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
Recent hypervisor images no longer support gh_rm_mem_qcom_lookup_sgl().
Remove this to cleanup associated error messages in the log.
Change-Id: I01cd80cb5dc199f778a7ad44fa2a3cfa5f56a31f
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
There are usecases where GPU is not busy but GPU consumes high ddr
bandwidth. In such case, bus DCVS will not kick in, potentially causing
an under voting scenario. Enable bus voting on minimal power level, even
if GPU busy is less than 75%.
Change-Id: I02db2e4b68ce9d48c2f755112f0dcf9912936b56
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <mmandaya@codeaurora.org>
There is no point of panic and collect ramdump if there is
no power vote for the subsystem, it is as good subsystem is
down and memory is cleaned.
Change-Id: Ia5f55e756409a26830c70b80828dab0ef673f1bb
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
With the current logic, MHI driver will hold channel
lock while processing the ring element and triggers
callback for the clients. Some clients are issuing
read requests for the channel in the callback context.
MHI driver will try to acquire the same channel lock
in read api leading to a deadlock situation.
Modify the logic to avoid holding channel lock
while processing the ring elements.
Change-Id: I62ac28d5eb06e3c9b12437f02288cfe1cdb2bea2
Signed-off-by: Nitesh Gupta <nitegupt@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Added a check for accessing in_use_list only in async case.
Change-Id: I842f9b9feb688d75152f7b2639c17c25c3376236
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
RBBM_GPC interrupt is handled by GMU for hwsched enabled targets.
Hence remove this from the a6xx hwsched interrupt mask.
Change-Id: I7cc409514a59e528fa8310640197c1743a9d201d
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
The change is to use req_lock spinlock during client release
and to use the same spinlock while checking for is_stale
during read/write completion callbacks.
Change-Id: I7ebafecb7503fa8521fa8f849cabf4b82bbc2f53
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Multiple clients might perform open and close file operations
simultaneously on the same file node created by UCI. To avoid
race conditions which might result in invalid accesses or crashes,
the open and close operations are serialized.
Change-Id: Ic6a290a2c6af25bcd60983a7b531bf1287201821
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
If a channel gets stopped, while there are some outstanding requests/
transfers with IPA, then we simply ignore the completion from IPA.
But we must have already added the transfer-completion-event to the
flush list before submitting the transfer to IPA.
There is a possibility that we flush these stale events along with new
flush events (for new requests) when the channel gets re-started.
This un-intentional completion event can lead to out-of-sequence
events at the host.
So while stopping a channel, ensure all elements in the flush list
of that channel are discarded and the flush list is empty.
Change-Id: I04445b1f9f4d2d4fce0b8a96277517de14481ead
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Currently there is a race condition where during the flushing of ereqs
the channel is closed from the client on the EP side, which is causing
the flush function to access null memory. To avoid that call the flush
from dev close which ensures all the pending ereqs are closed before
closing the channel and freeing the memory.
Change-Id: Id81d8cb8b326340d28f6cfe9d48dcd685a8038f9
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
The change is to check for error code from cmd processing in case
of db pending cases, to avoid rd_offset increment.
Change-Id: If213297fe02ec1087bfab572f5af97b1e7bb5791
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Configure the ufs clocks core and peripheral memory state when
turned off. This configuration is required to allow retaining
ICE crypto configuration (including keys) when ice_core_clk is
turned off, and powering down non-ICE RAMs of host controller.
Change-Id: I93584851fd50c7006ccd48979087d707ab4c6408
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
[vbadigan@codeaurora.org: updated clk_set_flag API with new API]
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>