CSID is not able to recover from the fatal errors like lane
overflows, continuous unbound frames or ESD errors. To recover
from such errors, it is necessary to restart the sensor as
just starting the ISP hw do not make any change as the sensor
can still be in bad state.
This commit implements tasklet based CSID recovery mechanism.
On detecting an error in CSID interrupt, tasklet is scheduled
which in turn will call the ISP hw manager to notify the ISP
context, from here a notification is sent to CRM to send a
message to trigger full recovery. This full recovery includes
the sensor release and start.
This feature is debugfs based. Based on need this can be turned
on.
CRs-Fixed: 2642216
Change-Id: Iecf9916d3672d71a1367886cc934b5a2b148f918
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Add logic to dynamically lane configuration for the CPHY combo
mode, where individual sensor can configure with different datarate
by configuring the respective lanes at the time of configuration.
CRs-Fixed: 2729624
Change-Id: Ie3714f9fd5d24c6cea8824f3a9dd9dc7f6f6d976
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
dma_buf_kmap/kunmap is replaced with dma_buf_vmap/vunmap api, to
accommodate upstream driver.
CRs-Fixed: 2732008
Change-Id: Id6551d84ea09d91a18c64fbbca3a796f4eab0bb1
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
This change adds support to notify frame skip when CRM
not ready to apply a normal setting. Sensor and custom
device also want to update the HW settings in some
conditions even if a frame is skipped.
CRs-Fixed: 2691642
Change-Id: Ibd2b22655d0f6b6c90663df75a0f5fad8565e918
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
The dt match table needs end up with null.
CRs-Fixed: 2730795
Change-Id: I75bdf20d74d9a83d9a0de28a2ad4d95412a51f0c
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
The extra read seems to have been added due to an incorrect use
of readw_poll_timeout. The readw_poll_timeout was effectively acting
as a long delay before attempting the second read. Replacing the readw
with a readl results in correctly polling the register. We can safely
remove the extra read and simplify the polling logic.
CRs-Fixed: 2722486
Change-Id: I07269d601e64059ce7654563c379b5dc956895b3
Signed-off-by: Fernando Pacheco <fpacheco@codeaurora.org>
When we wait on Bufdone for Bubble Request in Bubble state,
We don't know whether the CDM is hung or Bufdone is delayed.
This change prints more information for bubble request to
ascertain CDM is in good state.
CRs-Fixed: 2705745
Change-Id: I98215904b5665281808e775c97c6747a38eb1081
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
CCI hardware is no longer register as device node with v4l2 layer.
At time of notify message, there is missing check to read subdev
name, which cause the null pointer issue. This change removes
the sudbev node reading operation with devnode pointer as it is
not being use anywhere in functionality.
CRs-Fixed: 2702760, 2727771
Change-Id: Id362bd2edf4eea35f05115ae3a5b6c1d761bb437
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Add support for new CSIPHY version 2.1.0. Add hw
register file for CSIPHY 2.1.0.
CRs-Fixed: 2724449
Change-Id: Id3f21b4f60e807ca6fef762f0c6da193ae78e099
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
If a request is submitted post flush and the request ID of that
request is <= last flush req ID return an appropriate error code
to indicate the same.
CRs-Fixed: 2720555
Change-Id: Ic26c4fc5f0ba490ed277b3bb301cc02d1fa027d6
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Add HW index in Release, Acquire, Flush and confiqure
IFE Logs to Improve the debugging.
CRs-Fixed: 2709537
Change-Id: Ia540f1498d889f1e744e6ab20e07d17e27b07731
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
Guards debugfs features in camera driver to only be compiled when
CONFIG_DEBUG_FS is enabled.
CRs-Fixed: 2717236
Change-Id: I0de77741301d259cbec64e8a2e27830981b2b69d
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
AHB and AXI BW voting path requires all key logs to be perf.
Change BW voting logs in utils to perf for easier debugging.
CRs-Fixed: 2584631
Change-Id: I41ef094f6633101bb7b636ea310aca81de0101c7
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Currently lane enablement is happening as a part of lanemask
field, which is send by UMD. Lane enablement should be purely
depends on laneCnt and laneAssign attributes. Also, combo mode
sensors needs to come with combo mode flag set from the UMD.
This change updates the logic for lane enablement with respect
to laneAssign and laneCnt, and also covers all combomode selection
as per the request. This change also enables the sensors to acquire
and streamon/streamoff at anytime in session.
CRs-Fixed: 2677450
Change-Id: I4f0d3ffd7245a931c273611c9c4b7e503c038664
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Submodules per master uninitialize check needs to be set to false
when all submodules are released for that master. Correct the
refcount check for the appropriate operation.
CRs-Fixed: 2686487
Change-Id: Iaea94e4d1ad83bef99d40cec4e96de3993783ec1
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Add register information. Initial QoS settings info to program
camera static settings for chipsets having camera V570_200.
CRs-Fixed: 2707213
Change-Id: Ic9af3c4ff1cc69c6b70e1489e4634afe7b71390a
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
Handle request abort cases from underlying hw mgr, hw layers.
This will handle in differentiating ERROR vs ABORT returned
from firmware in case of ICP and signal the fence accordingly.
By the time flush is issued to firmware, if a request is not
yet processed, firmware signals with Abort, which needs to be
propogated as CANCEL instead of ERROR to core context layer
so that context layer signals the fence accordingly as
ERROR or CANCEL.
CRs-Fixed: 2702771
Change-Id: I8fe6bd1c8f5cf09b99196a1caac1283032418f8c
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
The cci configuration will be transitioned to a new API that does not
require routing through the v4l layer. This is work-in-progrss so in
the mean time prevent the device from being exposed as configurable
from userspace.
The ioctl will still be exposed to kernel users so fix the arg size
as well. We want size of struct not pointer.
CRs-Fixed: 2702760
Change-Id: I9c7bd8f76980603dbf27e1c5bc9b19f8a3b8a39a
Signed-off-by: Fernando Pacheco <fpacheco@codeaurora.org>
At a given point if there is no request to apply, carry forward
the same timeout value for the wd timer. Modify timer only in
cases where we apply a valid request.
CRs-Fixed: 2698225
Change-Id: I92a1f1c6d0154349e19fdc1582d9d8836a7db1f4
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Add support for CSIPHY v1.2.4 in the PHY driver.
CRs-Fixed: 2709344
Change-Id: Ic0eeabe2e978e6f2513e61a063e8b354c8466954
Signed-off-by: Shravan Nevatia <snevatia@codeaurora.org>
This change resets the offline context flag,
otherwise the packet may be applied to HW immediately
if this context is offline context last time.
CRs-Fixed: 2696977
Change-Id: I2fc836f7ba2889ec62273c3b12cc4050736f587b
Signed-off-by: zhuo <zhuo@codeaurora.org>
Update OPE and TFE drivers to use new camera workq
wrapper functions.
CRs-Fixed: 2716498
Change-Id: I05ecefb191a544c2953ac7e71a7c9a95d1f1fb10
Signed-off-by: Suresh Vankadara <svankada@codeaurora.org>
Enable custom driver compilation on lahaina and few minor fixes
in custom HW driver.
CRs-Fixed: 2716300
Change-Id: I6f9ead5d2d67d91c14daf200ba12e95a1afec61d
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>