From 059b3006ac7921f53f2203862eb751860a38ec11 Mon Sep 17 00:00:00 2001 From: Vijay Kumar Tumati Date: Tue, 3 Jan 2023 15:06:53 -0800 Subject: [PATCH] msm: camera: isp: Move IFE FD out port to non-secure Currently, the IFE FD port is configured to be secure by TZ and the camera software allocates secure buffers to be consumed by EFA FD module. However, as we are moving to the software based DLFD, this port needs to be configured as non secure by TZ and camera should treat so and allocate non secure buffers. CRs-Fixed: 3443139 Change-Id: I2fcc89d4d61bd944969bfe854584960c10648f6c Signed-off-by: Suraj Dongre Signed-off-by: Vijay Kumar Tumati --- .../isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c | 4 +++- drivers/cam_utils/cam_compat.c | 10 ++++++++++ drivers/cam_utils/cam_compat.h | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c b/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c index 88204384f4..83e02fa3e1 100644 --- a/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c +++ b/drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c @@ -300,7 +300,6 @@ static bool cam_vfe_bus_ver3_can_be_secure(uint32_t out_type) case CAM_VFE_BUS_VER3_VFE_OUT_FULL: case CAM_VFE_BUS_VER3_VFE_OUT_DS4: case CAM_VFE_BUS_VER3_VFE_OUT_DS16: - case CAM_VFE_BUS_VER3_VFE_OUT_FD: case CAM_VFE_BUS_VER3_VFE_OUT_RAW_DUMP: case CAM_VFE_BUS_VER3_VFE_OUT_RDI0: case CAM_VFE_BUS_VER3_VFE_OUT_RDI1: @@ -318,6 +317,9 @@ static bool cam_vfe_bus_ver3_can_be_secure(uint32_t out_type) case CAM_VFE_BUS_VER3_VFE_OUT_PREPROCESS_RAW: return true; + case CAM_VFE_BUS_VER3_VFE_OUT_FD: + return cam_secure_get_vfe_fd_port_config(); + case CAM_VFE_BUS_VER3_VFE_OUT_STATS_HDR_BE: case CAM_VFE_BUS_VER3_VFE_OUT_STATS_HDR_BHIST: case CAM_VFE_BUS_VER3_VFE_OUT_STATS_TL_BG: diff --git a/drivers/cam_utils/cam_compat.c b/drivers/cam_utils/cam_compat.c index 1c1caac184..f7c6eaecd8 100644 --- a/drivers/cam_utils/cam_compat.c +++ b/drivers/cam_utils/cam_compat.c @@ -751,3 +751,13 @@ int cam_compat_util_get_irq(struct cam_hw_soc_info *soc_info) return rc; } #endif + +bool cam_secure_get_vfe_fd_port_config(void) +{ +#if KERNEL_VERSION(6, 0, 0) <= LINUX_VERSION_CODE + return false; +#else + return true; +#endif +} + diff --git a/drivers/cam_utils/cam_compat.h b/drivers/cam_utils/cam_compat.h index 346bd75e27..95c3169cd0 100644 --- a/drivers/cam_utils/cam_compat.h +++ b/drivers/cam_utils/cam_compat.h @@ -98,4 +98,6 @@ int cam_eeprom_spi_driver_remove(struct spi_device *sdev); int cam_compat_util_get_irq(struct cam_hw_soc_info *soc_info); +bool cam_secure_get_vfe_fd_port_config(void); + #endif /* _CAM_COMPAT_H_ */