Loading drivers/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ camera-$(CONFIG_SPECTRA_ISP) += \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_core.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_ver1.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_ver2.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_ver3.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg.o \ cam_isp/isp_hw_mgr/cam_isp_hw_mgr.o \ cam_isp/isp_hw_mgr/cam_ife_hw_mgr.o \ Loading drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c +2 −1 Original line number Diff line number Diff line Loading @@ -3040,7 +3040,8 @@ static int cam_ife_mgr_acquire_hw(void *hw_mgr_priv, void *acquire_hw_args) } if ((in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_0) || (in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1)) (in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1) || (in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_2)) rc = cam_ife_hw_mgr_acquire_tpg(ife_ctx, in_port, acquire_hw_info->num_inputs); Loading drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.c +2 −1 Original line number Diff line number Diff line Loading @@ -1146,7 +1146,8 @@ int cam_ife_csid_path_reserve(struct cam_ife_csid_hw *csid_hw, path_data->crop_enable); if ((reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_0) || (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1)) { (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1) || (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_2)) { path_data->dt = CAM_IFE_CPHY_TPG_DT_VAL; path_data->vc = CAM_IFE_CPHY_TPG_VC_VAL; } else if (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_TPG) { Loading drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_top_tpg_hw_intf.h +17 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ #include "cam_ife_csid_hw_intf.h" /* Max top tpg instance */ #define CAM_TOP_TPG_HW_NUM_MAX 2 #define CAM_TOP_TPG_HW_NUM_MAX 3 /* Max supported number of DT for TPG */ #define CAM_TOP_TPG_MAX_SUPPORTED_DT 4 Loading @@ -21,6 +21,7 @@ enum cam_top_tpg_id { CAM_TOP_TPG_ID_0, CAM_TOP_TPG_ID_1, CAM_TOP_TPG_ID_2, CAM_TFE_TPG_ID_MAX, }; Loading Loading @@ -55,7 +56,7 @@ struct cam_top_tpg_ver1_reserve_args { /** * struct cam_top_tpg_ver2_reserve_args * @num_inport: number of inport * TPG supports 1 VC/DT * TPG supports 1 VC/DT combo * @in_port : Input port resource info structure pointer * @node_res : Reserved resource structure pointer * Loading @@ -66,6 +67,20 @@ struct cam_top_tpg_ver2_reserve_args { struct cam_isp_resource_node *node_res; }; /** * struct cam_top_tpg_ver2_reserve_args * @num_inport: number of inport * TPG supports 4 VC's and 4 DT's per VC * @in_port : Input port resource info structure pointer * @node_res : Reserved resource structure pointer * */ struct cam_top_tpg_ver3_reserve_args { uint32_t num_inport; struct cam_isp_in_port_generic_info *in_port; struct cam_isp_resource_node *node_res; }; /** * cam_top_tpg_hw_init() * Loading drivers/cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg.c +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ #include <linux/module.h> #include "cam_top_tpg101.h" #include "cam_top_tpg102.h" #include "cam_top_tpg103.h" #include "cam_top_tpg_core.h" #include "cam_top_tpg_dev.h" #include "camera_main.h" Loading @@ -19,6 +20,10 @@ static const struct of_device_id cam_top_tpg_dt_match[] = { .compatible = "qcom,tpg102", .data = &cam_top_tpg102_hw_info, }, { .compatible = "qcom,tpg103", .data = &cam_top_tpg103_hw_info, }, {} }; Loading Loading
drivers/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ camera-$(CONFIG_SPECTRA_ISP) += \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_core.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_ver1.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_ver2.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg_ver3.o \ cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg.o \ cam_isp/isp_hw_mgr/cam_isp_hw_mgr.o \ cam_isp/isp_hw_mgr/cam_ife_hw_mgr.o \ Loading
drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c +2 −1 Original line number Diff line number Diff line Loading @@ -3040,7 +3040,8 @@ static int cam_ife_mgr_acquire_hw(void *hw_mgr_priv, void *acquire_hw_args) } if ((in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_0) || (in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1)) (in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1) || (in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_2)) rc = cam_ife_hw_mgr_acquire_tpg(ife_ctx, in_port, acquire_hw_info->num_inputs); Loading
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_core.c +2 −1 Original line number Diff line number Diff line Loading @@ -1146,7 +1146,8 @@ int cam_ife_csid_path_reserve(struct cam_ife_csid_hw *csid_hw, path_data->crop_enable); if ((reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_0) || (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1)) { (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_1) || (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_CPHY_TPG_2)) { path_data->dt = CAM_IFE_CPHY_TPG_DT_VAL; path_data->vc = CAM_IFE_CPHY_TPG_VC_VAL; } else if (reserve->in_port->res_type == CAM_ISP_IFE_IN_RES_TPG) { Loading
drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_top_tpg_hw_intf.h +17 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ #include "cam_ife_csid_hw_intf.h" /* Max top tpg instance */ #define CAM_TOP_TPG_HW_NUM_MAX 2 #define CAM_TOP_TPG_HW_NUM_MAX 3 /* Max supported number of DT for TPG */ #define CAM_TOP_TPG_MAX_SUPPORTED_DT 4 Loading @@ -21,6 +21,7 @@ enum cam_top_tpg_id { CAM_TOP_TPG_ID_0, CAM_TOP_TPG_ID_1, CAM_TOP_TPG_ID_2, CAM_TFE_TPG_ID_MAX, }; Loading Loading @@ -55,7 +56,7 @@ struct cam_top_tpg_ver1_reserve_args { /** * struct cam_top_tpg_ver2_reserve_args * @num_inport: number of inport * TPG supports 1 VC/DT * TPG supports 1 VC/DT combo * @in_port : Input port resource info structure pointer * @node_res : Reserved resource structure pointer * Loading @@ -66,6 +67,20 @@ struct cam_top_tpg_ver2_reserve_args { struct cam_isp_resource_node *node_res; }; /** * struct cam_top_tpg_ver2_reserve_args * @num_inport: number of inport * TPG supports 4 VC's and 4 DT's per VC * @in_port : Input port resource info structure pointer * @node_res : Reserved resource structure pointer * */ struct cam_top_tpg_ver3_reserve_args { uint32_t num_inport; struct cam_isp_in_port_generic_info *in_port; struct cam_isp_resource_node *node_res; }; /** * cam_top_tpg_hw_init() * Loading
drivers/cam_isp/isp_hw_mgr/isp_hw/top_tpg/cam_top_tpg.c +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ #include <linux/module.h> #include "cam_top_tpg101.h" #include "cam_top_tpg102.h" #include "cam_top_tpg103.h" #include "cam_top_tpg_core.h" #include "cam_top_tpg_dev.h" #include "camera_main.h" Loading @@ -19,6 +20,10 @@ static const struct of_device_id cam_top_tpg_dt_match[] = { .compatible = "qcom,tpg102", .data = &cam_top_tpg102_hw_info, }, { .compatible = "qcom,tpg103", .data = &cam_top_tpg103_hw_info, }, {} }; Loading