diff options
author | Stanimir Varbanov <stanimir.varbanov@linaro.org> | 2021-01-13 16:39:50 +0000 |
---|---|---|
committer | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2021-01-16 18:42:14 +0000 |
commit | 1af1ba950673c92a38fc0e3cea3398e146f15fe2 (patch) | |
tree | 1a55d13dd8bb10c3bb22871f25811856e72413de | |
parent | 06e10db8684f8d45c35265262b957bd614026061 (diff) |
media: venus: Fix decoder cmd STOP issuetracking-qcomlt-sm8250-venus-10
Fixes an issue when issuing a stop command to the controller, negating the
following firmware error.
"SFR message from FW: Exception: TID = Unknown IP = 0x3b7dc FA = 0x0
cause = 0x6"
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
-rw-r--r-- | drivers/media/platform/qcom/venus/hfi_cmds.c | 3 | ||||
-rw-r--r-- | drivers/media/platform/qcom/venus/vdec.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c index 1a93a9b579c5..017c4f950c15 100644 --- a/drivers/media/platform/qcom/venus/hfi_cmds.c +++ b/drivers/media/platform/qcom/venus/hfi_cmds.c @@ -254,7 +254,7 @@ int pkt_session_unset_buffers(struct hfi_session_release_buffer_pkt *pkt, int pkt_session_etb_decoder(struct hfi_session_empty_buffer_compressed_pkt *pkt, void *cookie, struct hfi_frame_data *in_frame) { - if (!cookie || !in_frame->device_addr) + if (!cookie) return -EINVAL; pkt->shdr.hdr.size = sizeof(*pkt); @@ -1248,6 +1248,7 @@ pkt_session_set_property_6xx(struct hfi_session_set_property_pkt *pkt, info->plane_format[1] = in->plane_format[1]; pkt->shdr.hdr.size += sizeof(u32) + sizeof(*info); + break; } case HFI_PROPERTY_CONFIG_HEIC_FRAME_QUALITY: { struct hfi_heic_frame_quality *in = pdata, *cq = prop_data; diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index 5e84afbcd70d..cda687f4ba78 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -523,7 +523,7 @@ vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) fdata.buffer_type = HFI_BUFFER_INPUT; fdata.flags |= HFI_BUFFERFLAG_EOS; - fdata.device_addr = 0xdeadb000; + fdata.device_addr = 0; ret = hfi_session_process_buf(inst, &fdata); |