Loading drivers/media/platform/msm/cvp/cvp.c +4 −6 Original line number Diff line number Diff line Loading @@ -572,10 +572,9 @@ static int __init msm_cvp_init(void) } cvp_driver->msg_cache = KMEM_CACHE(cvp_session_msg, 0); cvp_driver->fence_data_cache = KMEM_CACHE(msm_cvp_fence_thread_data, 0); cvp_driver->frame_cache = KMEM_CACHE(msm_cvp_frame, 0); cvp_driver->frame_buf_cache = KMEM_CACHE(msm_cvp_frame_buf, 0); cvp_driver->internal_buf_cache = KMEM_CACHE(msm_cvp_internal_buffer, 0); cvp_driver->buf_cache = KMEM_CACHE(cvp_internal_buf, 0); cvp_driver->smem_cache = KMEM_CACHE(msm_cvp_smem, 0); rc = cvp_dsp_device_init(); if (rc) Loading @@ -588,10 +587,9 @@ static void __exit msm_cvp_exit(void) { cvp_dsp_device_exit(); kmem_cache_destroy(cvp_driver->msg_cache); kmem_cache_destroy(cvp_driver->fence_data_cache); kmem_cache_destroy(cvp_driver->frame_cache); kmem_cache_destroy(cvp_driver->frame_buf_cache); kmem_cache_destroy(cvp_driver->internal_buf_cache); kmem_cache_destroy(cvp_driver->buf_cache); kmem_cache_destroy(cvp_driver->smem_cache); platform_driver_unregister(&msm_cvp_driver); debugfs_remove_recursive(cvp_driver->debugfs_root); Loading drivers/media/platform/msm/cvp/cvp_hfi.c +12 −22 Original line number Diff line number Diff line Loading @@ -809,9 +809,7 @@ static int __smem_alloc(struct iris_hfi_device *dev, struct cvp_mem_addr *mem, } dprintk(CVP_INFO, "start to alloc size: %d, flags: %d\n", size, flags); rc = msm_cvp_smem_alloc( size, align, flags, 1, (void *)dev->res, MSM_CVP_UNKNOWN, alloc); rc = msm_cvp_smem_alloc(size, align, flags, 1, (void *)dev->res, alloc); if (rc) { dprintk(CVP_ERR, "Alloc failed\n"); rc = -ENOMEM; Loading Loading @@ -1512,7 +1510,7 @@ static int __interface_dsp_queues_init(struct iris_hfi_device *dev) dprintk(CVP_ERR, "%s: failed dma allocation\n", __func__); goto fail_dma_alloc; } cb = msm_cvp_smem_get_context_bank(MSM_CVP_UNKNOWN, 0, dev->res, 0); cb = msm_cvp_smem_get_context_bank(0, dev->res, 0); if (!cb) { dprintk(CVP_ERR, "%s: failed to get context bank\n", __func__); Loading @@ -1533,7 +1531,7 @@ static int __interface_dsp_queues_init(struct iris_hfi_device *dev) mem_data->device_addr = iova; mem_data->dma_handle = dma_handle; mem_data->size = q_size; mem_data->buffer_type = 0; mem_data->ion_flags = 0; mem_data->mapping_info.cb_info = cb; if (!is_iommu_present(dev->res)) Loading Loading @@ -1621,8 +1619,7 @@ static void __interface_queues_release(struct iris_hfi_device *device) } mem_map = (struct cvp_hfi_mem_map *)(qdss + 1); cb = msm_cvp_smem_get_context_bank(MSM_CVP_UNKNOWN, false, device->res, 0); cb = msm_cvp_smem_get_context_bank(false, device->res, 0); for (i = 0; cb && i < num_entries; i++) { iommu_unmap(cb->domain, Loading Loading @@ -1846,8 +1843,7 @@ static int __interface_queues_init(struct iris_hfi_device *dev) qdss->mem_map_table_base_addr = mem_map_table_base_addr; mem_map = (struct cvp_hfi_mem_map *)(qdss + 1); cb = msm_cvp_smem_get_context_bank(MSM_CVP_UNKNOWN, false, dev->res, 0); cb = msm_cvp_smem_get_context_bank(false, dev->res, 0); if (!cb) { dprintk(CVP_ERR, "%s: failed to get context bank\n", __func__); Loading Loading @@ -2344,15 +2340,14 @@ static int iris_hfi_session_abort(void *sess) return rc; } static int iris_hfi_session_set_buffers(void *sess, struct cvp_buffer_addr_info *buffer_info) static int iris_hfi_session_set_buffers(void *sess, u32 iova, u32 size) { struct cvp_hfi_cmd_session_set_buffers_packet pkt; int rc = 0; struct cvp_hal_session *session = sess; struct iris_hfi_device *device; if (!session || !session->device || !buffer_info) { if (!session || !session->device || !iova || !size) { dprintk(CVP_ERR, "Invalid Params\n"); return -EINVAL; } Loading @@ -2366,13 +2361,12 @@ static int iris_hfi_session_set_buffers(void *sess, } rc = call_hfi_pkt_op(device, session_set_buffers, &pkt, session, buffer_info); &pkt, session, iova, size); if (rc) { dprintk(CVP_ERR, "set buffers: failed to create packet\n"); goto err_create_pkt; } dprintk(CVP_DBG, "set buffers: %#x\n", buffer_info->buffer_type); if (__iface_cmdq_write(session->device, &pkt)) rc = -ENOTEMPTY; Loading @@ -2381,15 +2375,14 @@ static int iris_hfi_session_set_buffers(void *sess, return rc; } static int iris_hfi_session_release_buffers(void *sess, struct cvp_buffer_addr_info *buffer_info) static int iris_hfi_session_release_buffers(void *sess) { struct cvp_session_release_buffers_packet pkt; int rc = 0; struct cvp_hal_session *session = sess; struct iris_hfi_device *device; if (!session || !session->device || !buffer_info) { if (!session || !session->device) { dprintk(CVP_ERR, "Invalid Params\n"); return -EINVAL; } Loading @@ -2402,8 +2395,7 @@ static int iris_hfi_session_release_buffers(void *sess, goto err_create_pkt; } rc = call_hfi_pkt_op(device, session_release_buffers, &pkt, session, buffer_info); rc = call_hfi_pkt_op(device, session_release_buffers, &pkt, session); if (rc) { dprintk(CVP_ERR, "release buffers: failed to create packet\n"); goto err_create_pkt; Loading Loading @@ -2878,14 +2870,12 @@ static void **get_session_id(struct msm_cvp_cb_info *info) case HAL_SESSION_FD_CONFIG_CMD_DONE: case HAL_SESSION_MODEL_BUF_CMD_DONE: case HAL_SESSION_PROPERTY_INFO: case HAL_SESSION_EVENT_CHANGE: session_id = &info->response.cmd.session_id; break; case HAL_SESSION_ERROR: session_id = &info->response.data.session_id; break; case HAL_SESSION_EVENT_CHANGE: session_id = &info->response.event.session_id; break; case HAL_RESPONSE_UNUSED: default: session_id = NULL; Loading drivers/media/platform/msm/cvp/cvp_hfi_api.h +4 −61 Original line number Diff line number Diff line Loading @@ -162,22 +162,6 @@ struct cvp_resource_hdr { void *resource_handle; }; struct cvp_buffer_addr_info { enum hal_buffer buffer_type; u32 buffer_size; u32 num_buffers; u32 align_device_addr; u32 extradata_addr; u32 extradata_size; u32 response_required; }; /* Needs to be exactly the same as hfi_buffer_info */ struct cvp_hal_buffer_info { u32 buffer_addr; u32 extra_data_addr; }; struct cvp_hal_fw_info { char version[CVP_VERSION_LENGTH]; phys_addr_t base_addr; Loading @@ -186,13 +170,6 @@ struct cvp_hal_fw_info { int irq; }; enum hal_flush { HAL_FLUSH_INPUT, HAL_FLUSH_OUTPUT, HAL_FLUSH_ALL, HAL_UNUSED_FLUSH = 0x10000000, }; enum hal_event_type { HAL_EVENT_SEQ_CHANGED_SUFFICIENT_RESOURCES, HAL_EVENT_SEQ_CHANGED_INSUFFICIENT_RESOURCES, Loading Loading @@ -282,56 +259,24 @@ struct msm_cvp_cb_cmd_done { union { struct cvp_hfi_msg_session_hdr msg_hdr; struct cvp_resource_hdr resource_hdr; struct cvp_buffer_addr_info buffer_addr_info; struct cvp_hal_sys_init_done sys_init_done; struct cvp_hal_session_init_done session_init_done; struct cvp_hal_buffer_info buffer_info; enum hal_flush flush_type; u32 buffer_addr; } data; }; struct cvp_hal_index_extradata_input_crop_payload { u32 size; u32 version; u32 port_index; u32 left; u32 top; u32 width; u32 height; }; struct msm_cvp_cb_event { u32 device_id; void *session_id; enum cvp_status status; u32 height; u32 width; int bit_depth; u32 hal_event_type; u32 packet_buffer; u32 extra_data_buffer; u32 pic_struct; u32 colour_space; u32 profile; u32 level; u32 entropy_mode; u32 capture_buf_count; struct cvp_hal_index_extradata_input_crop_payload crop_data; }; struct msm_cvp_cb_data_done { u32 device_id; void *session_id; enum cvp_status status; u32 size; u32 clnt_data; u32 client_data; }; struct msm_cvp_cb_info { enum hal_command_response response_type; union { struct msm_cvp_cb_cmd_done cmd; struct msm_cvp_cb_event event; struct msm_cvp_cb_data_done data; } response; }; Loading Loading @@ -393,10 +338,8 @@ struct cvp_hfi_device { int (*session_init)(void *device, void *session_id, void **new_session); int (*session_end)(void *session); int (*session_abort)(void *session); int (*session_set_buffers)(void *sess, struct cvp_buffer_addr_info *buffer_info); int (*session_release_buffers)(void *sess, struct cvp_buffer_addr_info *buffer_info); int (*session_set_buffers)(void *sess, u32 iova, u32 size); int (*session_release_buffers)(void *sess); int (*session_send)(void *sess, struct cvp_kmd_hfi_packet *in_pkt); int (*scale_clocks)(void *dev, u32 freq); Loading drivers/media/platform/msm/cvp/cvp_hfi_helper.h +1 −7 Original line number Diff line number Diff line Loading @@ -291,7 +291,7 @@ struct cvp_hfi_client { } __packed; struct cvp_hfi_buf_type { s32 fd; u32 iova; u32 size; u32 offset; u32 flags; Loading Loading @@ -369,12 +369,6 @@ struct cvp_hfi_msg_session_op_cfg_packet { u32 op_conf_id; } __packed; struct cvp_hfi_msg_release_buffer_ref_event_packet { u32 packet_buffer; u32 extra_data_buffer; u32 output_tag; }; struct cvp_hfi_msg_sys_init_done_packet { u32 size; u32 packet_type; Loading drivers/media/platform/msm/cvp/hfi_packetization.c +8 −14 Original line number Diff line number Diff line Loading @@ -300,7 +300,8 @@ int cvp_create_pkt_cmd_sys_power_control( int cvp_create_pkt_cmd_session_set_buffers( void *cmd, struct cvp_hal_session *session, struct cvp_buffer_addr_info *buffer_info) u32 iova, u32 size) { int rc = 0; struct cvp_hfi_cmd_session_set_buffers_packet *pkt; Loading @@ -311,8 +312,8 @@ int cvp_create_pkt_cmd_session_set_buffers( pkt = (struct cvp_hfi_cmd_session_set_buffers_packet *)cmd; pkt->packet_type = HFI_CMD_SESSION_CVP_SET_BUFFERS; pkt->session_id = hash32_ptr(session); pkt->buf_type.fd = buffer_info->align_device_addr; pkt->buf_type.size = buffer_info->buffer_size; pkt->buf_type.iova = iova; pkt->buf_type.size = size; pkt->size = sizeof(struct cvp_hfi_cmd_session_set_buffers_packet); return rc; Loading @@ -320,8 +321,7 @@ int cvp_create_pkt_cmd_session_set_buffers( int cvp_create_pkt_cmd_session_release_buffers( void *cmd, struct cvp_hal_session *session, struct cvp_buffer_addr_info *buffer_info) struct cvp_hal_session *session) { struct cvp_session_release_buffers_packet *pkt; Loading @@ -331,16 +331,10 @@ int cvp_create_pkt_cmd_session_release_buffers( pkt = (struct cvp_session_release_buffers_packet *)cmd; pkt->packet_type = HFI_CMD_SESSION_CVP_RELEASE_BUFFERS; pkt->session_id = hash32_ptr(session); pkt->num_buffers = buffer_info->num_buffers; pkt->buffer_type = buffer_info->buffer_type; pkt->num_buffers = 1; pkt->buffer_type = 0; pkt->size = sizeof(struct cvp_session_release_buffers_packet) + ((buffer_info->num_buffers - 1) * sizeof(u32)); if (buffer_info->buffer_type == HAL_BUFFER_OUTPUT || buffer_info->buffer_type == HAL_BUFFER_OUTPUT2) { dprintk(CVP_ERR, "%s: deprecated buffer_type\n", __func__); return -EINVAL; } ((pkt->num_buffers - 1) * sizeof(u32)); return 0; } Loading Loading
drivers/media/platform/msm/cvp/cvp.c +4 −6 Original line number Diff line number Diff line Loading @@ -572,10 +572,9 @@ static int __init msm_cvp_init(void) } cvp_driver->msg_cache = KMEM_CACHE(cvp_session_msg, 0); cvp_driver->fence_data_cache = KMEM_CACHE(msm_cvp_fence_thread_data, 0); cvp_driver->frame_cache = KMEM_CACHE(msm_cvp_frame, 0); cvp_driver->frame_buf_cache = KMEM_CACHE(msm_cvp_frame_buf, 0); cvp_driver->internal_buf_cache = KMEM_CACHE(msm_cvp_internal_buffer, 0); cvp_driver->buf_cache = KMEM_CACHE(cvp_internal_buf, 0); cvp_driver->smem_cache = KMEM_CACHE(msm_cvp_smem, 0); rc = cvp_dsp_device_init(); if (rc) Loading @@ -588,10 +587,9 @@ static void __exit msm_cvp_exit(void) { cvp_dsp_device_exit(); kmem_cache_destroy(cvp_driver->msg_cache); kmem_cache_destroy(cvp_driver->fence_data_cache); kmem_cache_destroy(cvp_driver->frame_cache); kmem_cache_destroy(cvp_driver->frame_buf_cache); kmem_cache_destroy(cvp_driver->internal_buf_cache); kmem_cache_destroy(cvp_driver->buf_cache); kmem_cache_destroy(cvp_driver->smem_cache); platform_driver_unregister(&msm_cvp_driver); debugfs_remove_recursive(cvp_driver->debugfs_root); Loading
drivers/media/platform/msm/cvp/cvp_hfi.c +12 −22 Original line number Diff line number Diff line Loading @@ -809,9 +809,7 @@ static int __smem_alloc(struct iris_hfi_device *dev, struct cvp_mem_addr *mem, } dprintk(CVP_INFO, "start to alloc size: %d, flags: %d\n", size, flags); rc = msm_cvp_smem_alloc( size, align, flags, 1, (void *)dev->res, MSM_CVP_UNKNOWN, alloc); rc = msm_cvp_smem_alloc(size, align, flags, 1, (void *)dev->res, alloc); if (rc) { dprintk(CVP_ERR, "Alloc failed\n"); rc = -ENOMEM; Loading Loading @@ -1512,7 +1510,7 @@ static int __interface_dsp_queues_init(struct iris_hfi_device *dev) dprintk(CVP_ERR, "%s: failed dma allocation\n", __func__); goto fail_dma_alloc; } cb = msm_cvp_smem_get_context_bank(MSM_CVP_UNKNOWN, 0, dev->res, 0); cb = msm_cvp_smem_get_context_bank(0, dev->res, 0); if (!cb) { dprintk(CVP_ERR, "%s: failed to get context bank\n", __func__); Loading @@ -1533,7 +1531,7 @@ static int __interface_dsp_queues_init(struct iris_hfi_device *dev) mem_data->device_addr = iova; mem_data->dma_handle = dma_handle; mem_data->size = q_size; mem_data->buffer_type = 0; mem_data->ion_flags = 0; mem_data->mapping_info.cb_info = cb; if (!is_iommu_present(dev->res)) Loading Loading @@ -1621,8 +1619,7 @@ static void __interface_queues_release(struct iris_hfi_device *device) } mem_map = (struct cvp_hfi_mem_map *)(qdss + 1); cb = msm_cvp_smem_get_context_bank(MSM_CVP_UNKNOWN, false, device->res, 0); cb = msm_cvp_smem_get_context_bank(false, device->res, 0); for (i = 0; cb && i < num_entries; i++) { iommu_unmap(cb->domain, Loading Loading @@ -1846,8 +1843,7 @@ static int __interface_queues_init(struct iris_hfi_device *dev) qdss->mem_map_table_base_addr = mem_map_table_base_addr; mem_map = (struct cvp_hfi_mem_map *)(qdss + 1); cb = msm_cvp_smem_get_context_bank(MSM_CVP_UNKNOWN, false, dev->res, 0); cb = msm_cvp_smem_get_context_bank(false, dev->res, 0); if (!cb) { dprintk(CVP_ERR, "%s: failed to get context bank\n", __func__); Loading Loading @@ -2344,15 +2340,14 @@ static int iris_hfi_session_abort(void *sess) return rc; } static int iris_hfi_session_set_buffers(void *sess, struct cvp_buffer_addr_info *buffer_info) static int iris_hfi_session_set_buffers(void *sess, u32 iova, u32 size) { struct cvp_hfi_cmd_session_set_buffers_packet pkt; int rc = 0; struct cvp_hal_session *session = sess; struct iris_hfi_device *device; if (!session || !session->device || !buffer_info) { if (!session || !session->device || !iova || !size) { dprintk(CVP_ERR, "Invalid Params\n"); return -EINVAL; } Loading @@ -2366,13 +2361,12 @@ static int iris_hfi_session_set_buffers(void *sess, } rc = call_hfi_pkt_op(device, session_set_buffers, &pkt, session, buffer_info); &pkt, session, iova, size); if (rc) { dprintk(CVP_ERR, "set buffers: failed to create packet\n"); goto err_create_pkt; } dprintk(CVP_DBG, "set buffers: %#x\n", buffer_info->buffer_type); if (__iface_cmdq_write(session->device, &pkt)) rc = -ENOTEMPTY; Loading @@ -2381,15 +2375,14 @@ static int iris_hfi_session_set_buffers(void *sess, return rc; } static int iris_hfi_session_release_buffers(void *sess, struct cvp_buffer_addr_info *buffer_info) static int iris_hfi_session_release_buffers(void *sess) { struct cvp_session_release_buffers_packet pkt; int rc = 0; struct cvp_hal_session *session = sess; struct iris_hfi_device *device; if (!session || !session->device || !buffer_info) { if (!session || !session->device) { dprintk(CVP_ERR, "Invalid Params\n"); return -EINVAL; } Loading @@ -2402,8 +2395,7 @@ static int iris_hfi_session_release_buffers(void *sess, goto err_create_pkt; } rc = call_hfi_pkt_op(device, session_release_buffers, &pkt, session, buffer_info); rc = call_hfi_pkt_op(device, session_release_buffers, &pkt, session); if (rc) { dprintk(CVP_ERR, "release buffers: failed to create packet\n"); goto err_create_pkt; Loading Loading @@ -2878,14 +2870,12 @@ static void **get_session_id(struct msm_cvp_cb_info *info) case HAL_SESSION_FD_CONFIG_CMD_DONE: case HAL_SESSION_MODEL_BUF_CMD_DONE: case HAL_SESSION_PROPERTY_INFO: case HAL_SESSION_EVENT_CHANGE: session_id = &info->response.cmd.session_id; break; case HAL_SESSION_ERROR: session_id = &info->response.data.session_id; break; case HAL_SESSION_EVENT_CHANGE: session_id = &info->response.event.session_id; break; case HAL_RESPONSE_UNUSED: default: session_id = NULL; Loading
drivers/media/platform/msm/cvp/cvp_hfi_api.h +4 −61 Original line number Diff line number Diff line Loading @@ -162,22 +162,6 @@ struct cvp_resource_hdr { void *resource_handle; }; struct cvp_buffer_addr_info { enum hal_buffer buffer_type; u32 buffer_size; u32 num_buffers; u32 align_device_addr; u32 extradata_addr; u32 extradata_size; u32 response_required; }; /* Needs to be exactly the same as hfi_buffer_info */ struct cvp_hal_buffer_info { u32 buffer_addr; u32 extra_data_addr; }; struct cvp_hal_fw_info { char version[CVP_VERSION_LENGTH]; phys_addr_t base_addr; Loading @@ -186,13 +170,6 @@ struct cvp_hal_fw_info { int irq; }; enum hal_flush { HAL_FLUSH_INPUT, HAL_FLUSH_OUTPUT, HAL_FLUSH_ALL, HAL_UNUSED_FLUSH = 0x10000000, }; enum hal_event_type { HAL_EVENT_SEQ_CHANGED_SUFFICIENT_RESOURCES, HAL_EVENT_SEQ_CHANGED_INSUFFICIENT_RESOURCES, Loading Loading @@ -282,56 +259,24 @@ struct msm_cvp_cb_cmd_done { union { struct cvp_hfi_msg_session_hdr msg_hdr; struct cvp_resource_hdr resource_hdr; struct cvp_buffer_addr_info buffer_addr_info; struct cvp_hal_sys_init_done sys_init_done; struct cvp_hal_session_init_done session_init_done; struct cvp_hal_buffer_info buffer_info; enum hal_flush flush_type; u32 buffer_addr; } data; }; struct cvp_hal_index_extradata_input_crop_payload { u32 size; u32 version; u32 port_index; u32 left; u32 top; u32 width; u32 height; }; struct msm_cvp_cb_event { u32 device_id; void *session_id; enum cvp_status status; u32 height; u32 width; int bit_depth; u32 hal_event_type; u32 packet_buffer; u32 extra_data_buffer; u32 pic_struct; u32 colour_space; u32 profile; u32 level; u32 entropy_mode; u32 capture_buf_count; struct cvp_hal_index_extradata_input_crop_payload crop_data; }; struct msm_cvp_cb_data_done { u32 device_id; void *session_id; enum cvp_status status; u32 size; u32 clnt_data; u32 client_data; }; struct msm_cvp_cb_info { enum hal_command_response response_type; union { struct msm_cvp_cb_cmd_done cmd; struct msm_cvp_cb_event event; struct msm_cvp_cb_data_done data; } response; }; Loading Loading @@ -393,10 +338,8 @@ struct cvp_hfi_device { int (*session_init)(void *device, void *session_id, void **new_session); int (*session_end)(void *session); int (*session_abort)(void *session); int (*session_set_buffers)(void *sess, struct cvp_buffer_addr_info *buffer_info); int (*session_release_buffers)(void *sess, struct cvp_buffer_addr_info *buffer_info); int (*session_set_buffers)(void *sess, u32 iova, u32 size); int (*session_release_buffers)(void *sess); int (*session_send)(void *sess, struct cvp_kmd_hfi_packet *in_pkt); int (*scale_clocks)(void *dev, u32 freq); Loading
drivers/media/platform/msm/cvp/cvp_hfi_helper.h +1 −7 Original line number Diff line number Diff line Loading @@ -291,7 +291,7 @@ struct cvp_hfi_client { } __packed; struct cvp_hfi_buf_type { s32 fd; u32 iova; u32 size; u32 offset; u32 flags; Loading Loading @@ -369,12 +369,6 @@ struct cvp_hfi_msg_session_op_cfg_packet { u32 op_conf_id; } __packed; struct cvp_hfi_msg_release_buffer_ref_event_packet { u32 packet_buffer; u32 extra_data_buffer; u32 output_tag; }; struct cvp_hfi_msg_sys_init_done_packet { u32 size; u32 packet_type; Loading
drivers/media/platform/msm/cvp/hfi_packetization.c +8 −14 Original line number Diff line number Diff line Loading @@ -300,7 +300,8 @@ int cvp_create_pkt_cmd_sys_power_control( int cvp_create_pkt_cmd_session_set_buffers( void *cmd, struct cvp_hal_session *session, struct cvp_buffer_addr_info *buffer_info) u32 iova, u32 size) { int rc = 0; struct cvp_hfi_cmd_session_set_buffers_packet *pkt; Loading @@ -311,8 +312,8 @@ int cvp_create_pkt_cmd_session_set_buffers( pkt = (struct cvp_hfi_cmd_session_set_buffers_packet *)cmd; pkt->packet_type = HFI_CMD_SESSION_CVP_SET_BUFFERS; pkt->session_id = hash32_ptr(session); pkt->buf_type.fd = buffer_info->align_device_addr; pkt->buf_type.size = buffer_info->buffer_size; pkt->buf_type.iova = iova; pkt->buf_type.size = size; pkt->size = sizeof(struct cvp_hfi_cmd_session_set_buffers_packet); return rc; Loading @@ -320,8 +321,7 @@ int cvp_create_pkt_cmd_session_set_buffers( int cvp_create_pkt_cmd_session_release_buffers( void *cmd, struct cvp_hal_session *session, struct cvp_buffer_addr_info *buffer_info) struct cvp_hal_session *session) { struct cvp_session_release_buffers_packet *pkt; Loading @@ -331,16 +331,10 @@ int cvp_create_pkt_cmd_session_release_buffers( pkt = (struct cvp_session_release_buffers_packet *)cmd; pkt->packet_type = HFI_CMD_SESSION_CVP_RELEASE_BUFFERS; pkt->session_id = hash32_ptr(session); pkt->num_buffers = buffer_info->num_buffers; pkt->buffer_type = buffer_info->buffer_type; pkt->num_buffers = 1; pkt->buffer_type = 0; pkt->size = sizeof(struct cvp_session_release_buffers_packet) + ((buffer_info->num_buffers - 1) * sizeof(u32)); if (buffer_info->buffer_type == HAL_BUFFER_OUTPUT || buffer_info->buffer_type == HAL_BUFFER_OUTPUT2) { dprintk(CVP_ERR, "%s: deprecated buffer_type\n", __func__); return -EINVAL; } ((pkt->num_buffers - 1) * sizeof(u32)); return 0; } Loading