This commit fixes minor issues in logging in VFE and CSID drivers along
with major fixes and improvements -- issue CSID global reset after
fatal error, extending debug register parsing for IFE Lite, fix clipping
of text due to limited buffer size in RX error log printing.
CRs-Fixed: 2977145
Change-Id: I4eacfc60264911b0597ece7693877fc1fb6976eb
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
In burst read flow, we need to wait CCI irq
once one set data is read, but the fifo may has
new data what can be read immediately and don't
need to wait the irq. This change also optimize
the irq processing, we can reset irq mask first,
then process the irq status, it can avoids some
timing issue, e.g. the read context runs too
quickly, then read context enable the read
threshold bit in irq mask1, but irq context runs
late, then irq context clear the read threshold,
then we can't receive read threshold again.
CRs-Fixed: 2995920
Change-Id: I8acfadf07b95782725bf4bf8b05b88789874c1da
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
Append sync obj's name to logs to help debugging.
CRs-Fixed: 2998236
Change-Id: I461865b72e49b11267c2dc20176985b4545a42e8
Signed-off-by: Sokchetra Eung <eung@codeaurora.org>
Update SFE output ports in buf done failure dumps.
Currently reg dump on error is triggered only on HW
error. Extending this to scenarios where the pipeline
is stalled possibly due to congestion.
CRs-Fixed: 2841729
Change-Id: I423bbac19efd5dd57d998b7017d9bfcff23392d0
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Append workq name in workq delay detect API to identify
which workq is scheduled late. Create workq name macros for
cci and cpas to pass to workq delay detect API.
CRs-Fixed: 2994927
Change-Id: Iebc14520b918272e92b59c900de5fe17f38a2406
Signed-off-by: Sokchetra Eung <eung@codeaurora.org>
AHB WD modules only support async reset. In order to clear
WD without complete camera reset disable and clear
WD interrupt. Kernel driver subscribes only for WD0, this
change adds this sequence only for WD0.
CRs-Fixed: 2841729
Change-Id: I0913d20fc3bd4bf911484efa42fb5889e539fea0
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Notify all the connected devices, when the link is stalled.
CRs-Fixed: 2841729
Change-Id: I08cbb587071f4bfd6e1cdefddffb66a83ba8c187
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Icc_get return value is IS_ERR type, so the commit change the
judgement condition.
CRs-Fixed: 2988670
Change-Id: I2c3375922bc42b598aa8872c756a47e881ccb80c
Signed-off-by: zhuo <zhuo@codeaurora.org>
In case if the destroy session is processed first it will
as a part of unlink try to drain the work queue. This will
schedule all the enqueued wq. Workqueue when scheduled
try to acquire same mutex destroy session has already acquried
this will lead to dead-lock. To avoid that, check the link
state first if it is in idle state then return from the
workqueue without trying to acquire mutex.
CRs-Fixed: 2976325
Change-Id: I57a53455c69e5f4f38c92413f9d1b7f2d06c9960
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
Max support clock frequency varies from target to target.
Do not restrict the debug icp clock with max supported clock
and allow it to set with any value.
CRs-Fixed: 2878329
Change-Id: Ia157d38c4aa4b1183650bf6ff47f3181fb8012cd
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
Enhance csiphy reg dump to make them more readable
and allow them to be parsed by creating a parser.
CRs-fixed: 2992807
Change-Id: Idc5cfa6aa14c90adfeeaf398fa89ded51aeea350
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
Currently all the csiphy debugfs entries are
populated in the same camera-csiphy folder.
This has make searching for a desired debugfs
for desired csiphy a little difficult. Move
all those debugfs entries to the respective
csiphy index directory for easy access.
CRs-fixed: 2992807
Change-Id: Ia48df672669c88a0dd72f051a7be3d8e043c7e7c
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
This commit corrects the bit mask for enabling the Bus violation
IRQ. Bus side errors were not caught early as the bit mask was not
correct.
As a part of this commit, we cause the hw to stop when bus side
violation errors are reported. This prevents the false reporting
of CSID back pressure overflows.
Change-Id: I1770ff14e186f252da9b871e0c29fe5f4c9fab0a
CRs-Fixed: 2997739
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
Flag warning only if the wait call returns 0.
CRs-Fixed: 2841729
Change-Id: I456da8a66ea69bcf671f55bd5f0459aab74476f5
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Add support for SFE 780. Register header files are updated.
This change also includes new IRQ and port for SFE 780 along
with some debug enhancement.
CRs-Fixed: 2948116
Change-Id: I3e83ad275212fd73e1ce9dce0dc18970ff036351
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
For RDI state machine add provision to post shutter for requests
that receive RUP_DONE prior to SOF. If the RUP_DONE is serviced
and acknowledged before SOF by the state machine, we need to
handle posting the shutter for that request at SOF otherwise
we would result in completely missing that shutter.
CRs-Fixed: 2971285
Change-Id: I6303520166c445fa7872dcffbd23a0a75d497387
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
When debug module is disabled for printing, check it at the site of the
print call instead of inside the print function to increase performance.
Also use a custom print function instead of pr_info to redirect the
same variadic arguments to trace logs to avoid calling two different
variadic functions.
CRs-Fixed: 2989605
Change-Id: Iad9f77ec9fd072bcd371de014e8a976a4e798d90
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
Reduce number of logs printed by ISP and custom contexts for each
packet. Also move sync related error logs to debug logs.
CRs-Fixed: 2977145
Change-Id: Icf22eefdf0ae1d6ef006272f95352ae65cbf3b34
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
CSID wrapper config can be reset only by ares from
camera subsystem power up or ares assert BIT in
CSID clk branch both of which are not gauranteed at
the end of a given CSID stream. This change explicitly
resets the wrapper config via AHB. This is to avoid
any 2 CSID wrapper path config registers ending up with the
same config at a given instance.
CRs-Fixed: 2991630
Change-Id: I7b623841b33cad4e3921d0128f323dcd36e485c8
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Add flush device ioctl handler in ISP top state machine to translate
the flush command into equivalent CRM flush request command. Also add
support for flushing offline IFE workqueue.
CRs-Fixed: 2939523
Change-Id: I79a6b6bca241b954e06f78e8a05e55907f46aa59
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
Some ISP hardware id instances are disabled on some target skus.
Cpas driver has fuse information based on the dtsi entries.
ISP hw driver queries the cpas driver whether hw instance is
supported or not. If ISP hardware is supported on the target then
continue the isp hardware probe.
Fix for get HW feature:
When feature is enable or disable type and HW mask is not indicating the
HW index, do not update the supported. By default it is supported.
CRs-Fixed: 2825675
Change-Id: I777e5790060388458562e7a53fea8a7324ffa9d3
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
Changed from static to dynamic allocation for hw_mgr_intf.
Updated de-init handling during driver remove.
Updated Idle irq handling to not clear request data at idle irq.
Multiple request handling at buff done.
Offset fix.
CRs-Fixed: 2982472
Change-Id: I37fb690f9f4c1460ecf322a259e2e1001574339b
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
This change is set the OT values for RT client of Camonc
to 8 for Yiupik camera. This is sw workaround for Yupik camera.
CRs-Fixed: 2924987
Change-Id: Icb7f30c23f5899558a41308fe313d46fd8d992a3
Signed-off-by: Ayush Kumar <ayushkr@codeaurora.org>
Fixes expanded memory allocations to only happen for ICP context banks.
Re-maps the command buffers to shared region of ICP context bank.
CRs-Fixed: 2985358
Change-Id: I3c2d5866b0041489577f6c5c0ec113c886437107
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
Use Kernel time to obtain the current time when IFE is acquired
/released and when sensor is streamed on/off. Convert the Ktime
to a timestamp format and log it in existing info prints. This
will help to co-relate timestamp between user-space and kernel
logs. The change also replaces the current usage of direct calls
to ktime_get_real_ts64 with macro across all drivers.
CRs-Fixed: 2987320
Change-Id: I87c4790164d222fc1ed6ff41ad00eeb1ed8c8867
Signed-off-by: Sokchetra Eung <eung@codeaurora.org>