Commit Graph

102 Commits

Author SHA1 Message Date
qctecmdr
996985c6e0 Merge "msm: eva: Flush EVA CPU DDR transactions" 2021-08-23 23:42:37 -07:00
George Shen
3eaf705b30 msm: eva: Flush EVA CPU DDR transactions
Before power collapsing EVA subsystem.

Change-Id: I84ea3278a3229346677cc28d2aec1e62bbe5868c
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-08-23 23:17:36 -07:00
Yu SI
7634c56a2a msm: eva: rm log access mmrm clientStr after dereg
Removed the logging which access mmrm eva client
structure after calling mmrm deregister.

Change-Id: I467c147bd76b980971b0ca512212292e572b1b18
Signed-off-by: Yu SI <ysi@codeaurora.org>
2021-08-23 18:38:30 -07:00
qctecmdr
d7fcae03ee Merge "msm: eva: Fix typo in DSP debug mask check" 2021-08-20 17:07:57 -07:00
qctecmdr
61ef57d730 Merge "msm: eva: mmrm set clk to 0 when disable unprepare" 2021-08-20 14:46:56 -07:00
qctecmdr
d032e23024 Merge "msm: eva: prepare enable video_cc_mvs1_clk_src" 2021-08-20 14:19:04 -07:00
George Shen
0780657491 msm: eva: Fix typo in DSP debug mask check
Don't ingore memory debugging level.

Change-Id: I2d1df82c2c7ba1741e373ab6cd69635b5f54215e
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-08-20 14:06:32 -07:00
Ronald Karyodisa
27132cb626 msm: cvp: Fix dynamic clock voting
Prevent dcvs voting below the current aggregated clock.

Change-Id: Ie3ea259521a7b241cdef40a049563f054b089687
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
2021-08-20 11:35:03 -07:00
Yu SI
73df69a866 msm: eva: mmrm set clk to 0 when disable unprepare
set clk value to 0 with mmrm api when disable and
unprepare clk

Change-Id: Ia14042abf5dc0b6798869ad95e22b4c12a973881
Signed-off-by: Yu SI <ysi@codeaurora.org>
2021-08-19 18:54:36 -07:00
qctecmdr
5df7e14528 Merge "msm: eva: Add control of EVA SSR behavior" 2021-08-19 12:02:16 -07:00
George Shen
a610c57ca1 msm: eva: Add control of EVA SSR behavior
For better debugging, it's conveninet to stall device when
EVA SSR happens.

Change-Id: I1bfd97d99ad3b6c0276282be9de4e7bb2456227d
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-08-18 19:09:31 -07:00
Yu SI
4b4bb300cf msm: eva: prepare enable video_cc_mvs1_clk_src
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>
2021-08-18 17:36:44 -07:00
Ronald Karyodisa
d49b4e5574 msm: eva: Add FD type check for DCVS
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>
2021-08-18 17:23:27 -07:00
qctecmdr
5a3b831097 Merge "msm: eva: Support EVA DSP clients in mult-process" 2021-08-17 19:01:17 -07:00
George Shen
27a7be7869 msm: eva: Disable LLCC during SSR
Avoid pending transactions after EVA powered off.

Change-Id: Ic18d9184b4a8dcb158671e9a151a9cd8ec9e4ef6
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-08-17 16:09:00 -07:00
Yu SI
c2d59a4698 msm: eva: set clk to 0 before mmrm deregistration
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>
2021-08-17 15:55:23 -07:00
George Shen
55eeb27ba8 msm: eva: Support EVA DSP clients in mult-process
Each process requires unique driver name.

Change-Id: I72993470dcd60de20dfda8133b0b3f4dfbbf8f8d
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-08-17 14:37:14 -07:00
George Shen
de1ef5829c msm: eva: Add support of DSP SSR
Clean up DSP sessions and their opened resources.

Change-Id: Ibf1468e52c8da1ebf450c08ca2df2c57de191423
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-08-16 22:22:44 -07:00
George Shen
72eb20af3d msm: eva: Add SSR counter
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>
2021-08-13 13:43:45 -07:00
Chris Goldsworthy
30223d90a7 msm: eva: Fix DMA-BUF double free
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>
2021-07-30 10:22:54 -07:00
George Shen
d6bee86fa3 msm: eva: Avoid nested mutext lock in dsp
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>
2021-07-28 14:42:16 -07:00
Yu SI
a031b0d054 msm: eva: add QMAA compliance to eva kernel dlkm
added check on QMAA related flags to
decide if compile eva kernel ko.

Change-Id: Iae09c460d75be90afb82b4178555497ebae9e573
Signed-off-by: Yu SI <ysi@codeaurora.org>
2021-07-27 16:24:39 -07:00
Yu SI
b632dc32be msm: eva: mmrm adding notifier callback
added call back function for notifier
when throttling case happen.

Change-Id: If8fc1c12ea087b7478e47f905184c0413764a0a7
Signed-off-by: Yu SI <ysi@codeaurora.org>
2021-07-19 13:35:20 -07:00
George Shen
01496a7635 msm: eva: Avoid racing in power update
Lock clk_lock mutex before changing CVP instance list.

Change-Id: Ie2c88f2eaa082a3661ab776093f5ded0fa261985
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-07-13 15:03:49 -07:00
qctecmdr
99f001229a Merge "msm: cvp: Update EVA power sequence" 2021-07-12 12:38:53 -07:00
George Shen
966d521450 msm: eva: Remove warning during buf unmapping
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>
2021-07-09 14:26:17 -07:00
George Shen
27b6f5dacd msm: cvp: Update EVA power sequence
To be more compliant with programming guide.

Change-Id: I7908ed0a4a4c2baebaef0ec7dbf95ebb149683e8
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-07-07 19:52:50 -07:00
George Shen
022b7d2d1b msm: eva: Avoid printing unnecessary warnings
When handling HFI response of config packets.

Change-Id: I16e373d07c1cc7617624160921bcca972381277b
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-06-24 17:11:27 -07:00
Yu SI
99ad8575b2 msm: eva: adjust log level for non-fatal msg
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>
2021-06-23 13:18:55 -07:00
George Shen
a8eef953d6 msm: eva: Replace TARGET_PRODUCT
with TARGET_BOARD_PLATFORM.

Change-Id: I91c7396512be295a6a4ea3302547fd6a0572bcd8
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-06-22 12:03:17 -07:00
qctecmdr
5740f67760 Merge "msm: eva: access sideband manager regs in PC" 2021-06-14 15:50:45 -07:00
Yu SI
ce3bd72831 msm: eva: access sideband manager regs in PC
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>
2021-06-14 14:03:54 -07:00
George Shen
dd913bddc0 msm: eva: Deprecate secure heap reference
Use mem_buf_lend to assign system memory to secure VM.

Change-Id: I6a09e65ddb72dbd6eadd6a88ae56df5430825c9e
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-06-08 12:14:08 -07:00
Karthik Nagarajan
322bbdeaa3 msm: eva: Enable hangdump mode in EVA
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>
2021-06-04 12:15:07 -07:00
qctecmdr
40560c74dd Merge "msm: eva: Fix EVA SSR recovery in DSP" 2021-06-03 14:43:35 -07:00
George Shen
11a18d4d23 msm: cvp: Reduce kmd's feature dependency
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>
2021-06-02 10:49:25 -07:00
George Shen
349e230912 msm: eva: Fix EVA SSR recovery in DSP
Avoid deadlock in DSP EVA session creation after EVA SSR.

Change-Id: I22b363883db5d3bf8e8554a3708cb549437899ba
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-05-27 16:37:55 -07:00
Yu SI
077b0f11d3 msm: eva: update NOC reg offset
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>
2021-05-25 21:50:27 -07:00
George Shen
79fd263380 msm: eva: Avoid double free of DSP dma buffer
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>
2021-05-13 14:39:59 -07:00
George Shen
1a6c0d1a39 msm: eva: Avoid NoC access during SMMU fault
Noc logger doesn't work when handling SMMU fault in driver.

Change-Id: I4ac6bca6e015b7f5424be4cb9e6d535877baa410
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-05-07 15:13:14 -07:00
qctecmdr
013f73f69d Merge "msm: eva: Add debug option to disable DCVS" 2021-05-06 13:50:47 -07:00
Ronald Karyodisa
fe9fae2af4 msm: eva: Add debug option to disable DCVS
Add debug option using debugfs to disable DCVS.
Add extra check for DCVS.

Change-Id: I989ef72857dde306fa0ca9466843ebc1d2b30f85
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
2021-05-06 10:47:51 -07:00
Yu SI
b78beff7ac msm: eva: re-org clock related functions
modularize clock related functions to clock source file

Change-Id: Ifcfdcd266e0bffcfff2fe74823743be3363c7494
Signed-off-by: Yu SI <ysi@codeaurora.org>
2021-05-03 19:33:14 -07:00
Yu SI
e3e3be2557 msm: eva: check on inst value from ptr_dsp2cpu
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>
2021-05-03 18:50:59 -07:00
Ronald Karyodisa
68b7c2cfa3 msm: eva: Fix sum fps aggregation setting
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>
2021-04-30 14:54:17 -07:00
qctecmdr
17d2357feb Merge "msm: eva: avoid cache entry for unwanted buffer" 2021-04-28 09:07:31 -07:00
George Shen
b566b0b091 msm: eva: Remove inappropriate comment
To ensure compliance with kernel module coding convention.

Change-Id: Ib511ea3df44d83078456d1de5e4651e31e0ff1dc
Signed-off-by: George Shen <sqiao@codeaurora.org>
2021-04-23 11:42:17 -07:00
Yu SI
ef51f21606 msm: eva: avoid cache entry for unwanted buffer
Error handle to avoid dereferencing of unwanted buffer during deinit

Change-Id: I4d051f81f86582a16c639e33429d9c1ed893f5e5
Signed-off-by: Yu SI <ysi@codeaurora.org>
2021-04-22 10:50:22 -07:00
palabhat
faca8f4a0f msm-eva : Changes to support cp_camera buffer mapping
Change-Id: I93fb5b06f43f4099ebf7d62267ce2c9614b6d7ff
2021-04-19 21:17:45 +05:30
Karthik Nagarajan
64eb1ea98d msm: eva: Enable query of eva workload
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>
2021-04-12 08:46:56 -07:00