ソースを参照

msm: camera: isp: Add support for error inject framework in TFE

This change is to add support for error inducement in TFE HW.

CRs-Fixed: 3426117
Change-Id: I19a5e095bc84fa88c308640a1d490162698bb45f
Signed-off-by: Ayush Kumar <[email protected]>
Ayush Kumar 2 年 前
コミット
fa6d50974b

+ 6 - 2
drivers/cam_isp/cam_isp_dev.c

@@ -242,8 +242,12 @@ static int cam_isp_dev_component_bind(struct device *dev,
 		}
 	}
 
-	cam_common_register_evt_inject_cb(cam_isp_dev_evt_inject_cb,
-		CAM_COMMON_EVT_INJECT_HW_ISP);
+	if (g_isp_dev.isp_device_type == CAM_IFE_DEVICE_TYPE)
+		cam_common_register_evt_inject_cb(cam_isp_dev_evt_inject_cb,
+			CAM_COMMON_EVT_INJECT_HW_IFE);
+	else
+		cam_common_register_evt_inject_cb(cam_isp_dev_evt_inject_cb,
+			CAM_COMMON_EVT_INJECT_HW_TFE);
 
 	rc = cam_node_init(node, &hw_mgr_intf, g_isp_dev.ctx,
 			g_isp_dev.max_context, CAM_ISP_DEV_NAME);

+ 7 - 2
drivers/cam_utils/cam_common_util.c

@@ -397,7 +397,9 @@ void cam_common_release_evt_params(int32_t dev_hdl)
 static inline int cam_common_evt_inject_get_hw_id(uint8_t *hw_id, char *token)
 {
 	if (strcmp(token, CAM_COMMON_IFE_NODE) == 0)
-		*hw_id = CAM_COMMON_EVT_INJECT_HW_ISP;
+		*hw_id = CAM_COMMON_EVT_INJECT_HW_IFE;
+	else if (strcmp(token, CAM_COMMON_TFE_NODE) == 0)
+		*hw_id = CAM_COMMON_EVT_INJECT_HW_TFE;
 	else if (strcmp(token, CAM_COMMON_ICP_NODE) == 0)
 		*hw_id = CAM_COMMON_EVT_INJECT_HW_ICP;
 	else if (strcmp(token, CAM_COMMON_JPEG_NODE) == 0)
@@ -734,9 +736,12 @@ static int cam_common_evt_inject_get(char *buffer,
 		evt_params = &inject_params->evt_params;
 
 		switch (inject_params->hw_id) {
-		case CAM_COMMON_EVT_INJECT_HW_ISP:
+		case CAM_COMMON_EVT_INJECT_HW_IFE:
 			strscpy(hw_name, CAM_COMMON_IFE_NODE, sizeof(hw_name));
 			break;
+		case CAM_COMMON_EVT_INJECT_HW_TFE:
+			strscpy(hw_name, CAM_COMMON_TFE_NODE, sizeof(hw_name));
+			break;
 		case CAM_COMMON_EVT_INJECT_HW_ICP:
 			strscpy(hw_name, CAM_COMMON_ICP_NODE, sizeof(hw_name));
 			break;

+ 3 - 1
drivers/cam_utils/cam_common_util.h

@@ -30,6 +30,7 @@
 #define CAM_COMMON_IFE_NODE  "IFE"
 #define CAM_COMMON_ICP_NODE  "IPE"
 #define CAM_COMMON_JPEG_NODE "JPEG"
+#define CAM_COMMON_TFE_NODE "TFE"
 
 #define CAM_COMMON_NS_PER_MS              1000000ULL
 
@@ -124,7 +125,8 @@ enum cam_common_evt_inject_str_id_type {
 };
 
 enum cam_common_evt_inject_hw_id {
-	CAM_COMMON_EVT_INJECT_HW_ISP,
+	CAM_COMMON_EVT_INJECT_HW_IFE,
+	CAM_COMMON_EVT_INJECT_HW_TFE,
 	CAM_COMMON_EVT_INJECT_HW_ICP,
 	CAM_COMMON_EVT_INJECT_HW_JPEG,
 	CAM_COMMON_EVT_INJECT_HW_MAX