Loading drivers/media/platform/msm/vidc/hfi_response_handler.c +33 −0 Original line number Diff line number Diff line Loading @@ -532,6 +532,39 @@ enum vidc_status hfi_process_sess_init_done_prop_read( num_properties--; break; } case HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE_SUPPORTED: { struct hfi_buffer_alloc_mode_supported *prop = (struct hfi_buffer_alloc_mode_supported *) (data_ptr + next_offset); int i; if (prop->buffer_type == HFI_BUFFER_OUTPUT || prop->buffer_type == HFI_BUFFER_OUTPUT2) { sess_init_done->alloc_mode_out = 0; for (i = 0; i < prop->num_entries; i++) { switch (prop->rg_data[i]) { case HFI_BUFFER_MODE_STATIC: sess_init_done->alloc_mode_out |= HAL_BUFFER_MODE_STATIC; break; case HFI_BUFFER_MODE_DYNAMIC: sess_init_done->alloc_mode_out |= HAL_BUFFER_MODE_DYNAMIC; break; } if (i >= 32) { dprintk(VIDC_ERR, "%s - num_entries: %d from f/w seems suspect\n", __func__, prop->num_entries); break; } } } next_offset += sizeof(*prop) - sizeof(u32) + prop->num_entries * sizeof(u32); num_properties--; break; } default: dprintk(VIDC_DBG, "%s default case - 0x%x", __func__, prop_id); Loading drivers/media/platform/msm/vidc/msm_vdec.c +2 −0 Original line number Diff line number Diff line Loading @@ -1302,6 +1302,8 @@ int msm_vdec_inst_init(struct msm_vidc_inst *inst) inst->capability.height.max = DEFAULT_HEIGHT; inst->capability.width.min = MIN_SUPPORTED_WIDTH; inst->capability.width.max = DEFAULT_WIDTH; inst->capability.buffer_mode[OUTPUT_PORT] = HAL_BUFFER_MODE_STATIC; inst->capability.buffer_mode[CAPTURE_PORT] = HAL_BUFFER_MODE_STATIC; inst->prop.fps = 30; return rc; } Loading drivers/media/platform/msm/vidc/msm_vidc_common.c +2 −0 Original line number Diff line number Diff line Loading @@ -430,6 +430,8 @@ static void handle_session_init_done(enum command_response cmd, void *data) inst->capability.frame_rate = session_init_done->frame_rate; inst->capability.capability_set = true; inst->capability.buffer_mode[CAPTURE_PORT] = session_init_done->alloc_mode_out; } else { dprintk(VIDC_ERR, "Session init response from FW : 0x%x", Loading drivers/media/platform/msm/vidc/msm_vidc_internal.h +1 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ struct msm_vidc_core_capability { struct hal_capability_supported frame_rate; u32 pixelprocess_capabilities; u32 capability_set; enum buffer_mode_type buffer_mode[MAX_PORT_NUM]; }; struct msm_vidc_core { Loading drivers/media/platform/msm/vidc/vidc_hfi.h +9 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ #define HFI_BUFFER_MODE_STATIC (HFI_OX_BASE + 0x1) #define HFI_BUFFER_MODE_RING (HFI_OX_BASE + 0x2) #define HFI_BUFFER_MODE_DYNAMIC (HFI_OX_BASE + 0x3) #define HFI_FLUSH_INPUT (HFI_OX_BASE + 0x1) #define HFI_FLUSH_OUTPUT (HFI_OX_BASE + 0x2) Loading Loading @@ -137,6 +138,8 @@ struct hfi_extradata_header { (HFI_PROPERTY_PARAM_OX_START + 0x008) #define HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA \ (HFI_PROPERTY_PARAM_OX_START + 0x009) #define HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE_SUPPORTED \ (HFI_PROPERTY_PARAM_OX_START + 0x00A) #define HFI_PROPERTY_CONFIG_OX_START \ (HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + 0x02000) Loading Loading @@ -278,6 +281,12 @@ struct hfi_interlace_format_supported { u32 format; }; struct hfi_buffer_alloc_mode_supported { u32 buffer_type; u32 num_entries; u32 rg_data[1]; }; struct hfi_mb_error_map { u32 error_map_size; u8 rg_error_map[1]; Loading Loading
drivers/media/platform/msm/vidc/hfi_response_handler.c +33 −0 Original line number Diff line number Diff line Loading @@ -532,6 +532,39 @@ enum vidc_status hfi_process_sess_init_done_prop_read( num_properties--; break; } case HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE_SUPPORTED: { struct hfi_buffer_alloc_mode_supported *prop = (struct hfi_buffer_alloc_mode_supported *) (data_ptr + next_offset); int i; if (prop->buffer_type == HFI_BUFFER_OUTPUT || prop->buffer_type == HFI_BUFFER_OUTPUT2) { sess_init_done->alloc_mode_out = 0; for (i = 0; i < prop->num_entries; i++) { switch (prop->rg_data[i]) { case HFI_BUFFER_MODE_STATIC: sess_init_done->alloc_mode_out |= HAL_BUFFER_MODE_STATIC; break; case HFI_BUFFER_MODE_DYNAMIC: sess_init_done->alloc_mode_out |= HAL_BUFFER_MODE_DYNAMIC; break; } if (i >= 32) { dprintk(VIDC_ERR, "%s - num_entries: %d from f/w seems suspect\n", __func__, prop->num_entries); break; } } } next_offset += sizeof(*prop) - sizeof(u32) + prop->num_entries * sizeof(u32); num_properties--; break; } default: dprintk(VIDC_DBG, "%s default case - 0x%x", __func__, prop_id); Loading
drivers/media/platform/msm/vidc/msm_vdec.c +2 −0 Original line number Diff line number Diff line Loading @@ -1302,6 +1302,8 @@ int msm_vdec_inst_init(struct msm_vidc_inst *inst) inst->capability.height.max = DEFAULT_HEIGHT; inst->capability.width.min = MIN_SUPPORTED_WIDTH; inst->capability.width.max = DEFAULT_WIDTH; inst->capability.buffer_mode[OUTPUT_PORT] = HAL_BUFFER_MODE_STATIC; inst->capability.buffer_mode[CAPTURE_PORT] = HAL_BUFFER_MODE_STATIC; inst->prop.fps = 30; return rc; } Loading
drivers/media/platform/msm/vidc/msm_vidc_common.c +2 −0 Original line number Diff line number Diff line Loading @@ -430,6 +430,8 @@ static void handle_session_init_done(enum command_response cmd, void *data) inst->capability.frame_rate = session_init_done->frame_rate; inst->capability.capability_set = true; inst->capability.buffer_mode[CAPTURE_PORT] = session_init_done->alloc_mode_out; } else { dprintk(VIDC_ERR, "Session init response from FW : 0x%x", Loading
drivers/media/platform/msm/vidc/msm_vidc_internal.h +1 −0 Original line number Diff line number Diff line Loading @@ -179,6 +179,7 @@ struct msm_vidc_core_capability { struct hal_capability_supported frame_rate; u32 pixelprocess_capabilities; u32 capability_set; enum buffer_mode_type buffer_mode[MAX_PORT_NUM]; }; struct msm_vidc_core { Loading
drivers/media/platform/msm/vidc/vidc_hfi.h +9 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ #define HFI_BUFFER_MODE_STATIC (HFI_OX_BASE + 0x1) #define HFI_BUFFER_MODE_RING (HFI_OX_BASE + 0x2) #define HFI_BUFFER_MODE_DYNAMIC (HFI_OX_BASE + 0x3) #define HFI_FLUSH_INPUT (HFI_OX_BASE + 0x1) #define HFI_FLUSH_OUTPUT (HFI_OX_BASE + 0x2) Loading Loading @@ -137,6 +138,8 @@ struct hfi_extradata_header { (HFI_PROPERTY_PARAM_OX_START + 0x008) #define HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA \ (HFI_PROPERTY_PARAM_OX_START + 0x009) #define HFI_PROPERTY_PARAM_BUFFER_ALLOC_MODE_SUPPORTED \ (HFI_PROPERTY_PARAM_OX_START + 0x00A) #define HFI_PROPERTY_CONFIG_OX_START \ (HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + 0x02000) Loading Loading @@ -278,6 +281,12 @@ struct hfi_interlace_format_supported { u32 format; }; struct hfi_buffer_alloc_mode_supported { u32 buffer_type; u32 num_entries; u32 rg_data[1]; }; struct hfi_mb_error_map { u32 error_map_size; u8 rg_error_map[1]; Loading