瀏覽代碼

Merge "msm: camera: isp: Add support for vertical binning in CSID" into camera-kernel.lnx.5.0

Camera Software Integration 4 年之前
父節點
當前提交
19d782fd36

+ 2 - 1
drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c

@@ -4520,7 +4520,8 @@ static int cam_ife_mgr_acquire_get_unified_structure_v2(
 	in_port->fe_unpacker_fmt          =  in->format;
 	in_port->hbi_cnt                  =  in->hbi_cnt;
 	in_port->cust_node                =  in->cust_node;
-	in_port->horizontal_bin           =  in->horizontal_bin;
+	in_port->horizontal_bin           =  (in->bidirectional_bin & 0xFFFF);
+	in_port->vertical_bin             =  (in->bidirectional_bin >> 16);
 	in_port->qcfa_bin                 =  in->qcfa_bin;
 	in_port->num_out_res              =  in->num_out_res;
 	in_port->sfe_in_path_type         =  (in->sfe_in_path_type & 0xFFFF);

+ 1 - 0
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c

@@ -1849,6 +1849,7 @@ static int cam_ife_csid_hw_ver2_config_path_data(
 	path_cfg->crop_enable = reserve->crop_enable;
 	path_cfg->drop_enable = reserve->drop_enable;
 	path_cfg->horizontal_bin = reserve->in_port->horizontal_bin;
+	path_cfg->vertical_bin = reserve->in_port->vertical_bin;
 	path_cfg->qcfa_bin = reserve->in_port->qcfa_bin;
 	path_cfg->num_bytes_out = reserve->in_port->num_bytes_out;
 	path_cfg->pix_pattern = reserve->in_port->test_pattern;

+ 1 - 0
drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_ife_csid_hw_intf.h

@@ -120,6 +120,7 @@ struct cam_isp_in_port_generic_info {
 	uint32_t                        cust_node;
 	uint32_t                        num_out_res;
 	uint32_t                        horizontal_bin;
+	uint32_t                        vertical_bin;
 	uint32_t                        qcfa_bin;
 	uint32_t                        num_bytes_out;
 	uint32_t                        ipp_count;

+ 3 - 2
include/uapi/camera/media/cam_isp.h

@@ -364,7 +364,8 @@ struct cam_isp_in_port_info {
  * @hbi_cnt:                    HBI count for the camif input
  * @cust_node:                  if any custom HW block is present before IFE
  * @num_out_res:                number of the output resource associated
- * @horizontal_bin:             Horizontal Binning info
+ * @bidirectional_bin:          [0  : 15] - Set 1 for Horizontal binning
+ *                              [16 : 31] - Set 1 for Vertical binning
  * @qcfa_bin:                   Quadra Binning info
  * @sfe_in_path_type:           SFE input path type
  *                              0:15 - refer to cam_isp_sfe.h for SFE paths
@@ -406,7 +407,7 @@ struct cam_isp_in_port_info_v2 {
 	__u32                           cust_node;
 	__u32                           num_out_res;
 	__u32                           offline_mode;
-	__u32                           horizontal_bin;
+	__u32                           bidirectional_bin;
 	__u32                           qcfa_bin;
 	__u32                           sfe_in_path_type;
 	__u32                           feature_flag;