Skip to content

Commit 831b45c

Browse files
committed
msm: camera: uapi: new structure for SAT frame sync
New SAT SW frame sync requirement needs support 3 or 4 concurrent cameras working at the same time. Only 2 cameras crrently supported. Change adds new structure to support more than 2 camera scenario, using dynamic array to avoid changing when extend cameras. CRs-Fixed: 4277139 Change-Id: I8298f6ca1ecd6973875bfe0e62fa924b177401a7 Signed-off-by: Chandan Kumar Jha <cjha@qti.qualcomm.com>
1 parent ed0c90f commit 831b45c

1 file changed

Lines changed: 35 additions & 2 deletions

File tree

camera/include/uapi/camera/media/cam_req_mgr.h

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
22
/*
33
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
4-
* Copyright (c) 2022-2024, Qualcomm Innovation Center, Inc. All rights reserved.
54
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
65
*/
76

@@ -49,7 +48,7 @@
4948
*/
5049
#define CAM_REQ_MGR_MAX_HANDLES 64
5150
#define CAM_REQ_MGR_MAX_HANDLES_V2 256
52-
#define MAX_LINKS_PER_SESSION 4
51+
#define MAX_LINKS_PER_SESSION 2
5352

5453
/* Interval for cam_info_rate_limit_custom() */
5554
#define CAM_RATE_LIMIT_INTERVAL_5SEC 5
@@ -251,6 +250,39 @@ struct cam_req_mgr_sched_request_v2 {
251250
__s32 params[5];
252251
};
253252

253+
/** struct cam_req_mgr_sched_request_v3
254+
* @version: Version number
255+
* @session_hdl: Input param - Identifier for CSL session
256+
* @link_hdl: Input Param -Identifier for link including itself.
257+
* @bubble_enable: Input Param - Cam req mgr will do bubble recovery if this
258+
* flag is set.
259+
* @sync_mode: Type of Sync mode for this request
260+
* @additional_timeout: Additional timeout value (in ms) associated with
261+
* this request. This value needs to be 0 in cases where long exposure is
262+
* not configured for the sensor.The max timeout that will be supported
263+
* is 50000 ms
264+
* @num_links: Input Param - Num of links for sync
265+
* @num_valid_params: Number of valid params
266+
* @req_id: Input Param - Request Id from which all requests will be flushed
267+
* @param_mask: mask to indicate what the parameters are
268+
* @params: parameters passed from user space
269+
* @link_hdls: Input Param - Array of link handles to be for sync
270+
*/
271+
struct cam_req_mgr_sched_request_v3 {
272+
__s32 version;
273+
__s32 session_hdl;
274+
__s32 link_hdl;
275+
__s32 bubble_enable;
276+
__s32 sync_mode;
277+
__s32 additional_timeout;
278+
__s32 num_links;
279+
__s32 num_valid_params;
280+
__s64 req_id;
281+
__s32 param_mask;
282+
__s32 params[5];
283+
__s32 link_hdls[];
284+
};
285+
254286
/**
255287
* struct cam_req_mgr_sync_mode
256288
* @session_hdl: Input param - Identifier for CSL session
@@ -352,6 +384,7 @@ struct cam_req_mgr_link_properties {
352384
#define CAM_REQ_MGR_MAP_BUF_V2 (CAM_COMMON_OPCODE_MAX + 19)
353385
#define CAM_REQ_MGR_MEM_CPU_ACCESS_OP (CAM_COMMON_OPCODE_MAX + 20)
354386
#define CAM_REQ_MGR_QUERY_CAP (CAM_COMMON_OPCODE_MAX + 21)
387+
#define CAM_REQ_MGR_SCHED_REQ_V3 (CAM_COMMON_OPCODE_MAX + 22)
355388

356389
/* end of cam_req_mgr opcodes */
357390

0 commit comments

Comments
 (0)