Needs extra change to enable EVA SMMU fault. This change clears
all the obstacles to achieve the goal.
Change-Id: Ia93ff2132ff53741f3c20d4271083f6f93824cac
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Avoid using invalid session id in case of DSP session failed.
Increase the number of per IOCTL session properties setting
from 8 to 64.
Change-Id: Ia9979001fe6e0ed247067d7b12314c327897fead
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
inst node gets deleted in delete_dsp_session call but
again after this call we try to access inst to delete the
dsp session list. This will lead to use after free issue.
Change-Id: Ic4e1736b06f8e49895f70428124b245e1d2ce782
Signed-off-by: Aniruddh Sharma <anirshar@qti.qualcomm.com>
To support multi-PDs per user process. Fastrpc handle is
no longer PID. Add change to support the FR.
Change-Id: I39d7043f048597f1e4e728c48d588f12bb740b56
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Use CVP_PWR instead of CVP_PROF.
Add AON timer reading.
Avoid SSR if core init failed.
Change-Id: I1dd40edc893009a2f2794e3431bb08398ec6352b
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Fence queue could be used during SSR, which may happen right after
session is created. Relocate fence queue init to the point before
session creation becomes visible to SSR handling.
Change-Id: Ie21537383b44bbdf40d87af434df0e55a677a85d
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Validate session pointer passed in by DSP driver and save the
most recently un-mapped DSP buffers for SMMU fault debugging.
Change-Id: I1beebcce190874e3129fc1bd3806ffee61eb6d4d
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Validate s->next is not NULL before dereferencing
Change-Id: I8112eb20aab939b917243e283583ab9d0884e3e8
Signed-off-by: Jingyu Su <quic_jingyus@quicinc.com>
Simplify code base for future generations of driver.
Change-Id: I9ed940184da3b2224c74092ac31163de29c84f64
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Ensure smmu fault dump before calling BUG_ON. Rely on WD timeout
for FW hang debugging.
Change-Id: I0d7fba31dbc602b244af74da6774885c56af0fcc
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Match MPTest sequence to facilitate presilicon bringup.
Change-Id: Iafd4443eb0f9d6045e61eb2dd33b6663dc3f1334
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Keep wncc working in case of kernel heap leakage. wncc buffer
requires 128kb. Driver will pre-allocate and store 8 buffers
in the pool if wncc use case starts.
Save all recently de-register wncc buffer mappings through
deregister_buffer API.
Change-Id: Iaa422bed9d3dd6f6cfe349a4931bfde28a3e3a51
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Avoid EVA in middle of processing frames when CDSP SSR caused
force session deletion.
Change-Id: I245f13086173c832a098b5f5aad5b38f38bd28b3
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Recovery mechanism is added to invoke SSR when WD ISR is triggered.
Change-Id: I6f7a289f822c6f1a50494cd6a4855a2c3ba2cc72
Signed-off-by: Palak Joshi <quic_palakash@quicinc.com>
Acquire xo_reset before accessing CVP NoC. There is a chance the NoC clock,
XO clock is disabled during XO reset. Acquiring xo_reset will block the
XO clock reset.
Change-Id: I51ab201beafbd1a4b998ee33a9d23c1efa3e2a14
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
As we are merging upstream patches, resolve conflicts of namespaces in
downstream gunyah modules.
Change-Id: I6bc4719132e30e984974077c9923d3753faf539a
Signed-off-by: Prakruthi Deepak Heragu <quic_pheragu@quicinc.com>
Avoid mis-use of old flag that could lead to failure in
powering collapse EVA when a session becomes idle for 3s.
Change-Id: I954bc0972b1f627b274b78659c34626127619af5
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Removed release and disable subcache in case of core init fails,
as subcache deinit is done as part of load FW failure error handling
and also as part of unload FW.
Change-Id: Ic1a6bf75eacaa8a4ccb95a7155e720932a372a58
Signed-off-by: Palak Joshi <quic_palakash@quicinc.com>
Add cmd logging functionality as an
alternative to pkt logging. This has
advantages related to log dropping
and log mangling.
Change-Id: I0ff6801445821e1224f83fa7e2eb8bf8a849962b
In case of the fence command setup thread being pre-empted,
the fence command can be processed by HW even before the setup
thread returns. In that case, the setup thread may be using
wrong fence number, causing it resends the HFI packet that has
been processed. The consequence could be SMMU fault.
Change-Id: I8be9808e993a27a1c7664e68a5382d145a8bc3cc
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Switch to upstream friendly qcom_scm_assign_mem from hyp_assign_phys.
Change-Id: I2b6f1af346166794c87a205cffddbcdfb112e16a
Signed-off-by: Jingyu Su <quic_jingyus@quicinc.com>
Printing hfi q info at the of
session queue time out to get debug
info on missed cmd/frame pkt.
Change-Id: I9b324a6496699272f9f1b9cb794f3e322d5421ae
Signed-off-by: Nagesh Gunna <quic_ngunna@quicinc.com>
synx signal used wrong logging tag. PARAMs buffer is treated
as persistent buffer to avoid unnecessary warning messages
complaining mapping in-use when session closed.
Change-Id: Ia44b943ba0d41d9f7fa276eabb369597552a4956
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Racing happens when a new fence command submitted and flushing
is requested from a different thread.
Change-Id: I2d4f1e02c245f9a4a7eeb2e541ddb0e99b63b461
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
New HFI allows FW stop session and notify driver of
its completion. Driver is safe to reclaim resources
allocated for the session.
Change-Id: Ic6a08334a0bafd57f366a635c53f4f5f8f31f77e
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Non-secure ARP and CRC in BUFFER_TYPE, enabling IFPC.
Change-Id: I551e29e7770cdfd83b0ed9f7f925fb8bd6e6a4a6
Signed-off-by: George Shen <quic_sqiao@quicinc.com>