Number of CCI masters index validation to avoid
out of bound array indices access.
CRs-Fixed: 3381768
Change-Id: I14d4a111cc5c7dab17d071446cddccd7651389a3
Signed-off-by: Abhilash Mahapatra <quic_abhmah@quicinc.com>
This change fixes some VA_UNUSED.GEN and MLK.MIGHT issues reported
by KW analysis tool. In addition to a functional fix related to
handle_type not being assigned properly.
CRs-Fixed: 3394193
Change-Id: Id28a06f3a65c639c0968dd1858d16a547f4d4959
Signed-off-by: Atiya Kailany <quic_akailany@quicinc.com>
This change removes some unused variables,
tnis fixes issues related to VA_UNUSED.GEN
reported by KW analysis tool.
CRs-Fixed: 3394193
Change-Id: I456485d06cac6e9d66ea67fed01c8ae0e44e8f68
Signed-off-by: Atiya Kailany <quic_akailany@quicinc.com>
Add OFE AXI path data type to string translations.
Add OFE data path Macros to be used in DTSI.
CRs-Fixed: 3375045
Change-Id: Ia7bc06869c771c34888ee141a53da2c060c6b162
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
When streaming off, issue a reset and then maskout all CSID
IRQs together as opposed to manipulating the mask bit by bit.
There is no atomic way to maskout all IRQs, in the process of
masking out IRQ bits an IRQ could still fire. This change ensures
we maskout the IRQs in a clean way post that unsubscribe for
those events from the IRQ controller. The change also ensures
the rx input is cut off prior to issuing a SW reset, this is
to rule out any spurious activity in HW caused due to incoming
data. At the time of the SW reset we are certain, we are not
in the middle of processing frames.
CRs-Fixed: 3336496
Change-Id: I1f714d290d31bb744809b2df9e2a4245b59641fe
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
This change enables FW ramdump by default, can be disabled
by using icp debugfs.
CRs-Fixed: 3393159
Change-Id: I8e66fe1f8ddba935bb27b6ee72ea36f38b384bf3
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Monitor sync object operations such as create, register callback,
signal, unregister callback which is useful in debugging. Introduce
debugfs to dynamically set the monitor mask. Apply dump on error
when CAM_GENERIC_FENCE_TYPE_xx is set in cam_sync_monitor_mask and
apply dump on release when CAM_GENERIC_FENCE_TYPE_xx_DUMP is also set
at the same time. Apply dynamic memory allocation for monitor data
in synx and dma. Refactor APIs into generic ones and add memory
checkings.
CRs-Fixed: 3350863
Change-Id: I70cfdc1215be5f6bf564c672a874e6ba7997cdfa
Signed-off-by: Pavan Kumar Chilamkurthi <quic_pchilamk@quicinc.com>
Signed-off-by: Haochen Yang <quic_haocyang@quicinc.com>
Problem Description:
Missing context details in logs and mapping of
hw_mgr context id with isp context id during acquire.
Solution:
Add context id and link handle in ife_hw_mgr and isp_context
files. Add hw_id in csid, vfe top and vfe bus files. Also
add hw_mgr context id in isp_context file to map ISP context
with IFE hw mgr context during acquire, for better debuggability.
CRs-Fixed: 3354324
Change-Id: I455d5a6a5d6ec892899f6f84d73459faab0ceef2
Signed-off-by: Stuti Saxena <quic_stutsaxe@quicinc.com>
Configuring sensor pd to 1 for hfr usecase, then the setting
of sensor can reflect on next batch.
CRs-Fixed: 3376953
Change-Id: I4a78e087aec0e46f78f40ae8c37f1086125558de
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
Get svs clock rate from IPE hw for ICP that controls IPE and
svs clock rate from OFE hw for ICP that controls OFE. If neither
IPE or OFE HW exists, it logs error and bails out.
CRs-Fixed: 3367277
Change-Id: I9834843a407e575af46ece0b482306f089a3e25d
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
Change aon_camera_id to uint32 to read correct value from dtsi
Since more than one aon cameras are present.
CRs-Fixed: 3355901
Change-Id: I2a7723fa5b4f6c3a9a27d7119bdab2c65c4e620d
Signed-off-by: Ridhi Shah <quic_ridhshah@quicinc.com>
The current secure camera implementation suffers with a few
issues in terms of typecasting, error handling and in
populating the information in the right data structures when
the new SCM API is used on the targets without domain ID support.
In addition, we needed to be explicit in failing to acquire
if dual IFE is required in secure camera use cases as it is
not a supported feature as of now.
CRs-Fixed: 3317248
Change-Id: Idb762158b0ff0e0a0d6d51de4770fc3d9d9072c8
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
Avoid resetting the registers before halting the pipeline
to make sure that the invalid domain ID is not used for
pending bus transactions.
CRs-Fixed: 3377014
Change-Id: I417c8be54dd24d628b45cac7c5bc1ae4fbb8fc97
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
Adds support for new mink call to configure secure
camera sessions. This new mink call takes in additional
parameters to support the new domain-id based
security scheme. The additional parameters are in the
form of csid_hw_idx_mask, cdm_hw_idx_mask and
vc_mask. These are in addition to the existing PHY idx
and CPHY/DPHY lanes info.
The introduction of this new mink call deprecates the
existing SCM call used to service secure camera sessions.
What this means is that on all subsequent versions of this
driver, all secure camera sessions will be serviced by this
mink call, which is able to accommodate older and newer targets,
and their programming of different register sets.
This design enables the cam_csiphy_notify_secure_mode
wrapper to remain the same, with the underlying mink call
made in the cam_compat layer, depending on camera driver
version.
CRs-Fixed: 3317248
Change-Id: I05511f4380ce5467b104675c07c9c8faa5318af8
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
Mode switch delay is an inherent property of a sensor.
Similarly IFE has a static switch delay of 1. For sensors
with switch delay > 1 need special handling on certain
occasions. It is possible that switch settings was applied
to sensor, and on the next frame if there is a flash inject
delay or a packet delay, sensor & IFE are bound to go out of sync.
To address such cases, IFE will decide if it needs to apply
MUP on a dropped frame or not, along with any corresponding
IQ settings.
CRs-Fixed: 3320774
Change-Id: I355fa0f8b767d44bd3fb87c91b3cbf56fb9c3933
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
If there is a genuine bubble followed by an out of sync,
handle bubble once. If the out of sync continues to happen,
try for internal recovery.
CRs-Fixed: 3336466
Change-Id: Ib697ac1b8907459d06313a9f301cb00a480bd858
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
If active/wait request lists are empty resume internal recovery
from the first request in the pending list.
CRs-Fixed: 3317349
Change-Id: Ib708d696065e2dc81deb1d27687d7afd191b0838
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
In current targets composite groups are statically mapped
to vfe output ports but still we assign them everytime we acquire
the device, here we map comp_grp to vfe_out_port while vfe_out_init
this will render use of list for used and free_comp_grp useless
thereby saving memory and time as we need not acquire comp_grp
on every acquire and release on every release.This also fixes a
memory leak in sfe deinit.
CRs-Fixed: 3321317
Change-Id: I8f4da9e1fd25b123e0081fdefa5ab99e0758c6b3
Signed-off-by: Ashish Bhimanpalliwar <quic_abhiman@quicinc.com>
This change is to validate session and device handle.
Also, checks whether the device handle belongs to
correct session handle or not.
CRs-Fixed: 3350595
Change-Id: If1e06607ccaa99d3288ddca6a263d54315b14caa
Signed-off-by: Karthik Dillibabu <quic_kard@quicinc.com>
Fix a compilation error that occurs if CONFIG_CAM_TEST_IRQ_LINE flag
is enabled.
CRs-Fixed: 3366261
Change-Id: I83ef05bb51fe74e669dbcd6315ce916e9cf5c14a
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
When allocating FW uncached region the output structure has
a few unused fields, initialize them to 0.
CRs-Fixed: 3366228
Change-Id: I9b5b122a5f80c127c0eb8b707fda2323e59bec97
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Fill out ICP v2 query cap request from UMD based on v2 query
cap structure. With the query cap info, UMD can know which HW
devices (IPE/BPS/OFE/...) supported by the ICP v4l2 device.
CRs-Fixed: 3364226
Change-Id: I775f6248a4971b47eb7f832e2e6b6b3d3ab9952e
Signed-off-by: Petar Ivanov <quic_pivanov@quicinc.com>
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
The change updates new query cap v2 structure for ICP
to relay new HW related info to userland. The new query
cap structure provides detailed info on the HW cores being
supported and handled for each instance of the ICP driver.
The change also adds provision to obtain hw fence info as part
of query caps.
CRs-Fixed: 3374291
Change-Id: Iebd80bd87a495887b09296a09bea36c3690b9f92
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Add switch case to handle query cap v2 ioctl, and add query cap
v2 hw mgr intf function pointer to handle query cap v2.
CRs-Fixed: 3364267
Change-Id: I1f992982f8d06755c977839ee61ee450306d65a5
Signed-off-by: Petar Ivanov <quic_pivanov@quicinc.com>
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
Problem Description:
For Spectra880, SFE pxl pipeline is getting bypass for FS use-case.
Solution:
For Spectra880, Don't Bypass the SFE pxl pipeline for FS use-case.
Prior to Spectra880 the entire SFE pxl pipeline was bypassed for FS
use-case.
CRs-Fixed: 3376488
Change-Id: Ib7b060e12ec34e733929cf002c5cda6a55cc58b3
Signed-off-by: Chandan Kumar Jha <quic_cjha@quicinc.com>
Update CSIPHY header for SM8650.
CRs-Fixed: 3335789
Change-Id: I79fed4330cd36e2b1464b9d5667678187a163cd1
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
camera-kernel:
3e2a39f Merge "msm: camera: isp: Dump sfe bus info when handling sfe hw err" into camera-kernel.lnx.dev
8a59ef5 Merge "msm: camera: isp: Add support for SFE bus mini dump" into camera-kernel.lnx.dev
3cc484d Merge "msm: camera: sensor: Clock change for init settings" into camera-kernel.lnx.dev
50f9e3f Merge "msm: camera: sensor: Removing some dead code" into camera-kernel.lnx.dev.
Change-Id: I94ebe9a2cec4bf27d9680771ef768f38ad32b6f3
Signed-off-by: Savita Patted <quic_spatted@quicinc.com>
Removing some dead code, the power info and
soc private are never used after assignment.
CRs-Fixed: 3376960
Change-Id: I0038cad043ea53ffd18d711f338e094ff0f919cc
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
This change allows the tpg clock configuration to be directly picked
up from the get_tpg_clk_level function.
CRs-Fixed: 3376775.
Change-Id: I9a9ef232fd7f0c79c3f6683dc7838555dd02e3f2
Signed-off-by: Shivi Mangal <quic_smangal@quicinc.com>
Dump sfe bus info when handling sfe hw err.
CRs-Fixed: 3334217
Change-Id: Ibdde623ccf42d5213f2865695efaa64fa14536ac
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
This change Adds support for SFE bus info dump while mini_dump.
CRs-Fixed: 3334217
Change-Id: Ie7072880ce8c962656c5755f0fb375d674b84684
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
This change allows the tpg hw register configurations to be directly
programmed from the tpg xml file. The regsettings array can be configured
with the right configurations for the required mode, if regsettings are
not provided in regsettings array. The settings are derived from the
stream configurations and global configurations.
CRs-Fixed: 3289930.
Change-Id: If44678475986efc0f26c334f5db4f9c59cd6873b
Signed-off-by: Shivi Mangal <quic_smangal@quicinc.com>
Modifying the info/error/dbg logs in hw mgr, context and hfi
layers to spit out relevant info to determine which ICP device
is running the execution.
Change type defination of hw_dev_type to enum in local instances in
functions and the field of hw ctx struct.
CRs-Fixed: 3361905
Change-Id: Ib50208eaf243c50678d07845461c750b36d19bf9
Signed-off-by: Petar Ivanov <quic_pivanov@quicinc.com>
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>