Browse Source

msm: eva: Support Optical Flow in kernel

Add OF related command type for error checks. Clean up un-used
signals.

Change-Id: I2489f3fc87feb86468b24659e6752b130e2cc54d
Signed-off-by: George Shen <[email protected]>
George Shen 4 years ago
parent
commit
5af2b7ae77

+ 23 - 7
msm/eva/cvp_hfi.c

@@ -50,6 +50,20 @@ const struct msm_cvp_hfi_defs cvp_hfi_defs[] = {
 		.buf_num = HFI_DFS_BUF_NUM,
 		.resp = HAL_NO_RESP,
 	},
+	{
+		.size = 0xFFFFFFFF,
+		.type = HFI_CMD_SESSION_CVP_SGM_OF_CONFIG,
+		.buf_offset = 0,
+		.buf_num = 0,
+		.resp = HAL_SESSION_SGM_OF_CONFIG_CMD_DONE,
+	},
+	{
+		.size = 0xFFFFFFFF,
+		.type = HFI_CMD_SESSION_CVP_SGM_OF_FRAME,
+		.buf_offset = 0,
+		.buf_num = 0,
+		.resp = HAL_NO_RESP,
+	},
 	{
 		.size = 0xFFFFFFFF,
 		.type = HFI_CMD_SESSION_CVP_WARP_NCC_CONFIG,
@@ -2947,6 +2961,7 @@ static void **get_session_id(struct msm_cvp_cb_info *info)
 	case HAL_SESSION_DMM_CONFIG_CMD_DONE:
 	case HAL_SESSION_WARP_CONFIG_CMD_DONE:
 	case HAL_SESSION_WARP_NCC_CONFIG_CMD_DONE:
+	case HAL_SESSION_SGM_OF_CONFIG_CMD_DONE:
 	case HAL_SESSION_TME_CONFIG_CMD_DONE:
 	case HAL_SESSION_ODT_CONFIG_CMD_DONE:
 	case HAL_SESSION_OD_CONFIG_CMD_DONE:
@@ -2958,12 +2973,6 @@ static void **get_session_id(struct msm_cvp_cb_info *info)
 	case HAL_SESSION_PYS_HCD_CONFIG_CMD_DONE:
 	case HAL_SESSION_DMM_PARAMS_CMD_DONE:
 	case HAL_SESSION_WARP_DS_PARAMS_CMD_DONE:
-	case HAL_SESSION_DFS_FRAME_CMD_DONE:
-	case HAL_SESSION_DMM_FRAME_CMD_DONE:
-	case HAL_SESSION_WARP_FRAME_CMD_DONE:
-	case HAL_SESSION_WARP_NCC_FRAME_CMD_DONE:
-	case HAL_SESSION_ICA_FRAME_CMD_DONE:
-	case HAL_SESSION_FD_FRAME_CMD_DONE:
 	case HAL_SESSION_PERSIST_SET_DONE:
 	case HAL_SESSION_PERSIST_REL_DONE:
 	case HAL_SESSION_FD_CONFIG_CMD_DONE:
@@ -3128,6 +3137,7 @@ static void iris_hfi_core_work_handler(struct work_struct *work)
 	struct iris_hfi_device *device;
 	int num_responses = 0, i = 0;
 	u32 intr_status;
+	static bool warning_on = true;
 
 	core = list_first_entry(&cvp_driver->cores, struct msm_cvp_core, list);
 	if (core)
@@ -3139,10 +3149,16 @@ static void iris_hfi_core_work_handler(struct work_struct *work)
 
 
 	if (!__core_in_valid_state(device)) {
-		dprintk(CVP_WARN, "%s - Core not in init state\n", __func__);
+		if (warning_on) {
+			dprintk(CVP_WARN, "%s Core not in init state\n",
+				__func__);
+			warning_on = false;
+		}
 		goto err_no_work;
 	}
 
+	warning_on = true;
+
 	if (!device->callback) {
 		dprintk(CVP_ERR, "No interrupt callback function: %pK\n",
 				device);

+ 1 - 6
msm/eva/cvp_hfi_api.h

@@ -210,16 +210,13 @@ enum hal_command_response {
 	HAL_SESSION_REGISTER_BUFFER_DONE,
 	HAL_SESSION_UNREGISTER_BUFFER_DONE,
 	HAL_SESSION_RELEASE_RESOURCE_DONE,
+	HAL_SESSION_SGM_OF_CONFIG_CMD_DONE,
 	HAL_SESSION_DFS_CONFIG_CMD_DONE,
-	HAL_SESSION_DFS_FRAME_CMD_DONE,
 	HAL_SESSION_DMM_CONFIG_CMD_DONE,
 	HAL_SESSION_DMM_PARAMS_CMD_DONE,
-	HAL_SESSION_DMM_FRAME_CMD_DONE,
 	HAL_SESSION_WARP_CONFIG_CMD_DONE,
 	HAL_SESSION_WARP_DS_PARAMS_CMD_DONE,
-	HAL_SESSION_WARP_FRAME_CMD_DONE,
 	HAL_SESSION_WARP_NCC_CONFIG_CMD_DONE,
-	HAL_SESSION_WARP_NCC_FRAME_CMD_DONE,
 	HAL_SESSION_TME_CONFIG_CMD_DONE,
 	HAL_SESSION_ODT_CONFIG_CMD_DONE,
 	HAL_SESSION_OD_CONFIG_CMD_DONE,
@@ -233,8 +230,6 @@ enum hal_command_response {
 	HAL_SESSION_PERSIST_SET_DONE,
 	HAL_SESSION_PERSIST_REL_DONE,
 	HAL_SESSION_MODEL_BUF_CMD_DONE,
-	HAL_SESSION_ICA_FRAME_CMD_DONE,
-	HAL_SESSION_FD_FRAME_CMD_DONE,
 	HAL_SESSION_PROPERTY_INFO,
 	HAL_SESSION_ERROR,
 	HAL_RESPONSE_UNUSED = 0x10000000,

+ 1 - 0
msm/eva/hfi_response_handler.c

@@ -673,6 +673,7 @@ int cvp_hfi_process_msg_packet(u32 device_id, void *hdr,
 	case HFI_MSG_SESSION_CVP_WARP:
 	case HFI_MSG_SESSION_CVP_WARP_NCC:
 	case HFI_MSG_SESSION_CVP_FD:
+	case HFI_MSG_SESSION_CVP_SGM_OF:
 		pkt_func = (pkt_func_def)hfi_process_session_cvp_msg;
 		break;
 	default:

+ 1 - 6
msm/eva/msm_cvp_common.c

@@ -792,16 +792,13 @@ void cvp_handle_cmd_response(enum hal_command_response cmd, void *data)
 	case HAL_SESSION_RELEASE_BUFFER_DONE:
 		handle_session_release_buf_done(cmd, data);
 		break;
+	case HAL_SESSION_SGM_OF_CONFIG_CMD_DONE:
 	case HAL_SESSION_DFS_CONFIG_CMD_DONE:
-	case HAL_SESSION_DFS_FRAME_CMD_DONE:
 	case HAL_SESSION_DMM_CONFIG_CMD_DONE:
 	case HAL_SESSION_DMM_PARAMS_CMD_DONE:
-	case HAL_SESSION_DMM_FRAME_CMD_DONE:
 	case HAL_SESSION_WARP_CONFIG_CMD_DONE:
 	case HAL_SESSION_WARP_DS_PARAMS_CMD_DONE:
-	case HAL_SESSION_WARP_FRAME_CMD_DONE:
 	case HAL_SESSION_WARP_NCC_CONFIG_CMD_DONE:
-	case HAL_SESSION_WARP_NCC_FRAME_CMD_DONE:
 	case HAL_SESSION_PERSIST_SET_DONE:
 	case HAL_SESSION_PERSIST_REL_DONE:
 	case HAL_SESSION_TME_CONFIG_CMD_DONE:
@@ -815,8 +812,6 @@ void cvp_handle_cmd_response(enum hal_command_response cmd, void *data)
 	case HAL_SESSION_PYS_HCD_CONFIG_CMD_DONE:
 	case HAL_SESSION_FD_CONFIG_CMD_DONE:
 	case HAL_SESSION_MODEL_BUF_CMD_DONE:
-	case HAL_SESSION_ICA_FRAME_CMD_DONE:
-	case HAL_SESSION_FD_FRAME_CMD_DONE:
 		cvp_handle_session_cmd_done(cmd, data);
 		break;
 	default:

+ 1 - 1
msm/eva/msm_cvp_debug.h

@@ -38,7 +38,7 @@ enum cvp_msg_prio {
 	CVP_SESS = 0x002000,
 	CVP_HFI  = 0x004000,
 	CVP_DBG  = CVP_MEM | CVP_SYNX | CVP_CORE | CVP_REG |
-		CVP_PWR | CVP_DSP | CVP_SESS | CVP_HFI,
+		CVP_PWR | CVP_DSP | CVP_SESS | CVP_HFI | CVP_PKT,
 };
 
 enum cvp_msg_out {

+ 1 - 1
msm/eva/msm_cvp_synx.c

@@ -166,7 +166,7 @@ static int cvp_wait_synx(struct synx_session ssid, u32 *synx, u32 num_synx,
 		u32 *synx_state)
 {
 	int i = 0, rc = 0;
-	unsigned long timeout_ms = 2000; //1000;
+	unsigned long timeout_ms = 2000;
 	int h_synx;
 
 	while (i < num_synx) {