Prevent dcvs voting below the current aggregated clock.
Change-Id: Ie3ea259521a7b241cdef40a049563f054b089687
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
set clk value to 0 with mmrm api when disable and
unprepare clk
Change-Id: Ia14042abf5dc0b6798869ad95e22b4c12a973881
Signed-off-by: Yu SI <ysi@codeaurora.org>
For better debugging, it's conveninet to stall device when
EVA SSR happens.
Change-Id: I1bfd97d99ad3b6c0276282be9de4e7bb2456227d
Signed-off-by: George Shen <sqiao@codeaurora.org>
prepare and enable video_cc_mvs1_clk_src in
power on core sequence;
and disable and unprepare in power off core sequence.
Change-Id: I5558516bb54a7886e9faf9739a0743d8ad59d81b
Signed-off-by: Yu SI <ysi@codeaurora.org>
Add FD packet check and add log to catch the
unexpected FD packet size.
Change-Id: I794d659a2e33e5efc521d31476c6923ca5462554
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
Avoid pending transactions after EVA powered off.
Change-Id: Ic18d9184b4a8dcb158671e9a151a9cd8ec9e4ef6
Signed-off-by: George Shen <sqiao@codeaurora.org>
set clock value to 0 before call mmrm_client_deregister,
fixed an issue that peak cur value overshoot between SSRs.
Change-Id: I2b884614f0c9e1b19d63102277cad7b951fdd908
Signed-off-by: Yu SI <ysi@codeaurora.org>
Clean up DSP sessions and their opened resources.
Change-Id: Ibf1468e52c8da1ebf450c08ca2df2c57de191423
Signed-off-by: George Shen <sqiao@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>
Unlock dsp mutex early, right after critical section ends.
In this way, HFI queue send will lock mutex without nested
locking concern.
Change-Id: I1af64565440585e3fffe041d39d2e4a03f846c1a
Signed-off-by: George Shen <sqiao@codeaurora.org>
added call back function for notifier
when throttling case happen.
Change-Id: If8fc1c12ea087b7478e47f905184c0413764a0a7
Signed-off-by: Yu SI <ysi@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>
change msg trace level to CVP_INFO
for cvp_wait_process_msg non-fatal.
Change-Id: If2e245f894d3076ed129f322e477ad5b1beead32
Signed-off-by: Yu SI <ysi@codeaurora.org>
added code to access sideband manager regs
in __power_collapse,
set bit field in CVP_CPU_CS_X2RPMh before access,
and reset after.
Change-Id: I73f3528b1d49060b0b2de8c2b54515461f8d3e65
Signed-off-by: Yu SI <ysi@codeaurora.org>
Use mem_buf_lend to assign system memory to secure VM.
Change-Id: I6a09e65ddb72dbd6eadd6a88ae56df5430825c9e
Signed-off-by: George Shen <sqiao@codeaurora.org>
Include new hfi packets and enable the pipeline to
dump hangdump buffers in UMD.
Change-Id: Id66538c69d3080c09c5a140dadcb0dfe87d9efc7
Signed-off-by: Karthik Nagarajan <karnagar@codeaurora.org>
Move feature configuration processing out of kmd. Relocate
feature specific code to msm_cvp_platform.c and cvp_hfi.h.
Change-Id: I425ee8b8638bd7b81c653c860f1ed1f5d95abac8
Signed-off-by: George Shen <sqiao@codeaurora.org>
Avoid deadlock in DSP EVA session creation after EVA SSR.
Change-Id: I22b363883db5d3bf8e8554a3708cb549437899ba
Signed-off-by: George Shen <sqiao@codeaurora.org>
update offset for SIDEBANDMANAGER related reg for Waipio
temp commented code to read reg since dependency not ready.
Change-Id: If87ab1ed4b80bad9835417d6972983825f065881
Signed-off-by: Yu SI <ysi@codeaurora.org>
In DSP use case, if application failed to free dma buffer before
session end. Kernel driver will free all dma buffers belong to the
dsp session. During this process, same dma buffer was freed twice.
This change is to fix the problem.
Change-Id: I641f9fc0eafbd6fe5c04276085ccd3946e439b41
Signed-off-by: George Shen <sqiao@codeaurora.org>
Noc logger doesn't work when handling SMMU fault in driver.
Change-Id: I4ac6bca6e015b7f5424be4cb9e6d535877baa410
Signed-off-by: George Shen <sqiao@codeaurora.org>
Add debug option using debugfs to disable DCVS.
Add extra check for DCVS.
Change-Id: I989ef72857dde306fa0ca9466843ebc1d2b30f85
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
check the validity of returned inst from
ptr_dsp2cpu in func __dsp_cvp_mem_free.
Change-Id: Icb2e5721aa5f8381b76e0cc4f991c48a1d74c45e
Signed-off-by: Yu SI <ysi@codeaurora.org>
Initialize the sum fps calculation to avoid the
value keep increasing.
Add addional option (fps=0) to disable FD dcvs.
Fix HFI header size checking.
Change-Id: Ieb44b626a112205091327c7785a8c92c8c77c0b0
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
To ensure compliance with kernel module coding convention.
Change-Id: Ib511ea3df44d83078456d1de5e4651e31e0ff1dc
Signed-off-by: George Shen <sqiao@codeaurora.org>
Error handle to avoid dereferencing of unwanted buffer during deinit
Change-Id: I4d051f81f86582a16c639e33429d9c1ed893f5e5
Signed-off-by: Yu SI <ysi@codeaurora.org>
Enable logic to provide current eva workload.
Workload estimated across sessions at hardware block level.
Change-Id: If8729f4ecd31b05a9b232475de9c7722845b37db
Signed-off-by: Karthik Nagarajan <karnagar@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>
obtain clock id from deviceTree file
then parse in clock_info structure.
Change-Id: I2c15b1c1d20ac12c0334b82534b9ad5633569d11
Signed-off-by: Yu SI <ysi@codeaurora.org>