msm: camera: cpas: Add support for dynamic FD port config

Configure IFE FD OUT port to secure or non-secure
based on whether the user space wants to use
hardware FD or software FD for secure camera
use cases.

CRs-Fixed: 3572316
Change-Id: I8f5f1506a01ba2aaf9c533edbdc64c5c6250cb2f
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
(cherry picked from commit db520c5c3fb5e585eceb1d4bc4d58a0b799b2c08)
This commit is contained in:
Vijay Kumar Tumati
2023-07-03 12:13:02 -07:00
parent 8a04130f3b
commit 0c0096b72e
9 changed files with 215 additions and 1 deletions

View File

@@ -277,4 +277,18 @@ struct cam_axi_per_path_bw_vote {
__u64 ddr_ib_bw;
};
#define CAM_CPAS_CUSTOM_CMD_FD_PORT_CFG 0
/**
* struct cam_cpas_fd_port_config : CPAS custom cmd struct for updating FD
* port config
*
* @is_secure Security mode of the FD port
* @reserved Reserved for alignment
*/
struct cam_cpas_fd_port_config {
__u32 is_secure;
__u32 reserved;
};
#endif /* __UAPI_CAM_CPAS_H__ */

View File

@@ -31,6 +31,7 @@
#define CAM_DUMP_REQ (CAM_COMMON_OPCODE_BASE_v2 + 0x3)
#define CAM_QUERY_CAP_V3 (CAM_COMMON_OPCODE_BASE_v2 + 0x4)
#define CAM_SYNX_TEST_TRIGGER (CAM_COMMON_OPCODE_BASE_v2 + 0x5)
#define CAM_CUSTOM_DEV_CONFIG (CAM_COMMON_OPCODE_BASE_v2 + 0x6)
#define CAM_EXT_OPCODE_BASE 0x200
#define CAM_CONFIG_DEV_EXTERNAL (CAM_EXT_OPCODE_BASE + 0x1)
@@ -96,6 +97,20 @@ struct cam_control {
__u64 handle;
};
/**
* struct cam_custom_cmd - Structure used by ioctl control for camera
* devices to send custom commands.
*
* @cmd_type: Command type
* @size: Size of the data
* @handle: Pointer to the command data
*/
struct cam_custom_cmd {
__u32 cmd_type;
__u32 size;
__u64 handle;
};
/* camera IOCTL */
#define VIDIOC_CAM_CONTROL \
_IOWR('V', BASE_VIDIOC_PRIVATE, struct cam_control)