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_ */