Loading drivers/media/platform/msm/cvp/cvp_hfi.c +123 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,118 @@ const struct msm_cvp_hfi_defs cvp_hfi_defs[] = { .buf_num = HFI_DS_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_OF_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_TME_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_TME_CONFIG_CMD_DONE, }, { .size = HFI_OF_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_TME_FRAME, .buf_offset = HFI_OF_BUFFERS_OFFSET, .buf_num = HFI_OF_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_ODT_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_ODT_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_ODT_CONFIG_CMD_DONE, }, { .size = HFI_ODT_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_ODT_FRAME, .buf_offset = HFI_ODT_BUFFERS_OFFSET, .buf_num = HFI_ODT_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_OD_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_OD_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_OD_CONFIG_CMD_DONE, }, { .size = HFI_OD_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_OD_FRAME, .buf_offset = HFI_OD_BUFFERS_OFFSET, .buf_num = HFI_OD_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_NCC_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_NCC_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_NCC_CONFIG_CMD_DONE, }, { .size = HFI_NCC_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_NCC_FRAME, .buf_offset = HFI_NCC_BUFFERS_OFFSET, .buf_num = HFI_NCC_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_ICA_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_ICA_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_ICA_CONFIG_CMD_DONE, }, { .size = HFI_ICA_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_ICA_FRAME, .buf_offset = HFI_ICA_BUFFERS_OFFSET, .buf_num = HFI_ICA_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_HCD_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_HCD_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_HCD_CONFIG_CMD_DONE, }, { .size = HFI_HCD_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_HCD_FRAME, .buf_offset = HFI_HCD_BUFFERS_OFFSET, .buf_num = HFI_HCD_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_DCM_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_DCM_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_DCM_CONFIG_CMD_DONE, }, { .size = HFI_DCM_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_DCM_FRAME, .buf_offset = HFI_DCM_BUFFERS_OFFSET, .buf_num = HFI_DCM_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_PYS_HCD_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_PYS_HCD_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_PYS_HCD_CONFIG_CMD_DONE, }, { .size = HFI_PYS_HCD_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_PYS_HCD_FRAME, .buf_offset = HFI_PYS_HCD_BUFFERS_OFFSET, .buf_num = HFI_PYS_HCD_BUF_NUM, .resp = HAL_NO_RESP, }, }; static struct hal_device_data hal_ctxt; Loading Loading @@ -204,6 +316,17 @@ int get_pkt_index(struct cvp_hal_session_cmd_pkt *hdr) return -EINVAL; } int get_signal_from_pkt_type(unsigned int type) { int i, pkt_num = ARRAY_SIZE(cvp_hfi_defs); for (i = 0; i < pkt_num; i++) if (cvp_hfi_defs[i].type == type) return cvp_hfi_defs[i].resp; return -EINVAL; } static void __dump_packet(u8 *packet, enum cvp_msg_prio log_level) { u32 c = 0, packet_size = *(u32 *)packet; Loading drivers/media/platform/msm/cvp/cvp_hfi.h +26 −10 Original line number Diff line number Diff line Loading @@ -272,10 +272,6 @@ (HFI_CMD_SESSION_CVP_START + 0x00B) #define HFI_CMD_SESSION_CVP_DFS_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x00C) #define HFI_CMD_SESSION_CVP_TME_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x00D) #define HFI_CMD_SESSION_CVP_TME_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x00E) #define HFI_CMD_SESSION_CVP_FTEXT\ (HFI_CMD_SESSION_CVP_START + 0x00F) Loading @@ -292,12 +288,10 @@ (HFI_CMD_SESSION_CVP_START + 0x014) /* ===========USECASE OPERATIONS===============*/ #define HFI_CMD_SESSION_CVP_ODT\ (HFI_CMD_SESSION_CVP_START + 0x015) #define HFI_CMD_SESSION_CVP_PYS_HCD_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x016) #define HFI_CMD_SESSION_CVP_PYS_HCD_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x017) #define HFI_CMD_SESSION_CVP_DCM_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x034) #define HFI_CMD_SESSION_CVP_DCM_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x035) #define HFI_CMD_SESSION_CVP_DME_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x039) Loading @@ -306,8 +300,30 @@ #define HFI_CMD_SESSION_CVP_DME_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x03A) #define HFI_CMD_SESSION_CVP_CV_TME_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x047) #define HFI_CMD_SESSION_CVP_CV_TME_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x048) #define HFI_CMD_SESSION_CVP_CV_OD_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x049) #define HFI_CMD_SESSION_CVP_CV_OD_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x04A) #define HFI_CMD_SESSION_CVP_CV_ODT_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x04B) #define HFI_CMD_SESSION_CVP_CV_ODT_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x04C) #define HFI_CMD_SESSION_CVP_SET_PERSIST_BUFFERS\ (HFI_CMD_SESSION_CVP_START + 0x04D) #define HFI_CMD_SESSION_CVP_PYS_HCD_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x050) #define HFI_CMD_SESSION_CVP_PYS_HCD_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x051) #define HFI_CMD_SESSION_CVP_ICA_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x100) #define HFI_CMD_SESSION_CVP_ICA_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x101) #define HFI_MSG_SYS_OX_START \ (HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + HFI_MSG_START_OFFSET + 0x0000) Loading drivers/media/platform/msm/cvp/cvp_hfi_api.h +48 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,45 @@ #define HFI_DS_BUFFERS_OFFSET 48 #define HFI_DS_BUF_NUM 3 #define HFI_OF_CONFIG_CMD_SIZE 34 #define HFI_OF_FRAME_CMD_SIZE 24 #define HFI_OF_BUFFERS_OFFSET 8 #define HFI_OF_BUF_NUM 8 #define HFI_ODT_CONFIG_CMD_SIZE 23 #define HFI_ODT_FRAME_CMD_SIZE 33 #define HFI_ODT_BUFFERS_OFFSET 11 #define HFI_ODT_BUF_NUM 11 #define HFI_OD_CONFIG_CMD_SIZE 24 #define HFI_OD_FRAME_CMD_SIZE 12 #define HFI_OD_BUFFERS_OFFSET 6 #define HFI_OD_BUF_NUM 3 #define HFI_NCC_CONFIG_CMD_SIZE 47 #define HFI_NCC_FRAME_CMD_SIZE 22 #define HFI_NCC_BUFFERS_OFFSET 8 #define HFI_NCC_BUF_NUM 7 #define HFI_ICA_CONFIG_CMD_SIZE 127 #define HFI_ICA_FRAME_CMD_SIZE 14 #define HFI_ICA_BUFFERS_OFFSET 6 #define HFI_ICA_BUF_NUM 4 #define HFI_HCD_CONFIG_CMD_SIZE 46 #define HFI_HCD_FRAME_CMD_SIZE 18 #define HFI_HCD_BUFFERS_OFFSET 12 #define HFI_HCD_BUF_NUM 3 #define HFI_DCM_CONFIG_CMD_SIZE 20 #define HFI_DCM_FRAME_CMD_SIZE 19 #define HFI_DCM_BUFFERS_OFFSET 9 #define HFI_DCM_BUF_NUM 5 #define HFI_PYS_HCD_CONFIG_CMD_SIZE 661 #define HFI_PYS_HCD_FRAME_CMD_SIZE 86 #define HFI_PYS_HCD_BUFFERS_OFFSET 6 #define HFI_PYS_HCD_BUF_NUM 36 enum cvp_status { CVP_ERR_NONE = 0x0, Loading Loading @@ -1135,6 +1174,14 @@ enum hal_command_response { HAL_SESSION_DME_CONFIG_CMD_DONE, HAL_SESSION_DME_BASIC_CONFIG_CMD_DONE, HAL_SESSION_DME_FRAME_CMD_DONE, HAL_SESSION_TME_CONFIG_CMD_DONE, HAL_SESSION_ODT_CONFIG_CMD_DONE, HAL_SESSION_OD_CONFIG_CMD_DONE, HAL_SESSION_NCC_CONFIG_CMD_DONE, HAL_SESSION_ICA_CONFIG_CMD_DONE, HAL_SESSION_HCD_CONFIG_CMD_DONE, HAL_SESSION_DCM_CONFIG_CMD_DONE, HAL_SESSION_PYS_HCD_CONFIG_CMD_DONE, HAL_SESSION_PERSIST_CMD_DONE, HAL_SESSION_PROPERTY_INFO, HAL_SESSION_ERROR, Loading Loading @@ -1501,6 +1548,7 @@ void cvp_hfi_deinitialize(enum msm_cvp_hfi_type hfi_type, struct hfi_device *hdev); int get_pkt_index(struct cvp_hal_session_cmd_pkt *hdr); int get_signal_from_pkt_type(unsigned int type); extern const struct msm_cvp_hfi_defs cvp_hfi_defs[]; #endif /*__CVP_HFI_API_H__ */ drivers/media/platform/msm/cvp/hfi_packetization.c +6 −1 Original line number Diff line number Diff line Loading @@ -414,7 +414,12 @@ int cvp_create_pkt_cmd_session_send( return -EINVAL; def_idx = get_pkt_index(ptr); if (def_idx < 0) if (def_idx < 0 && ptr->size < MAX_HFI_PKT_SIZE * sizeof(u32)) { memcpy(out_pkt, in_pkt, ptr->size); return 0; } if (ptr->size > MAX_HFI_PKT_SIZE * sizeof(unsigned int)) goto error_hfi_packet; if (cvp_hfi_defs[def_idx].type != ptr->packet_type) Loading drivers/media/platform/msm/cvp/hfi_response_handler.c +6 −11 Original line number Diff line number Diff line Loading @@ -662,6 +662,7 @@ static int hfi_process_session_cvp_operation_config(u32 device_id, struct msm_cvp_cb_info *info) { struct msm_cvp_cb_cmd_done cmd_done = {0}; int signal; if (!pkt) { dprintk(CVP_ERR, "%s: invalid param\n", __func__); Loading @@ -681,21 +682,14 @@ static int hfi_process_session_cvp_operation_config(u32 device_id, "%s: device_id=%d status=%d, sessionid=%x config=%x\n", __func__, device_id, cmd_done.status, cmd_done.session_id, pkt->op_conf_id); switch (pkt->op_conf_id) { case HFI_CMD_SESSION_CVP_DFS_CONFIG: info->response_type = HAL_SESSION_DFS_CONFIG_CMD_DONE; break; case HFI_CMD_SESSION_CVP_DME_CONFIG: info->response_type = HAL_SESSION_DME_CONFIG_CMD_DONE; break; case HFI_CMD_SESSION_CVP_DME_BASIC_CONFIG: info->response_type = HAL_SESSION_DME_BASIC_CONFIG_CMD_DONE; break; default: signal = get_signal_from_pkt_type(pkt->op_conf_id); if (signal < 0) { dprintk(CVP_ERR, "%s Invalid op config id\n", __func__); return -EINVAL; } info->response_type = signal; info->response.cmd = cmd_done; return 0; } Loading Loading @@ -998,6 +992,7 @@ int cvp_hfi_process_msg_packet(u32 device_id, default: dprintk(CVP_DBG, "Unable to parse message: %#x\n", msg_hdr->packet); pkt_func = (pkt_func_def)hfi_process_session_cvp_msg; break; } Loading Loading
drivers/media/platform/msm/cvp/cvp_hfi.c +123 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,118 @@ const struct msm_cvp_hfi_defs cvp_hfi_defs[] = { .buf_num = HFI_DS_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_OF_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_TME_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_TME_CONFIG_CMD_DONE, }, { .size = HFI_OF_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_TME_FRAME, .buf_offset = HFI_OF_BUFFERS_OFFSET, .buf_num = HFI_OF_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_ODT_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_ODT_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_ODT_CONFIG_CMD_DONE, }, { .size = HFI_ODT_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_ODT_FRAME, .buf_offset = HFI_ODT_BUFFERS_OFFSET, .buf_num = HFI_ODT_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_OD_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_OD_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_OD_CONFIG_CMD_DONE, }, { .size = HFI_OD_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_CV_OD_FRAME, .buf_offset = HFI_OD_BUFFERS_OFFSET, .buf_num = HFI_OD_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_NCC_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_NCC_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_NCC_CONFIG_CMD_DONE, }, { .size = HFI_NCC_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_NCC_FRAME, .buf_offset = HFI_NCC_BUFFERS_OFFSET, .buf_num = HFI_NCC_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_ICA_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_ICA_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_ICA_CONFIG_CMD_DONE, }, { .size = HFI_ICA_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_ICA_FRAME, .buf_offset = HFI_ICA_BUFFERS_OFFSET, .buf_num = HFI_ICA_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_HCD_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_HCD_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_HCD_CONFIG_CMD_DONE, }, { .size = HFI_HCD_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_HCD_FRAME, .buf_offset = HFI_HCD_BUFFERS_OFFSET, .buf_num = HFI_HCD_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_DCM_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_DCM_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_DCM_CONFIG_CMD_DONE, }, { .size = HFI_DCM_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_DCM_FRAME, .buf_offset = HFI_DCM_BUFFERS_OFFSET, .buf_num = HFI_DCM_BUF_NUM, .resp = HAL_NO_RESP, }, { .size = HFI_PYS_HCD_CONFIG_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_PYS_HCD_CONFIG, .buf_offset = 0, .buf_num = 0, .resp = HAL_SESSION_PYS_HCD_CONFIG_CMD_DONE, }, { .size = HFI_PYS_HCD_FRAME_CMD_SIZE, .type = HFI_CMD_SESSION_CVP_PYS_HCD_FRAME, .buf_offset = HFI_PYS_HCD_BUFFERS_OFFSET, .buf_num = HFI_PYS_HCD_BUF_NUM, .resp = HAL_NO_RESP, }, }; static struct hal_device_data hal_ctxt; Loading Loading @@ -204,6 +316,17 @@ int get_pkt_index(struct cvp_hal_session_cmd_pkt *hdr) return -EINVAL; } int get_signal_from_pkt_type(unsigned int type) { int i, pkt_num = ARRAY_SIZE(cvp_hfi_defs); for (i = 0; i < pkt_num; i++) if (cvp_hfi_defs[i].type == type) return cvp_hfi_defs[i].resp; return -EINVAL; } static void __dump_packet(u8 *packet, enum cvp_msg_prio log_level) { u32 c = 0, packet_size = *(u32 *)packet; Loading
drivers/media/platform/msm/cvp/cvp_hfi.h +26 −10 Original line number Diff line number Diff line Loading @@ -272,10 +272,6 @@ (HFI_CMD_SESSION_CVP_START + 0x00B) #define HFI_CMD_SESSION_CVP_DFS_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x00C) #define HFI_CMD_SESSION_CVP_TME_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x00D) #define HFI_CMD_SESSION_CVP_TME_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x00E) #define HFI_CMD_SESSION_CVP_FTEXT\ (HFI_CMD_SESSION_CVP_START + 0x00F) Loading @@ -292,12 +288,10 @@ (HFI_CMD_SESSION_CVP_START + 0x014) /* ===========USECASE OPERATIONS===============*/ #define HFI_CMD_SESSION_CVP_ODT\ (HFI_CMD_SESSION_CVP_START + 0x015) #define HFI_CMD_SESSION_CVP_PYS_HCD_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x016) #define HFI_CMD_SESSION_CVP_PYS_HCD_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x017) #define HFI_CMD_SESSION_CVP_DCM_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x034) #define HFI_CMD_SESSION_CVP_DCM_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x035) #define HFI_CMD_SESSION_CVP_DME_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x039) Loading @@ -306,8 +300,30 @@ #define HFI_CMD_SESSION_CVP_DME_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x03A) #define HFI_CMD_SESSION_CVP_CV_TME_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x047) #define HFI_CMD_SESSION_CVP_CV_TME_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x048) #define HFI_CMD_SESSION_CVP_CV_OD_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x049) #define HFI_CMD_SESSION_CVP_CV_OD_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x04A) #define HFI_CMD_SESSION_CVP_CV_ODT_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x04B) #define HFI_CMD_SESSION_CVP_CV_ODT_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x04C) #define HFI_CMD_SESSION_CVP_SET_PERSIST_BUFFERS\ (HFI_CMD_SESSION_CVP_START + 0x04D) #define HFI_CMD_SESSION_CVP_PYS_HCD_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x050) #define HFI_CMD_SESSION_CVP_PYS_HCD_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x051) #define HFI_CMD_SESSION_CVP_ICA_FRAME\ (HFI_CMD_SESSION_CVP_START + 0x100) #define HFI_CMD_SESSION_CVP_ICA_CONFIG\ (HFI_CMD_SESSION_CVP_START + 0x101) #define HFI_MSG_SYS_OX_START \ (HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + HFI_MSG_START_OFFSET + 0x0000) Loading
drivers/media/platform/msm/cvp/cvp_hfi_api.h +48 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,45 @@ #define HFI_DS_BUFFERS_OFFSET 48 #define HFI_DS_BUF_NUM 3 #define HFI_OF_CONFIG_CMD_SIZE 34 #define HFI_OF_FRAME_CMD_SIZE 24 #define HFI_OF_BUFFERS_OFFSET 8 #define HFI_OF_BUF_NUM 8 #define HFI_ODT_CONFIG_CMD_SIZE 23 #define HFI_ODT_FRAME_CMD_SIZE 33 #define HFI_ODT_BUFFERS_OFFSET 11 #define HFI_ODT_BUF_NUM 11 #define HFI_OD_CONFIG_CMD_SIZE 24 #define HFI_OD_FRAME_CMD_SIZE 12 #define HFI_OD_BUFFERS_OFFSET 6 #define HFI_OD_BUF_NUM 3 #define HFI_NCC_CONFIG_CMD_SIZE 47 #define HFI_NCC_FRAME_CMD_SIZE 22 #define HFI_NCC_BUFFERS_OFFSET 8 #define HFI_NCC_BUF_NUM 7 #define HFI_ICA_CONFIG_CMD_SIZE 127 #define HFI_ICA_FRAME_CMD_SIZE 14 #define HFI_ICA_BUFFERS_OFFSET 6 #define HFI_ICA_BUF_NUM 4 #define HFI_HCD_CONFIG_CMD_SIZE 46 #define HFI_HCD_FRAME_CMD_SIZE 18 #define HFI_HCD_BUFFERS_OFFSET 12 #define HFI_HCD_BUF_NUM 3 #define HFI_DCM_CONFIG_CMD_SIZE 20 #define HFI_DCM_FRAME_CMD_SIZE 19 #define HFI_DCM_BUFFERS_OFFSET 9 #define HFI_DCM_BUF_NUM 5 #define HFI_PYS_HCD_CONFIG_CMD_SIZE 661 #define HFI_PYS_HCD_FRAME_CMD_SIZE 86 #define HFI_PYS_HCD_BUFFERS_OFFSET 6 #define HFI_PYS_HCD_BUF_NUM 36 enum cvp_status { CVP_ERR_NONE = 0x0, Loading Loading @@ -1135,6 +1174,14 @@ enum hal_command_response { HAL_SESSION_DME_CONFIG_CMD_DONE, HAL_SESSION_DME_BASIC_CONFIG_CMD_DONE, HAL_SESSION_DME_FRAME_CMD_DONE, HAL_SESSION_TME_CONFIG_CMD_DONE, HAL_SESSION_ODT_CONFIG_CMD_DONE, HAL_SESSION_OD_CONFIG_CMD_DONE, HAL_SESSION_NCC_CONFIG_CMD_DONE, HAL_SESSION_ICA_CONFIG_CMD_DONE, HAL_SESSION_HCD_CONFIG_CMD_DONE, HAL_SESSION_DCM_CONFIG_CMD_DONE, HAL_SESSION_PYS_HCD_CONFIG_CMD_DONE, HAL_SESSION_PERSIST_CMD_DONE, HAL_SESSION_PROPERTY_INFO, HAL_SESSION_ERROR, Loading Loading @@ -1501,6 +1548,7 @@ void cvp_hfi_deinitialize(enum msm_cvp_hfi_type hfi_type, struct hfi_device *hdev); int get_pkt_index(struct cvp_hal_session_cmd_pkt *hdr); int get_signal_from_pkt_type(unsigned int type); extern const struct msm_cvp_hfi_defs cvp_hfi_defs[]; #endif /*__CVP_HFI_API_H__ */
drivers/media/platform/msm/cvp/hfi_packetization.c +6 −1 Original line number Diff line number Diff line Loading @@ -414,7 +414,12 @@ int cvp_create_pkt_cmd_session_send( return -EINVAL; def_idx = get_pkt_index(ptr); if (def_idx < 0) if (def_idx < 0 && ptr->size < MAX_HFI_PKT_SIZE * sizeof(u32)) { memcpy(out_pkt, in_pkt, ptr->size); return 0; } if (ptr->size > MAX_HFI_PKT_SIZE * sizeof(unsigned int)) goto error_hfi_packet; if (cvp_hfi_defs[def_idx].type != ptr->packet_type) Loading
drivers/media/platform/msm/cvp/hfi_response_handler.c +6 −11 Original line number Diff line number Diff line Loading @@ -662,6 +662,7 @@ static int hfi_process_session_cvp_operation_config(u32 device_id, struct msm_cvp_cb_info *info) { struct msm_cvp_cb_cmd_done cmd_done = {0}; int signal; if (!pkt) { dprintk(CVP_ERR, "%s: invalid param\n", __func__); Loading @@ -681,21 +682,14 @@ static int hfi_process_session_cvp_operation_config(u32 device_id, "%s: device_id=%d status=%d, sessionid=%x config=%x\n", __func__, device_id, cmd_done.status, cmd_done.session_id, pkt->op_conf_id); switch (pkt->op_conf_id) { case HFI_CMD_SESSION_CVP_DFS_CONFIG: info->response_type = HAL_SESSION_DFS_CONFIG_CMD_DONE; break; case HFI_CMD_SESSION_CVP_DME_CONFIG: info->response_type = HAL_SESSION_DME_CONFIG_CMD_DONE; break; case HFI_CMD_SESSION_CVP_DME_BASIC_CONFIG: info->response_type = HAL_SESSION_DME_BASIC_CONFIG_CMD_DONE; break; default: signal = get_signal_from_pkt_type(pkt->op_conf_id); if (signal < 0) { dprintk(CVP_ERR, "%s Invalid op config id\n", __func__); return -EINVAL; } info->response_type = signal; info->response.cmd = cmd_done; return 0; } Loading Loading @@ -998,6 +992,7 @@ int cvp_hfi_process_msg_packet(u32 device_id, default: dprintk(CVP_DBG, "Unable to parse message: %#x\n", msg_hdr->packet); pkt_func = (pkt_func_def)hfi_process_session_cvp_msg; break; } Loading