Commit f0383520 authored by Stanimir Varbanov's avatar Stanimir Varbanov Committed by Mauro Carvalho Chehab

media: venus: helpers: rename a helper function and use buffer mode from caps

Rename is_reg_unreg_needed() to better name is_dynamic_bufmode() and
use buffer mode from enumerated per codec capabilities.
Signed-off-by: default avatarStanimir Varbanov <stanimir.varbanov@linaro.org>
Reviewed-by: default avatarTomasz Figa <tfiga@chromium.org>
Reviewed-by: default avatarAlexandre Courbot <acourbot@chromium.org>
Tested-by: default avatarAlexandre Courbot <acourbot@chromium.org>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 1a73374a
...@@ -359,18 +359,16 @@ session_process_buf(struct venus_inst *inst, struct vb2_v4l2_buffer *vbuf) ...@@ -359,18 +359,16 @@ session_process_buf(struct venus_inst *inst, struct vb2_v4l2_buffer *vbuf)
return 0; return 0;
} }
static inline int is_reg_unreg_needed(struct venus_inst *inst) static bool is_dynamic_bufmode(struct venus_inst *inst)
{ {
if (inst->session_type == VIDC_SESSION_TYPE_DEC && struct venus_core *core = inst->core;
inst->core->res->hfi_version == HFI_VERSION_3XX) struct venus_caps *caps;
return 0;
if (inst->session_type == VIDC_SESSION_TYPE_DEC && caps = venus_caps_by_codec(core, inst->hfi_codec, inst->session_type);
inst->cap_bufs_mode_dynamic && if (!caps)
inst->core->res->hfi_version == HFI_VERSION_1XX)
return 0; return 0;
return 1; return caps->cap_bufs_mode_dynamic;
} }
static int session_unregister_bufs(struct venus_inst *inst) static int session_unregister_bufs(struct venus_inst *inst)
...@@ -379,7 +377,7 @@ static int session_unregister_bufs(struct venus_inst *inst) ...@@ -379,7 +377,7 @@ static int session_unregister_bufs(struct venus_inst *inst)
struct hfi_buffer_desc bd; struct hfi_buffer_desc bd;
int ret = 0; int ret = 0;
if (!is_reg_unreg_needed(inst)) if (is_dynamic_bufmode(inst))
return 0; return 0;
list_for_each_entry_safe(buf, n, &inst->registeredbufs, reg_list) { list_for_each_entry_safe(buf, n, &inst->registeredbufs, reg_list) {
...@@ -399,7 +397,7 @@ static int session_register_bufs(struct venus_inst *inst) ...@@ -399,7 +397,7 @@ static int session_register_bufs(struct venus_inst *inst)
struct venus_buffer *buf; struct venus_buffer *buf;
int ret = 0; int ret = 0;
if (!is_reg_unreg_needed(inst)) if (is_dynamic_bufmode(inst))
return 0; return 0;
list_for_each_entry(buf, &inst->registeredbufs, reg_list) { list_for_each_entry(buf, &inst->registeredbufs, reg_list) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment