Commit Graph

3569 Commits

Author SHA1 Message Date
Ayush Kumar
9589fe933e msm: camera: isp: Write Reg update cmd for slave in SDHR
This commit add support to write reg update command for slave TFE
RDIs in SHDR use case. HW sync is not applicable for RDIs. Slave and
Master TFEs should program reg update command for separately for RDIs.

CRs-Fixed: 3564213
Change-Id: I2775139acad8e95ae21d479a14392d4a13a03595
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2024-01-12 00:56:41 -08:00
Ayush Kumar
a3fbf12cee msm: camera: isp: Enable format measure for PPP path with debugfs
This commit enable format measure for PPP path in TFE CSID with
debugfs.

CRs-Fixed: 3599715
Change-Id: Icb13d0b7451dda5bc2af18d65270e77b2b35a90b
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2024-01-12 00:56:30 -08:00
Ayush Kumar
c330429f97 msm: camera: isp: Enable format measure in TFE HW
This commit enables format measure block in ipp, ppp and
all RDIs path.

CRs-Fixed: 3593650
Change-Id: I133849ae0e6fdef3b96e04061437f3fdb5e0ce2a
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2024-01-12 00:56:20 -08:00
Ayush Kumar
490d086f78 msm: camera: isp: Drop initial few frames in TFE CSID
Add support to discard initial number of frames for all paths
at CSID input. The number of frames to discard is obtained
from userland in blob config.

CRs-Fixed: 3603614
Change-Id: Ifff5f6013ae37ab54154c092571f2b40d51fa849
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2024-01-12 00:56:10 -08:00
Ayush Kumar
0596afdca5 msm: camera: isp: Correct BL type CDM BL cmd for TFE
This commit adds BL type for the BL Command to be enqueued to CDM.

CRs-Fixed: 3622248
Change-Id: I1aa4ae7cb24a373a32990f2bb7cd4f7da2134093
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2024-01-12 00:56:00 -08:00
Ayush Kumar
1351783c95 msm: camera: isp: Stop handling error IRQs after HW stop
This commit adds logic to stop handling any error IRQs from
TFE core just before stopping TFE HW.

CRs-Fixed: 3602162
Change-Id: Ibbdc08ace20cc3e426d2a614020fdf2ee5b13cd2
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2024-01-12 00:55:20 -08:00
Yash Upadhyay
591ceb5d38 msm: camera: isp: Handling IRQ delay from CDM in tfe
In scheduling delays or race conditions, it has been observed that
cookie value and the request id in userdata returned from CDM
do not match. This can happen due to CDM worker threads getting
delayed. Userdata attached with the CDM is the pointer in the
request. By the time, the cdm callback is received there is a
possibility that the request data has been reset and that request
node being re-used for another request. This can cause issues
particularly in race conditions.
To handle the condition, this commit associates the userdata and
with the context. Also, while submitting the request, the request
id is saved with context, which can be compared during the cdm
callback.

CRs-Fixed: 3287574
Change-Id: I836f536f4bf1040de3c4bf7168e3ef96dc3000bf
Signed-off-by: Yash Upadhyay <quic_yupadhya@quicinc.com>
2024-01-12 00:55:07 -08:00
Yash Upadhyay
419797f633 msm: camera: icp: Dumping icp clocks in error case
Dumping both ipe and bps clocks in case of frame process
failure. Added generic utility function to dump any hw's
clocks.

CRs-Fixed: 3297488
Change-Id: Ia952696b0288361bffaeadfd53041c72fd21f96d
Signed-off-by: Yash Upadhyay <quic_yupadhya@quicinc.com>
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
2024-01-11 23:01:27 -08:00
Abhilash Kumar
1770bf062d msm: camera: tfe: Fix errors found in KW static code analysis tool
This change fixes errors in TFE identified while running the KW static
static code analysis tool.
- The in_port member in struct cam_tfe_top_hw_info if filled incorrectly
  may lead to out of bounds access in cam_tfe_top_init.
- The reg_val_pair variable may be used uninitialized in function
  cam_tfe_top_get_reg_update.

CRs-Fixed: 3522596
Change-Id: I48c9caccaeebea3a8c6c2a12b48e5a21ba8030d5
Signed-off-by: Abhilash Kumar <quic_krabhi@quicinc.com>
2024-01-11 11:17:08 +05:30
Camera Software Integration
82d5f92463 Merge "msm: camera: tfe: Update csid init hw failure call flow" into camera-kernel.lnx.7.0 2024-01-10 07:35:47 -08:00
Camera Software Integration
d37cd292ea Merge "msm: camera: req_mgr: Correct slot status on mode update" into camera-kernel.lnx.7.0 2024-01-10 07:35:30 -08:00
Camera Software Integration
4e36d515e7 Merge "msm: camera: tfe: Fix several issues involving access violation in TFE" into camera-kernel.lnx.7.0 2024-01-10 07:35:14 -08:00
Camera Software Integration
09cbf9c5d3 Merge "msm: camera: isp: Update stride of PDAF Clients" into camera-kernel.lnx.7.0 2024-01-10 07:35:03 -08:00
Camera Software Integration
2608e6c1b9 Merge "msm: camera: isp: Do report bubble if req applied after SOF" into camera-kernel.lnx.7.0 2024-01-10 07:34:52 -08:00
Camera Software Integration
1714ab5b43 Merge "msm: camera: tfe: Handle acquire pdaf resources in PDAF type3 usecase" into camera-kernel.lnx.7.0 2024-01-07 23:41:48 -08:00
Camera Software Integration
65e377a279 Merge "msm: camera: isp: Support TFE WM configuration update" into camera-kernel.lnx.7.0 2024-01-07 23:41:40 -08:00
Camera Software Integration
8770857761 Merge "msm: camera: isp: Buffer alignment support for TFE WM" into camera-kernel.lnx.7.0 2024-01-07 23:41:01 -08:00
Camera Software Integration
4340f06c94 Merge "msm: camera: tfe: Handle overflow internal recovery" into camera-kernel.lnx.7.0 2024-01-07 23:40:53 -08:00
Camera Software Integration
698290dae8 Merge "msm: camera: isp: Disable TFE WM clients dynamically" into camera-kernel.lnx.7.0 2024-01-07 23:40:46 -08:00
Camera Software Integration
6f76aa4f18 Merge "msm: camera: isp: Program dual tfe settings in shdr" into camera-kernel.lnx.7.0 2024-01-07 23:40:08 -08:00
Camera Software Integration
f843f51465 Merge "msm: camera: common: Fix compilation issue in bazel build for volcano" into camera-kernel.lnx.7.0 2024-01-07 23:39:45 -08:00
Camera Software Integration
0f6aacc882 Merge "Revert "Revert "msm: camera: enable TFE compilation on Lanai""" into camera-kernel.lnx.7.0 2024-01-07 23:39:24 -08:00
Karthik Dillibabu
4e9c1eec97 msm: camera: tfe: No Camera and Limited Camera Support
This change updates the number of TFEs and TFE-LITEs
in the sysfs entry (subparts_info).

CRs-Fixed: 3605161
Change-Id: Iff6e79a7764b14b1f368f215020617f10dbd4bb5
Signed-off-by: Karthik Dillibabu <quic_kard@quicinc.com>
2024-01-04 17:39:34 +05:30
Shivakumar Malke
649a47d850 msm: camera: memmgr: fix null-ptr-deref in mem_mgr_deinit
In low memory condition, cam_mem_mgr_init can fail after
cam_mem_mgr_state is set to initialize. Since the state is
initialized, subsequent init call return success without
initializing the mem table. So, when cam_mem_mgr_deinit is
called, writing to tbl.bitmap will cause a null ptr derefernce.

This change fixes this issue by setting cam_mem_state to
uninitialize when cam_mem_mgr_init fails.

CRs-Fixed: 3671639
Change-Id: Ie3554bcbbfe10320e5278650c4dd912edd568a10
Signed-off-by: Shivakumar Malke <quic_smalke@quicinc.com>
(cherry picked from commit c655b11b9c6d413748d339ad735837d868b85976)
2024-01-03 22:41:11 -08:00
Camera Software Integration
35ce7ba5f2 Merge "msm: camera: isp: Add support for error inject framework in TFE" into camera-kernel.lnx.7.0 2024-01-03 05:34:32 -08:00
Camera Software Integration
76dfa04d50 Merge "msm: camera: tfe: Add support for epoch blob in TFE HW" into camera-kernel.lnx.7.0 2024-01-03 05:34:24 -08:00
Camera Software Integration
2c59aec37f Merge "msm: camera: tfe: Add support for auto SHDR" into camera-kernel.lnx.7.0 2024-01-03 05:34:07 -08:00
Camera Software Integration
b23f7c2fae Merge "msm: camera: cpas: Update QOS value for camera" into camera-kernel.lnx.7.0 2024-01-03 05:33:53 -08:00
Camera Software Integration
4e3d3dd2a3 Merge "msm: camera: isp: Fix logic to get correct mid on page fault" into camera-kernel.lnx.7.0 2024-01-03 05:33:05 -08:00
Karthik Dillibabu
db6a18ad89 msm: camera: isp: Acquire correct IFE & SFE
This change helps to make sure correct IFE & SFE
acquired on some qultivate devices. For example, if
SFE0 is faulty then IFE1 & SFE1 will be acquired.

CRs-Fixed: 3690457
Change-Id: I4200d283e05ec62c9cef968f35e0bc58f9f85290
Signed-off-by: Karthik Dillibabu <quic_kard@quicinc.com>
2024-01-03 17:08:27 +05:30
Linux Build Service Account
5908a178be Merge ef21140fd3 on remote branch
Change-Id: Ieebc0ecc5782bf18734a6355d51676c26a4fad6f
2024-01-03 03:04:05 -08:00
Sridhar Gujje
60f5a19116 Revert "Revert "msm: camera: enable TFE compilation on Lanai""
This reverts commit 4443998313.

Change-Id: I204e17d85473ad8c9bdc12ed494f568ee0d70394
Signed-off-by: Sridhar Gujje <quic_sgujje@quicinc.com>
2024-01-02 22:43:42 -08:00
Sridhar Gujje
3fd0b95803 Merge "Revert "msm: camera: enable TFE compilation on Lanai"" into camera-kernel.lnx.7.0 2024-01-02 22:43:27 -08:00
Sridhar Gujje
4443998313 Revert "msm: camera: enable TFE compilation on Lanai"
This reverts commit bdcbaa0573.

Change-Id: I1fff7c0caf4698069d24b459480dc935b7cbc72d
Signed-off-by: Sridhar Gujje <quic_sgujje@quicinc.com>
2024-01-02 22:42:10 -08:00
Alok Chauhan
2b76fe8448 msm: camera: common: Fix compilation issue in bazel build for volcano
Fix compilation issue for mmrm dependencies in bazel build for
volcano target.

CRs-Fixed: 3696470
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
Change-Id: I7635cb7981a2ba5660e3465fb6be188a44df3ad8
2024-01-02 16:35:12 +05:30
Camera Software Integration
c3fe503c56 Merge "msm: camera: tfe: fixes for OOB and null ptr issues" into camera-kernel.lnx.7.0 2023-12-28 08:15:05 -08:00
Camera Software Integration
de1e39368b Merge "msm: camera: enable TFE compilation on Lanai" into camera-kernel.lnx.7.0 2023-12-28 08:14:57 -08:00
Camera Software Integration
ef21140fd3 Merge "msm: camera: sensor: Duplicate sensor changes" into camera-kernel.lnx.7.0 2023-12-25 19:44:48 -08:00
Yash Upadhyay
98b7ec9dab msm: camera: cpas: Enabling ICP clk for qchannel
Enabling ICP clk for qchannel handshake for crow and parrot.

CRs-Fixed: 3609701
Change-Id: I65bc4ac6df3f0bf441b5f101d083c1c9a8ac36da
Signed-off-by: Yash Upadhyay <quic_yupadhya@quicinc.com>
(cherry picked from commit 57a33bcc0b551e9bddccef4f0406f4436922a47a)
2023-12-20 12:48:19 +05:30
Camera Software Integration
d073f8c8d6 Merge "msm: camera: cci: Check if cci_info structure pointer is NULL" into camera-kernel.lnx.7.0 2023-12-19 21:56:47 -08:00
Alok Chauhan
ee457cc90c msm: camera: cpas: Update QOS value for camera
Updating correct QOS values for Camera CDM port
based on HW recommendation.

CRs-Fixed: 3546181
Change-Id: I5f1721e03e6e6e6ae7871df2db4f294f0bfd5d28
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
(cherry picked from commit 4fefd334d62305a928349d336df6e3c1492c88b9)
2023-12-19 01:55:07 -08:00
Shravya Samala
0adfb8e51c msm: camera: tfe: Update csid init hw failure call flow
When csid init hw failure is seen due to any reason
dont call disable hw. As part of init hw failure
denint hw gets called and disable hw is taken care.
In case if disable hw is called during init hw,
it disables soc resources and when disable hw
gets called again during deinit hw, will land
into NOC errors while accessing registers with soc
resources disabled.

CRs-Fixed: 3577353
Change-Id: I65e05f748684c5b38852bd52ed51799918cb427f
Signed-off-by: Shravya Samala <quic_shravyas@quicinc.com>
2023-12-19 01:54:27 -08:00
Ayush Kumar
ee10bad9a9 msm: camera: req_mgr: Correct slot status on mode update
CRM pd tbl dev mask need to be updated on mode switch in Auto SHDR,
so that the mode switch request and subsequent requests or slot should
be in ready state if request is submitted by all expected device
in a link. Also enabled error bit related to shdr mode switch in tfe.
Query dev info from CRM to ISP again on activate link call to know if
usecase is SHDR and to identify master and slave context.

CRs-Fixed: 3555900
Change-Id: Ie3ce093a453cda4bb5a9d8ddd31b4c8d2b2a69ed
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2023-12-19 01:53:58 -08:00
Abhilash Kumar
06afbd12b3 msm: camera: tfe: Fix several issues involving access violation in TFE
This change fixes issues involving out-of-bounds, uninitialized access and
NULL pointer dereference.
Out-of-bounds access issue was present in cam_tfe_mgr_get_hw_caps_v2 as
address of pointer was passed to copy_to_user instead of the pointer.
Uninitialized data access with query_isp as it was not initialized before
being passed to copy_to_user in cam_tfe_mgr_get_hw_caps.
NULL pointer dereference in cam_tfe_process_cmd as in case of invalid
argument there was an attempt to print the TFE core index.

CRs-Fixed: 3555879
Change-Id: Ib706eea896a04e1d4e9612e4e763b674c4256e77
Signed-off-by: Abhilash Kumar <quic_krabhi@quicinc.com>
2023-12-19 01:53:47 -08:00
Ayush Kumar
65c99f19c8 msm: camera: isp: Update stride of PDAF Clients
For PDAF Clients, userspace can allocate a bigger buffer than
the WM Client configuration, in this case stride of the Client
should be updated properly to get proper data from WM Client.

CRs-Fixed: 3555900
Change-Id: Ie2b369b59a14f19100932d912167537cab266e0d
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2023-12-19 01:53:38 -08:00
Ayush Kumar
8c722daea7 msm: camera: isp: Do report bubble if req applied after SOF
For legacy SHDR, report bubble even if request is applied
after SOF so that both master and slave context goes to
bubble state in legacy SHDR or SHDR without SFE target.

CRs-Fixed: 3555900
Change-Id: I64e38d14ba3472fa1d298882d6b09a2f14e0d576
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2023-12-19 01:53:28 -08:00
Alok Chauhan
5891dc325a msm: camera: tfe: Handle acquire pdaf resources in PDAF type3 usecase
In Type3 usecase, PDAF ports can come as part of IPP config. This will
cause failure during out pdaf acquire resources.

Handle PDAF ports acquire during this usecase as pdlib resource.

CRs-Fixed: 3546181
Change-Id: I9d42e499c87961f5ceec995245e6b599d6015de7
Signed-off-by: Alok Chauhan <quic_alokc@quicinc.com>
2023-12-19 01:53:19 -08:00
Ayush Kumar
c5dae62d39 msm: camera: isp: Support TFE WM configuration update
This chages is to support blob to update TFE WM dimensions.
This is required as 3A lib allocates max buffer for pdaf ports
but per request dimension can differ from buffer dimension.

CRs-Fixed: 3546181
Change-Id: I98bffa9ef00a7fa2bb543cb0c89f7920ed6780c5
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2023-12-19 01:52:58 -08:00
Ayush Kumar
bfbfc5d3d4 msm: camera: isp: Buffer alignment support for TFE WM
This change is added to support buffer alignment for TFE
WM in x and y axis. This change is required in SHDR usecase to
align short exposure frame with long exposure frame.

CRs-Fixed: 3538642
Change-Id: I9a3d35d0884bfbd6f62034b207e5784fdf2f7430
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2023-12-19 01:52:40 -08:00
Pranav Sanwal
fe4bd2e6a1 msm: camera: tfe: Handle overflow internal recovery
Handle internal recovery in case of csid and bus overflow.
Handle frame size error detection for pixel and line count
mismatch as fatal errors.
Fixed csid side error reproting to hw_mgr layer.

CRs-Fixed: 3532076
Change-Id: Id4f572caf6774797396d70d7a20a4f54fc1b9ea9
Signed-off-by: Pranav Sanwal <quic_psanwal@quicinc.com>
2023-12-19 01:52:13 -08:00