TFE disable WM client logic is broken due to ISP common framework
changes and last consume address changes in ISP common framework.
Fixed the logic to disable WM dynamically. This change add the
fix for invalid pointer access in last consume address logic
as well.
CRs-Fixed: 3696470
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
Change-Id: I31d06e0dfe17ef660e7ff023b41ada1d713ff92f
Fix buf done handling in tfe bus driver due to missing
handling for multiple out resource.
CRs-Fixed: 3696470
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
Change-Id: Ie5597b83d21368f921d232d242c82be671ab8080
Output port map structure is not defined for TFE.
This is causing null pointer dereference in add io
buffer api.
Add support for outport map structure in TFE driver.
CRs-Fixed: 3696470
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
Change-Id: I35fa1f36a65bb0ba3dfd896567b47549b6bebf9d
Program WM mode based on mode flag for RDI resources..
CRs-Fixed: 3627088
Change-Id: Ie2918462fdfa8fe486983e63fcf66f9ec568c75f
Signed-off-by: Chandan Kumar Jha <quic_cjha@quicinc.com>
Distinguish error notification to CRM for actual bubble &
other errors. This avoids conflict in internal recovery scheme.
Currently back to back bubble triggers an internal recovery, if
an error is notified for AEB back to back it will lead to two
different callflows for internal recovery. Distinguishing the
notifications will avoid different callflows.
CRs-Fixed: 3692264
Change-Id: Id4d928569fded732cef1782863ee494c66158c44
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
(cherry picked from commit a0a0290f13ddb1adb25eee5e55ee4f438524fbd9)
adding missing call for put buf in flash to avoid leak.
CRs-Fixed: 3666659
Change-Id: I2e08331654e63b77950bb83ee6d95c4f5a716a86
Signed-off-by: jinguiw <quic_jinguiw@quicinc.com>
(cherry picked from commit 92e992dfae3cd269fbba0b51f0b456bebbb5f797)
Detecting for internal recovery and flush execute in two
different thread contexts, and the critical section protecting
the lists is small to avoid locking overhead. It is possible that flush
was triggered, but bh in ISP detected an error condition and triggers
a internal recovery moving the request in question to pending list.
At this point it is possible, that the flush context has cleared
the pending list, and internal recovery's addition to the pending list
is agnostic to the flushing thread. When there is a flush all, a reset
is issued to the HW and all the bh's are flushed as well. Post this
clearing the pending request list ensures no stale request entity is
left behind as opposed to cleaning up the pending list prior to the
HW stop sequence.
CRs-Fixed: 3669530
Change-Id: I58f024ec51cbc9c391d8aab1199098f314317b8a
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
(cherry picked from commit 0d58af6cf25db3b3412bc6effc437474751bf700)
Increase total link capacity, but cap session capacity at 4 links.
CRs-Fixed: 3663731
Change-Id: I53e545cb52a89fb15a254426653648a1b7b6226f
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
(cherry picked from commit cc952af03fbad9a749f861dbb14738e9fbc34a56)
Query the context bus comp group information in legacy acquire
call.
CRs-Fixed: 3696470
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
Change-Id: Ib80858e6b81e1c7fce2e00597f58f0a98e12ff87
Removed the camera subdev notify message at top half and
send subdev notification in the bottom half.
CRs-Fixed: 3645184
Change-Id: Iee60b243c9ca1241533dfe85749198b3f187618f
Signed-off-by: Sourabh Soni <quic_soursoni@quicinc.com>
For tfe Out resource data, iterate over num_out count instead of
TFE_OUT_MAX.
CRs-Fixed: 3604707
Change-Id: I63ea618da041bbf618c8bdc373daa13820f68c73
Signed-off-by: Pranav Sanwal <quic_psanwal@quicinc.com>
(cherry picked from commit d4fb18dc1347ff1e49136cdab1f0557dd86fb657)
Stale entry in TFE WM Clients data adds some offset in image address,
due to this TFE page fault observed. This commit adds change to reset
flags and entries of TFE WM Clients related to buffer alignment.
CRs-Fixed: 3569926
Change-Id: I5ac48cc2b0855f008b05c23a8c4645aeae348c6b
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
This commit add support to write reg update command for slave TFE
RDIs in SHDR use case. HW sync is not applicable for RDIs. Slave and
Master TFEs should program reg update command for separately for RDIs.
CRs-Fixed: 3564213
Change-Id: I2775139acad8e95ae21d479a14392d4a13a03595
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
This commit enable format measure for PPP path in TFE CSID with
debugfs.
CRs-Fixed: 3599715
Change-Id: Icb13d0b7451dda5bc2af18d65270e77b2b35a90b
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
This commit enables format measure block in ipp, ppp and
all RDIs path.
CRs-Fixed: 3593650
Change-Id: I133849ae0e6fdef3b96e04061437f3fdb5e0ce2a
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
Add support to discard initial number of frames for all paths
at CSID input. The number of frames to discard is obtained
from userland in blob config.
CRs-Fixed: 3603614
Change-Id: Ifff5f6013ae37ab54154c092571f2b40d51fa849
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
This commit adds BL type for the BL Command to be enqueued to CDM.
CRs-Fixed: 3622248
Change-Id: I1aa4ae7cb24a373a32990f2bb7cd4f7da2134093
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
This commit adds logic to stop handling any error IRQs from
TFE core just before stopping TFE HW.
CRs-Fixed: 3602162
Change-Id: Ibbdc08ace20cc3e426d2a614020fdf2ee5b13cd2
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
In scheduling delays or race conditions, it has been observed that
cookie value and the request id in userdata returned from CDM
do not match. This can happen due to CDM worker threads getting
delayed. Userdata attached with the CDM is the pointer in the
request. By the time, the cdm callback is received there is a
possibility that the request data has been reset and that request
node being re-used for another request. This can cause issues
particularly in race conditions.
To handle the condition, this commit associates the userdata and
with the context. Also, while submitting the request, the request
id is saved with context, which can be compared during the cdm
callback.
CRs-Fixed: 3287574
Change-Id: I836f536f4bf1040de3c4bf7168e3ef96dc3000bf
Signed-off-by: Yash Upadhyay <quic_yupadhya@quicinc.com>
Dumping both ipe and bps clocks in case of frame process
failure. Added generic utility function to dump any hw's
clocks.
CRs-Fixed: 3297488
Change-Id: Ia952696b0288361bffaeadfd53041c72fd21f96d
Signed-off-by: Yash Upadhyay <quic_yupadhya@quicinc.com>
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
This change fixes errors in TFE identified while running the KW static
static code analysis tool.
- The in_port member in struct cam_tfe_top_hw_info if filled incorrectly
may lead to out of bounds access in cam_tfe_top_init.
- The reg_val_pair variable may be used uninitialized in function
cam_tfe_top_get_reg_update.
CRs-Fixed: 3522596
Change-Id: I48c9caccaeebea3a8c6c2a12b48e5a21ba8030d5
Signed-off-by: Abhilash Kumar <quic_krabhi@quicinc.com>