Selaa lähdekoodia

msm: camera: isp: Add UAPI changes to support NFI based Switching

Add UAPI changes to support NFI based dynamic Switching.

CRs-Fixed: 3168727
Change-Id: I3246c9496bea778cac11352d9c90672ce763a59b
Signed-off-by: Chandan Kumar Jha <[email protected]>
Chandan Kumar Jha 3 vuotta sitten
vanhempi
sitoutus
eddb106bb8
1 muutettua tiedostoa jossa 29 lisäystä ja 0 poistoa
  1. 29 0
      include/uapi/camera/media/cam_isp.h

+ 29 - 0
include/uapi/camera/media/cam_isp.h

@@ -135,6 +135,7 @@
 #define CAM_ISP_GENERIC_BLOB_TYPE_SFE_EXP_ORDER_CFG         27
 #define CAM_ISP_GENERIC_BLOB_TYPE_DRV_CONFIG                28
 #define CAM_ISP_GENERIC_BLOB_TYPE_BW_CONFIG_V3              29
+#define CAM_ISP_GENERIC_BLOB_TYPE_NFI_MODE_SWITCH           30
 
 #define CAM_ISP_VC_DT_CFG    4
 
@@ -184,6 +185,7 @@
 #define CAM_ISP_SFE_SHDR_MODE_EN               BIT(6)
 #define CAM_ISP_AEB_MODE_EN                    BIT(7)
 #define CAM_ISP_HDR_MODE_DYNAMIC_SWITCH_EN     BIT(8)
+#define CAM_ISP_NFI_BASED_MODE_SWITCH_EN       BIT(9)
 
 /* ISP core cfg flag params */
 #define CAM_ISP_PARAM_CORE_CFG_HDR_MUX_SEL BIT(0)
@@ -948,6 +950,33 @@ struct cam_isp_mode_switch_info{
 	__u32                                reserved;
 } __attribute__((packed));
 
+/**
+ * struct cam_isp_nfi_mode_switch_info - New Frame ID (NFI) Based Switching Scheme info
+ *
+ * @version                 : Version info
+ * @mode_id                 : Mode ID value for the next frame
+ * @modeid_vc               : The VC with which the embedded packet with MODE ID comes with.
+ * @x_offset                : X offset of MODE ID location in horizontal
+ *                            direction within single EBD line packet, unit is byte.
+ * @y_offset                : Y offset of MODE ID location in vertical direction
+ *                            within EBD Lines, unit is line packet.
+ * @reg_length              : Number of bytes for each MODE ID
+ * @num_valid_params        : Number of valid params
+ * @param_mask              : Mask to indicate fields in params
+ * @params                  : Additional Params
+ */
+struct cam_isp_nfi_mode_switch_info {
+	__u32                                version;
+	__u32                                mode_id;
+	__u32                                modeid_vc;
+	__u32                                x_offset;
+	__u32                                y_offset;
+	__u32                                reg_length;
+	__u32                                num_valid_params;
+	__u32                                param_mask;
+	__u32                                params[4];
+} __attribute__((packed));
+
 /**
  * struct cam_isp_sfe_wm_exp_order_config - SFE write master
  *                                          exposure order config