Message ID | 20210222160300.1811121-26-bryan.odonoghue@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | media: venus: Enable 6xx support | expand |
On 2/22/21 6:03 PM, Bryan O'Donoghue wrote: > From: Stanimir Varbanov <stanimir.varbanov@linaro.org> > > 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> > --- > drivers/media/platform/qcom/venus/hfi_cmds.c | 2 +- > drivers/media/platform/qcom/venus/vdec.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c > index cc282b0df8c3..0a32bb44506c 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); > diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c > index 903443a7a757..9fbff40c4568 100644 > --- a/drivers/media/platform/qcom/venus/vdec.c > +++ b/drivers/media/platform/qcom/venus/vdec.c > @@ -515,7 +515,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; This should be 0 for v6 only until we find some better way for this EOS packet. > > ret = hfi_session_process_buf(inst, &fdata); > >
diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c index cc282b0df8c3..0a32bb44506c 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); diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index 903443a7a757..9fbff40c4568 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -515,7 +515,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);