This commit corrects the violation module ID in vfe 780 header file.
CRs-Fixed: 3092119
Change-Id: I97c6a1c4b331d8bf4f37efd05660b1f3694f1a59
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
In case of sHDR dynamic switch, for a frame on which we are
configuring scratch buffer, use num of exposure from the
last applied valid request as opposed to global reference of
num of exposure held by global scratch configuration. The
global reference could have been updated by a future request,
it would be incorrect to use that when that request has not
even been applied.
CRs-Fixed: 3084946
Change-Id: I2a70d0de57e2dd780aa2eecc71a6398dc1800b6c
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
For RDI only context where the buf_done is handled from wait list,
if the buf_done is moved to deferred list then the bubble
recovery might fail. To make sure the bubble is processed the request
needs to be moved pending list. This change helps moving the request
from active list to pending list.
CRs-Fixed: 3079621
Change-Id: Ibb271e68ca2312cbd3d71bd64e2ed7963bf60b55
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
Add MID values in parrot header files. This MID values will help to know
which port got page fault in issue time.
Depends-on: 3882570
CRs-Fixed: 3081144
Change-Id: Ic59bc58b80d172128d26f8845649825a4cb53837
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
- Add fuse support for QCFA binning. If fuse bit is set then QCFA is
enabled then we should proceed for acquire otherwise we should fail.
- Add dt-bindings entry for CAM_CPAS_IPE_VID_OUT_8BPP_LIMIT_ENABLE
feature.
CRs-Fixed: 3081144
Change-Id: Iaf6f1c9d9fd442ff24c36d90758aa8ee146d461f
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
In current implementation of acquire logic, there are few
goto statements and nested if-else conditions.
This commit moves such code into small util functions to make
the code cleaner.
CRs-Fixed: 3092119
Change-Id: I5fcdaa3caa7b5e516419c255b1d103757ac71177
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
On PF based on the faulting client [IFE WR/SFE WR/SFE RD], invoke
the appropriate resource to dump it's info.
CRs-Fixed: 3079337
Change-Id: I0160fa9b29fca3991952370eb1fb37b667136bc4
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
As opposed to using internally defined enums for SFE fetch engines,
use UAPI defined ids for consistency with WM resources.
CRs-Fixed: 3079337
Change-Id: I569bae8b512e38de20112d0713b1c21cf4613a86
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Update pointer check to ensure there is no invalid access.
CRs-Fixed: 3079337
Change-Id: Ia569c5ccb077e0fb6385217a92b380e51b04d6f1
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Add provision to allow user to set vc-dt for rx pkt capture.
Allow user to decide if pkt strobes need to be reset to allow
for next packet capture. Change rx top half processing to only allow
set bits to be processed. Change rate limit log to info, if
user has enabled specific CSID IRQs, allow them to be logged
per frame.
[0:3] = rst strobes
[4:11] = vc for capture
[12:19] = dt for capture
echo <debug_val> > /sys/kernel/debug/camera_ife/ife_csid_rx_capture_debug.
CRs-Fixed: 3068993
Change-Id: I45d1db4fceba736fb03201786a8ae1e4af5b691f
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Fix the ipp, ppp and rdi bottom half handlers to safely
release the event payload when possible and add sanity
checks to prevent possible out of bound array index
access.
CRs-Fixed: 3067387
Change-Id: I93f73ae7239901eee19e2e5694a2c656390abc53
Signed-off-by: Jigar Agrawal <quic_jigar@quicinc.com>
1) There is one to one mapping for ppi index with phy index
but phy select is not always equal to phy number,for some
targets "phy_sel = phy_idx + 1", and for some targets it is
"phy_sel = phy_idx", ppi_index should be updated accordingly.
2) Updated to configure ppi cfg register as.
for cphy, disable dphy in config register.
for dphy, do nothing (both cphy and dphy will be selected).
then enable all lanes.
CRs-Fixed: 3057665
Change-Id: I1d5d66034a5563b5adcb8163acf9a668d10d4a19
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
Update ISP offline state machine, to ensure any IRQ scheduling
issues would not lead to complete stalling of the stream.
CRs-Fixed: 3068998
Change-Id: I116019e4963f93c28bcfb1f09c5278f478961a5d
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
Sometimes we already get all the buf done before the bubble
is detected, so we also need to handle the deferred buf done
when the bubble is detected, otherwise, the bubble request
can't be finished.
CRs-Fixed: 3066543
Change-Id: Ied46ad0a5efe3a7d8132bc9560ae3f35d69fee89
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
Due to interrupt delays, when VFE top processes the interrupt registers
it might see EPOCH and EOF of frame n along with SOF of frame n+1. The
current logic is based on IRQ controller priority and hence will report
SOF of frame n+1 before EPOCH of frame n. This can result in ISP context
reporting SOF timestamp of frame n+1 for both frame n and frame n+1.
In order to report the events in the order that they occurred, we
maintain a state machine in VFE top to keep track of the last seen
event. This helps detect any missing IRQs and also warn when such
interrupt delays are observed.
The state machine logic is only able to handle delays less than 1 frame.
For example, EPOCH of frame n+1 occurs before VFE top has read EPOCH of
frame n, there is no way to tell that this is the case from the
interrupt registers.
CRs-Fixed: 3067696
Change-Id: I061732c20ff23ca9394ae9844d50729476ad07b5
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
The reg upd and buf done irq may be got earlier
than the request is applied and before req is
added to wait req list, then these irq will
be dropped in current logic, then the req can't
be finished. This change stores the buf done as
deferred buf done in case of missing the buf done.
CRs-Fixed: 3063894
Change-Id: If0e2dbbc1ac033c13386ef06fda51736e4dbbf3b
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
We will get wrong rdi only flag if we don't reset the flag.
So this change resets the rdi only flag during stopping resource.
CRs-Fixed: 3069713
Change-Id: If06ea32c3f9b5dbfa2f71da1496577c31b67b8c8
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
In case SOF interrupt is not received by the camera driver, we can
recover the missing SOF timestamp for the frame at epoch using the
previous and current SOF timestamps from CSID.
CRs-Fixed: 3067696
Change-Id: I25c8596132b99829d04ea38dbd3d904fc2a302c2
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
RDI0-2 clients are used in conjunction with fetch engine for
sHDR/FS enable line done for these clients. As opposed to
using WM index to enable this, update header to indicate
that this has to enabled for select clients.
CRs-Fixed: 3068277
Change-Id: I7ce4cbbddc9eb11174a39c4df93bc82e5413317f
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>