diff options
author | Dikshita Agarwal <dikshita@codeaurora.org> | 2020-12-24 15:00:10 +0530 |
---|---|---|
committer | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2021-01-06 16:40:13 +0000 |
commit | 2df7ba2033d8b1b2cce032a8b509468ae1533d0b (patch) | |
tree | 147fdbd2124ce65830820c59639340b881b54f22 | |
parent | 42857b2a2d0d6bbf8abaa25e785c3f314f6d62ab (diff) |
media: venus: helpers: Add internal buffer list for v6 decodertracking-qcomlt-sm8250-venus-04
Internal buffers required for v6 decoder are different
than encoder so add a separate list for the decoder.
bod: fixed up if/else, removed redundant bool
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-rw-r--r-- | drivers/media/platform/qcom/venus/helpers.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/media/platform/qcom/venus/helpers.c b/drivers/media/platform/qcom/venus/helpers.c index 1011e80c4663..626870296a5e 100644 --- a/drivers/media/platform/qcom/venus/helpers.c +++ b/drivers/media/platform/qcom/venus/helpers.c @@ -279,13 +279,19 @@ static const unsigned int intbuf_types_4xx[] = { HFI_BUFFER_INTERNAL_PERSIST_1, }; -static const unsigned int intbuf_types_6xx[] = { +static const unsigned int intbuf_types_6xx_enc[] = { HFI_BUFFER_INTERNAL_SCRATCH(HFI_VERSION_6XX), HFI_BUFFER_INTERNAL_SCRATCH_1(HFI_VERSION_6XX), HFI_BUFFER_INTERNAL_SCRATCH_2(HFI_VERSION_6XX), HFI_BUFFER_INTERNAL_PERSIST, }; +static const unsigned int intbuf_types_6xx_dec[] = { + HFI_BUFFER_INTERNAL_SCRATCH(HFI_VERSION_6XX), + HFI_BUFFER_INTERNAL_SCRATCH_1(HFI_VERSION_6XX), + HFI_BUFFER_INTERNAL_PERSIST_1, +}; + int venus_helper_intbufs_alloc(struct venus_inst *inst) { const unsigned int *intbuf; @@ -293,8 +299,13 @@ int venus_helper_intbufs_alloc(struct venus_inst *inst) int ret; if (IS_V6(inst->core)) { - arr_sz = ARRAY_SIZE(intbuf_types_6xx); - intbuf = intbuf_types_6xx; + if (inst->session_type == VIDC_SESSION_TYPE_DEC) { + arr_sz = ARRAY_SIZE(intbuf_types_6xx_dec); + intbuf = intbuf_types_6xx_dec; + } else { + arr_sz = ARRAY_SIZE(intbuf_types_6xx_enc); + intbuf = intbuf_types_6xx_enc; + } } else if (IS_V4(inst->core)) { arr_sz = ARRAY_SIZE(intbuf_types_4xx); intbuf = intbuf_types_4xx; |