Add the null check for dev parameter before reporting the error on
link. Certain corner scenario for flash, send request return native
value in that case dev parameter could be null.
CRs-Fixed: 2814597
Change-Id: Ibe08f12c2f2c1864c46b17b0ae0f8df5c5648d35
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
In cases where we see a buf done without request being in
active_list, there could be a possibility that the request
is applied just before SOF, RUP but the context state is
not moved to Applied state, at this time the request is in
wait_list. In such cases RUP event doesn't move the request
into active_list. Also if the BUF_DONE on a port is happening
before EPOCH, we simply drop that BUF_DONE and then the request
will eventually be tagged as BUBBLE at the time of EPOCH. But
since BUF_DONE is dropped, the request will never come out of
BUBBLE. To handle such cases and to come out of BUBBLE,
check if BUF_DONE matches with the request in wait_list by
checking last_consumed address and if so, mark it as deferred
buf_done and handle once the request is moved to active_list.
CRs-Fixed: 2814346
Change-Id: I778a6a684076d5327d536f319a23206ccc0c25b6
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
Re-apply bubble request if buf done has not come for 2 bubble frames.
Also before re-submitting the request to CDM check if CDM callback for that
request has come or not, if CDM callback is received then wait for buf
done else reset CDM and re-submit the request to CDM.
CRs-Fixed: 2807378
Change-Id: I1fd209482e14d58aa48d12194084d0a2ab943e31
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
When we do flash operation in SHDR usecase, the
trigger count will mismatch if we don't pass
trigger id to CRM.
CRs-Fixed: 2813321
Change-Id: Ic557f1122f8698f987d249fe1d15e35b90326e1d
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
Currently, in case of violation on camif side, we initiate hw dump
with event info havinf input resource id. This resource id is not
applicable on vfe bus side. Add necessary check to ensure only valid
vfe out resource info is dumped.
CRs-Fixed: 2814398
Change-Id: Ifc7bac81e7a4d9993e1492b609b84d64ea3fd1f4
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Add support for bubble handling in custom driver allowing
the custom block to re-apply bubbled request in sync with IFE.
CRs-Fixed: 2805278
Change-Id: I411d033f2470de3fab7587c7c019a933bda28020
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
When QCFA binning is enabled adjust MP limit fuse checking
to check actual proessing width for IFE.
CRs-Fixed: 2808086
Change-Id: I22af38ba36ad84372699a177c203c1acbae76cb9
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
Remove the sof log in CSID irq handler and handle it in the
Bottom half.Sof irq enabled during the sof freeze scenario
and sof log getting printed in the irq handler causing the
interrupt handling taking more time.
CRs-Fixed: 2804588
Change-Id: I9514bf79333665dcd9407932789ce00c4ed480d8
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
Fixes the null pointer dereference in the print dimension function.
CRs-Fixed: 2809214
Change-Id: I6467f183cca9f665c89f1a418b320cd55be7700a
Signed-off-by: Anand Ravi <ananravi@codeaurora.org>
Tfe sensor diag feature is not enabled properly. Enable
the diag feature based on the debug fs value. Log the
tfe measured sensor diag status for camif and rdi paths.
Enable the tfe diag status with below command
adb shell "echo 0x1 > /sys/kernel/debug/camera_ife/tfe_camif_debug".
CRs-Fixed: 2810952
Change-Id: I47cd57e38a38010fb7fba048c35e907e1980b797
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
If IFE is connected to custom HW in the pipeline, make the cdm
submit a blocking call to ensure settings are programmed to IFE
on time.
CRs-Fixed: 2805278
Change-Id: Ia0d771a0f875a3b41c67eef496a96461c579dac0
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
In case of dual, acquire IFEs from a higher to lower idx.
The IFE with the higher hw_idx will be configured as slave.
CRs-Fixed: 2805265
Change-Id: I35e3af84e2ac6586056e6d74373642a85e5c797a
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
If ife bandwidth number of paths configuration is zero then do not
proceed. Number of bandwidth paths should be minimum one and
should not be greater than max value.
CRs-Fixed: 2801769
Change-Id: I2bf5cd4ea76ca7ecd9ca968bced2957a76691001
Signed-off-by: Ayush Kumar <ayushkr@codeaurora.org>
During destroying the session, sof freeze timeout happens
after destroying workqueue. Then sof freeze timeout callback
will access workqueue causing use after free memory issue.
This change invokes destroying timer prior to workqueue.
CRs-Fixed: 2807936
Change-Id: I1f0dcb7a03fbf802f4ec872727e3b627a78f56f8
Signed-off-by: zhuo <zhuo@codeaurora.org>
Fix the callback arguments in IFE to avoid the CFI
check failure. A few callbacks invokes do not typecast for
the last argument of the event callback. Since callbacks
are indirect function call, CFI check for this will fail.
CRs-Fixed: 2807933
Change-Id: I4e72cf07de701bbfd8f7d7829207256918beeb4c
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
In the case of workqueue congestion move the skip frame logs to
rate info limit.
CRs-Fixed: 2800932
Change-Id: I96988ff73ae182d55eb3f3d15de9b02f13c34b39
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
The iommu domain we grab from iommu_get_domain_for_dev can
be NULL. Eventually we will hit a NULL dereference in the
cam_smmu_alloc_firmware due to the missing check. Modify the
existing check to account for the possiblity of a NULL
domain and bail early.
CRs-Fixed: 2804766
Change-Id: I201260c3559b847cfb0bf7f85226816af148671d
Signed-off-by: Fernando Pacheco <fpacheco@codeaurora.org>