Device enabled flag is not set during stop preventing the
buf done irq mask to be set during next start without disabling
the core.
This commit adds device_enabled flag to false during csid stop
call.
CRs-Fixed: 2943893
Change-Id: Ic9c6a86219a6e3761b50817c94c0e6b89a6fde95
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
In dual IFE case, HW reset times out because completion struct gets
reinited after reset IRQ is received and before going into wait. During
SW reset, 3 IRQs are observed, 2 during master reset and 1 during slave.
This can cause the done count in the completion struct to be increment
by 1 for the slave CSID during SW reset and result in incorrect
reporting of IRQs during the next reset call.
To solve this problem, there are two reinit_completion calls:
1. Pre-reset command: Only for SW reset. This is to clear the
completion struct in the cases of HW reset timeout followed by
reset IRQ or slave reset IRQ triggerred by master.
2. Post-reset command: For both HW and SW reset. This is to
clear the completion struct after successful reset command to
use it again during next reset.
CRs-Fixed: 2846451
Change-Id: I6d416a63e6d7e3828e55d1deece56b38a349f99f
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
Flag fatal_err_detected is getting set for recoverable errors
as well. This causes false propagation of errors.
This commit removes the handling of recoverable errors as fatal.
CRs-Fixed: 2940802
Change-Id: I25710287efe918d8f97618ca24eea57378abed3c
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
Before powering down Top HM, qchannel handshake needs to be
done to ensure camnoc is idle. Add qchannel register info
to enable handshake on v680 hardware.
CRs-Fixed: 2841729
Change-Id: I55c240dc0f780fb5f8339dbd0a2d9aa4ef280be4
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Currently, clock update function is same between different
vfe top versions. Move clock voting functions to common
top to avoid duplication.
CRs-Fixed: 2841729
Change-Id: I2504632a260ea18f8b5e38e65395db95375588bb
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Currently, camnoc buffer fill level register offsets are part
of cpas monitoring. Register offsets keep changing between
targets which would bring more conditionals. Make cpas monitoring
generic by moving register offsets to header. Also, the reg values
will be read in a buffer, and it can be controlled what offset
needs to be read, by changing status in header to be enable/disable.
Also, move camnoc fill level printing to CPAS for when we need only
buffer fill info.
CRs-Fixed: 2841729
Change-Id: I05425b4466d33dbef80eb8a0a1b5e974a6965600
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
This commit fixes regression in RDI only usecase caused by 'commit
afc2f5cb ("msm: camera: isp: Change Start flow of CSID paths")'.
CRs-Fixed: 2846451
Change-Id: I9be699ed2045b83c2657ce5fd879e89fe64c909a
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
This change allows IFE hardware manager context to see CSID lite as a
different base and process blob commands consistently for full and lite
CSID.
CRs-Fixed: 2846451
Change-Id: I663be55ef09395125d45746e4664272865980eef
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
Enable sys cache usage by default for sHDR use-cases. The change
also updates a log to indicate cache config for a given resource.
CRs-Fixed: 2841729
Change-Id: Ie6c8530982fd0c36913e20c5359367d8dcffa66b
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Enable RX after starting path and change the call
flow of start from hw manager to csid driver.
CRs-Fixed: 2841729
Change-Id: Ie758b1f8cd1137baf1f4eec3d38319e8b4f6e959
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
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: 2841729
Change-Id: I86ce1109b507fe12ee06da870b9242d2aa40c5e0
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
This change introduces a blob to obtain number of frames to be
dropped in CSID when sensor is streamed on. This parameter will
be applicable for all paths in the pipeline.
CRs-Fixed: 2841729
Change-Id: Idcf1f6c8223f885c82883aa1d5fdf6981ffcc813
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Enable using mmrm APIs for camera clk set rates.
CRs-Fixed: 2901925
Change-Id: Id80f2d46b62aef9ebcbb238a342925c74aac053a
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
Use mmrm interface to set clock rate on all
camera clks.
CRs-Fixed: 2901925
Change-Id: I2e4c31a11e0e068693ac15356e3b3dafcfa0b078
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
Add support for using system cache for SFE WMs and RMs
in case of sHDR use-cases for power saving. Also add
debugfs capability to control this feature.
CRs-Fixed: 2841729
Change-Id: Ic4dad50e8c396705b33bb0bc8330d25e51ca79a2
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>