[PATCH 5/5] media: mtk-vcodec: venc: Fail if a msg sent to VPU was not signaled
Dafna Hirschfeld
dafna.hirschfeld at collabora.com
Mon Oct 18 04:43:13 PDT 2021
On 06.08.21 08:50, Irui Wang (王瑞) wrote:
> On Wed, 2021-08-04 at 16:27 +0200, Dafna Hirschfeld wrote:
>> Each message sent to the VPU should raise a signal. The signal
>> handler sets vpu->signaled. Test the field and fail
>> if it is 0.
>
> I suppose you want to handle the message execution result, if ipi
> message can't send or acked successfully, the returned "status" of
> "mtk_vcodec_fw_ipi_send" will return, so I think you don't need to
> check "signaled" again.
in that case, the field 'signaled' is not needed and can be removed
So I can send a patch to remove it.
Thanks,
Dafna
>
>>
>> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld at collabora.com>
>> ---
>> drivers/media/platform/mtk-vcodec/venc_vpu_if.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/mtk-vcodec/venc_vpu_if.c
>> b/drivers/media/platform/mtk-vcodec/venc_vpu_if.c
>> index 234705ba7cd6..8331b1bd1971 100644
>> --- a/drivers/media/platform/mtk-vcodec/venc_vpu_if.c
>> +++ b/drivers/media/platform/mtk-vcodec/venc_vpu_if.c
>> @@ -92,6 +92,7 @@ static int vpu_enc_send_msg(struct venc_vpu_inst
>> *vpu, void *msg,
>> {
>> int status;
>>
>> + vpu->signaled = 0;
>> mtk_vcodec_debug_enter(vpu);
>>
>> if (!vpu->ctx->dev->fw_handler) {
>> @@ -106,6 +107,8 @@ static int vpu_enc_send_msg(struct venc_vpu_inst
>> *vpu, void *msg,
>> *(uint32_t *)msg, len, status);
>> return -EINVAL;
>> }
>> + if (!vpu->signaled)
>> + return -EINVAL;
>> if (vpu->failure)
>> return -EINVAL;
>>
>> @@ -122,7 +125,6 @@ int vpu_enc_init(struct venc_vpu_inst *vpu)
>> mtk_vcodec_debug_enter(vpu);
>>
>> init_waitqueue_head(&vpu->wq_hd);
>> - vpu->signaled = 0;
>> vpu->failure = 0;
>>
>> status = mtk_vcodec_fw_ipi_register(vpu->ctx->dev->fw_handler,
>> vpu->id,
More information about the Linux-mediatek
mailing list