static void hfi_process_session_prop_info(msm_vidc_callback callback, u32 device_id, struct hal_session *session, struct hfi_msg_session_property_info_packet *pkt) { struct msm_vidc_cb_cmd_done cmd_done = {0}; struct hfi_profile_level profile_level = {0}; struct buffer_requirements buff_req; memset(&buff_req, 0, sizeof(struct buffer_requirements)); dprintk(VIDC_DBG, "Received SESSION_PROPERTY_INFO[%p]\n", session); if (pkt->size < sizeof(struct hfi_msg_session_property_info_packet)) { dprintk(VIDC_ERR, "hal_process_session_prop_info: bad_pkt_size\n"); return; } if (pkt->num_properties == 0) { dprintk(VIDC_ERR, "hal_process_session_prop_info: no_properties\n"); return; } switch (pkt->rg_property_data[0]) { case HFI_PROPERTY_CONFIG_BUFFER_REQUIREMENTS: hfi_process_sess_get_prop_buf_req(pkt, &buff_req); cmd_done.device_id = device_id; cmd_done.session_id = session->session_id; cmd_done.status = VIDC_ERR_NONE; cmd_done.data = &buff_req; cmd_done.size = sizeof(struct buffer_requirements); callback(SESSION_PROPERTY_INFO, &cmd_done); break; case HFI_PROPERTY_PARAM_PROFILE_LEVEL_CURRENT: hfi_process_sess_get_prop_profile_level(pkt, &profile_level); cmd_done.device_id = device_id; cmd_done.session_id = session->session_id; cmd_done.status = VIDC_ERR_NONE; cmd_done.data = &profile_level; cmd_done.size = sizeof(struct hal_profile_level); callback(SESSION_PROPERTY_INFO, &cmd_done); break; default: dprintk(VIDC_DBG, "hal_process_session_prop_info: unknown_prop_id: %x\n", pkt->rg_property_data[0]); break; } }
static void hfi_process_session_prop_info( msm_vidc_callback callback, u32 device_id, struct hfi_msg_session_property_info_packet *pkt) { struct msm_vidc_cb_cmd_done cmd_done; struct buffer_requirements buff_req; dprintk(VIDC_DBG, "Received SESSION_PROPERTY_INFO[%u]\n", pkt->session_id); if (pkt->size < sizeof(struct hfi_msg_session_property_info_packet)) { dprintk(VIDC_ERR, "hal_process_session_prop_info:bad_pkt_size"); return; } if (pkt->num_properties == 0) { dprintk(VIDC_ERR, "hal_process_session_prop_info:no_properties"); return; } memset(&cmd_done, 0, sizeof(struct msm_vidc_cb_cmd_done)); memset(&buff_req, 0, sizeof(struct buffer_requirements)); switch (pkt->rg_property_data[0]) { case HFI_PROPERTY_CONFIG_BUFFER_REQUIREMENTS: hfi_process_sess_get_prop_buf_req(pkt, &buff_req); cmd_done.device_id = device_id; cmd_done.session_id = ((struct hal_session *) pkt->session_id)->session_id; cmd_done.status = VIDC_ERR_NONE; cmd_done.data = &buff_req; cmd_done.size = sizeof(struct buffer_requirements); callback(SESSION_PROPERTY_INFO, &cmd_done); break; default: dprintk(VIDC_ERR, "hal_process_session_prop_info:" "unknown_prop_id: %d", pkt->rg_property_data[0]); break; } }