Add register information. Initial QoS settings info to program
camera static settings for chipsets having camera v170_200.
Also change the logic to get the camera and cpas versions.
Added the map table corresponding to camera and cpas versions.
For any new CPAS version support, just need to add the entries to
the map. This removes the complexity of if-else cases while
fetching the cpas hw information.
CRs-Fixed: 2571273
Change-Id: I7d54b8bc038aa90ecb39f5048e7809ac10c4476f
Signed-off-by: Gaurav Jindal <gjindal@codeeaurora.org>
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
This change adds logic to stop IFE hardware in case of
hardware errors.
CRs-Fixed: 2590331
Change-Id: I86773cc44ce890cea47f19f0482761e686b0cd00
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
This change reduces the maximum attempts to apply a particular
request from three to two. After two failed attempts to apply
to ISP device, IRQs for ISP device will be overlapped from
two requests. Thereafter apply request at every alternate
frame will fail without a chance of recovery. Therefore we
must notify userspace to trigger recover on the link.
CRs-Fixed: 2606911
Change-Id: I526bb837a496fe1e67786b854c5afb062dddb918
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Clock gating must be disabled at top level initialize
hardware routine as VFE is reset after resource level
initialize hardware routine.
CRs-Fixed: 2590331
Change-Id: I5c51c402a3a6076f056368493b774daa199228aa
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
This change increases the watchdog timeout value from one second
to five.
CRs-Fixed: 2606911
Change-Id: I353f78369c31a513dfd94dd1988bc42c2f75b167
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Expire timer after destroying workqueues so that we
do not refer to watchdog timer while the link is
getting unlinked from session handle.
CRs-Fixed: 2585098
Change-Id: Ife2450ae66bd52ec704ac7d593b2daaeb20ba54d
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
The EPOCH at which bubble is detected no setting is applied
to any device. This change will trigger applying the bubbled
setting to the device with highest pipeline delay.
CRs-Fixed: 2564669
Change-Id: I180b4a1d2d29267f330546b8860a099baf1688e9
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Add support for immediate stop and reset during flush
for custom HW.
CRs-Fixed: 2585745
Change-Id: I542ac02f8d99c194efa498bc07dffae7879a6c8a
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Use unsigned long to capture the return value of
wait_for_completion APIs as part of CSID path reset.
CRs-Fixed: 2600604
Change-Id: Ic21ddf283180a177b2c2d9e9a33fec4ec68bdd98
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
This change disables overflow recovery/detection for
custom CSID. Currently for QCOM CSID we enable overflow
detection and freeze on overflow. But for custom HW the
CSID needs to be free running, custom HW will take care
of handling any backpressure from IFE pipeline/DDR.
There is no need to backpressure to CSID in case of custom
HW.
CRs-Fixed: 2524308
Change-Id: I5de62eea0e87674d7ac24bb5ad2f11ff2a5a6b7c
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Currently as part of the page fault handler we only dump the
io_bufs. This change dumps all the patched addresses for
this request as well.
CRs-Fixed: 2579908
Change-Id: If5deec0ad3a8aec82824ef55366084c31a037515
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
In case user does not set any dump lvl, KMD will set
to dump on failure as default.
CRs-Fixed: 2579908
Change-Id: I036e91f5daceedf575815e7569c0e90c04f8de52
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Due to race conditions, situation can arise where the process_irq
and flush for jpeg are being handled in parallel. This will cause
the jpeg list corruption.
This commit protects the code of adding back to free list
in process_irq with the mutex.
CRs-Fixed: 2578247
Change-Id: I28ee48bc0d5cfcf3ae4a936b2eb2976226ad88d5
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
This change will print ICP error names based on error type.
CRs-Fixed: 2456658
Change-Id: I975598a7404f7520912d7b3211b6baa249e7f238
Signed-off-by: Prakasha Nayak <pnayak@codeaurora.org>
The request frame cmds are submitted to the FW in workq context.
The abort cmd as part of flush is triggered in user thread context.
This change will enqueue the abort as part of flush to FW in workq,
thereby ensuring that if there are any pending frames they are
submitted prior to the abort cmd.
CRs-Fixed: 2588575
Change-Id: I5034ca500cf39dfa0e553c49917fedb8bd084b0b
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
This change attempts to retry waiting atleast 1 time for
a duration of 1 second for the abort ACK from FW. Also
adds some debug messages during flush and removes mutex
usage during page fault dump.
CRs-Fixed: 2588575
Change-Id: I2f273baa3d56ab2dc0368d882470360a3702c53c
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
if cpas probe fails during initialization of soc resources
soc data is being accessed after freeing the memory.
This change handling the sequence on failure.
CRs-Fixed: 2585085
Change-Id: Ia89b02bce9cfb6512b33f8e7366a552635317ccd
Signed-off-by: Alok Pandey <akumarpa@codeaurora.org>
Fixed out of memory issue in triple camera usecase by increasing
number of logical jpeg contexts.
CRs-Fixed: 2587592
Change-Id: I25c99c0be8d3986bc11fbc2894a0dbf27c645d4e
Signed-off-by: Suraj Dongre <sdongre@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Reset the slot with the valid request on receiving
the buf_done which is reported on next EPOCH.
In case of back to back irqs slot is marked as skip idx
it will apply the request and try to reset a slot based
on MAX_PD + 1 calculation which might have the request
for which we have got a bubble. To make sure this does not
happen, reset a slot only on the buf_done for valid request.
If STOP ioctl is called from UMD for ISP, it will flush all
the lists. But this is not notified to CRM which might have
a stale entry of the half applied request, so on STOP ioctl
clear all the slots.
In case of SAT mode if one of the link has generated bubble,
while the sync_link has the sync_request slot reset sync_link
will not let the link recover of the bubble. To make sure the
recovery sync_mode is set to 0 for two consecutive slots of
the link.
CRs-Fixed: 2551701
Change-Id: If4b6f8a4a831ffddcef2cae6292d066778c18b04
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
Add a high-to-low transition in the CTRL0 register
during the common power-up sequence.
CRs-Fixed: 2580437
Change-Id: I66541d3d787fa2f161e5d8e647fb11c8075a1947
Signed-off-by: Shravan Nevatia <snevatia@codeaurora.org>
Due to scheduling delays, process trigger workq can be delayed.
In the meantime, link state can be reset to IDLE. This can cause
abnormal behaviour resulting in stability issues. Also, at the
time of apply fail for flash, failed_dev is not updated.
This causes crash while notifying the error on link.
This commit prevents the execution of workq process trigger if
the link has been reset to IDLE state.
Also, failed_dev is updated if the apply for flash fails.
CRs-Fixed: 2572511
Change-Id: Iaea1e0a7a24afc9e408a1530a5875f6b6c41a45b
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
When epoch comes along with RUP we report bubble as per current state
machine. This was because in camif_bottom_half handler we are handling
EPOCH before RUP. This change prioritize RUP over EPOCH and EOF over
SOF to handle race.
CRs-Fixed: 2567120
Change-Id: I236bcc44b609f8ef7f963f19d33d46a3d95ba0d2
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
Isp bus port secure mode not coming properly. Added proper
logic to get the bus port secure mode correctly.
Use secure iommu handle to get secure buffer for ope.
Add spin lock for tfe irq handler.
Use proper bw structure to copy the user send blob
data.
CRs-Fixed: 2594541
Change-Id: Icb8ecf869681c370efa084991505036f90a35065
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
Correct the queue size for cci version 1.2 as below,
1. Queue 0 size = 64.
2. Queue 1 size = 16.
CRs-Fixed: 2594541
Change-Id: Ifc9407427fe2bf0996c77dc00c5dfe7e5ba22140
Signed-off-by: Tony Lijo Jose <tjose@codeaurora.org>