Use dma_alloc_coherent to allocate 4MB dsp hfi queues and map
them in non-io-coherent way.
Change-Id: I6d8adb58ebcddae569259862a83e3aeffa3d2304
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
MVResampling frame packet has up to 38 buffers. Without the
change, kernel will complain if MV resampling number is increased
above 13.
Change-Id: I95a97045a312163f378be157394a4ff041b57a57
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
For user mode to save into a dump file. It helps FW debugging.
Change-Id: I1c9c52d27d0dfd20e3eeb54b203416f6df095c8d
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
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>
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>
Ensure consistent buffer type use between UMD and KMD.
Change-Id: I77d619420d584e3c29babc8ddc5e80232f901009
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
propagated sync v2 support from 2.0
reference 4162025
Change-Id: I3427657e21e7eda92088d828203a330ba3c86335
Signed-off-by: Yu SI <quic_ysi@quicinc.com>
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Add back all changes made after Aug. 3rd from
Kailua to Lanai.
Change-Id: I725b77892ab24354014b3d9bbc13d14c710aff5a
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Adds XRA, DLFL, DLFD, RGE and ITOF packets sanity check.
Optimizes packet type table to avoid linear search during
each packet handling. Instead use packet type as index to expedite
searching. Packet type table grows to over 60 entries and each
entry uses 40B. There will be quite some memory access delay for
each packet handling without optimization.
Change-Id: I1ee26d0d5d0b83d3c15fbcafa7414017c418b6e3
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Remove unused user persist buffer unmap code as the HFI of
UNMAP_USER_PERSIST is not supported.
Change-Id: If8ca0c24318adb1d33ab525ac0023bc5f8ae4573
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Changes only applicable on CPU EVA path, including
- tracking packet type and buffer index for each dma_buf
- print feature config packet type
- print session properties in error cases.
Change-Id: I938cf463bee9284760145f3fd9e030b3b8134caa
Signed-off-by: George Shen <quic_sqiao@quicinc.com>
merged tip source code from eva-kernel.lnx.1.0,
and verify the promotion flow.
Change-Id: I031508fd8a23995a166506f3d190e5e228eb13c2
Signed-off-by: Yu SI <ysi@codeaurora.org>
Support configurable number of SSR tolerance before calling
BUG_ON in SMMU fault scenario.
Change-Id: I19dabbeaa1cf5be86f42a6ace62ef5da12743e79
Signed-off-by: George Shen <sqiao@codeaurora.org>
msm_cvp_smem_put_dma_buf() releases the EVA driver's reference it uses
for DMA mappings, by decrementing the refcount of the underlying
struct file that all DMA-BUFs use for life cycle tracking. By
accident, the EVA driver held a direct reference to the underlying
file using the struct msm_cvp_smem->file variable. The EVA driver,
after releasing it's reference to the DMA-BUF, inadvertently called
fput() on the struct_cvp_smem->file variable, which leads to a double
free.
Resolve this by removing the struct msm_cvp_smmem->file variable, and
by removing the corresponding fput().
Change-Id: I108cd87509673008ff55fc94fda76aa21f21bd5d
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
Persistent buffer unmap is different than frame buffer. It's
expected to be released at the end of session instead of at
frame boundary. Remove the warning of "unexpected unmapping".
Change-Id: I24bfae0b67b1a8989e6a710556d94c8bc4e90aff
Signed-off-by: George Shen <sqiao@codeaurora.org>
Control EVA directly through kernel driver low-level functions.
Add error handling in session creation.
Unwind task and file reference count during buffer un-mapping.
Change-Id: I1ae5ae4afd3fea8e90faee1d8fe2c1ff92eeb9c2
Signed-off-by: George Shen <sqiao@codeaurora.org>
Migrate to new kernel API to retrieve buffer attributes.
Change-Id: I1163c975b8e7f666694394be90f2999eabba1e23
Signed-off-by: George Shen <sqiao@codeaurora.org>
Improve debugability and error handling in future.
Change-Id: I4f116e106f243143f4f62eb28fbf338e219018c6
Signed-off-by: George Shen <sqiao@codeaurora.org>
New CPU-DSP interface aims to replace reverse RPC in DSP EVA
applications.
Change-Id: I4225dfa0b1acf8015a763263520442712e571851
Signed-off-by: George Shen <sqiao@codeaurora.org>
renamed cvp to eva for msm_eva_private.h and
other source and header depending on this file
Change-Id: I987cfedca62c82e5e26af230b4f36c84f1318a95
Signed-off-by: Yu SI <ysi@codeaurora.org>