[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6c56de481d7060b759d67417e9fa6383f6e2f418.camel@mediatek.com>
Date: Fri, 6 Aug 2021 06:50:37 +0000
From: Irui Wang (王瑞) <Irui.Wang@...iatek.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org"
<linux-mediatek@...ts.infradead.org>,
"dafna.hirschfeld@...labora.com" <dafna.hirschfeld@...labora.com>
CC: "dafna3@...il.com" <dafna3@...il.com>,
"tfiga@...omium.org" <tfiga@...omium.org>,
Tiffany Lin (林慧珊)
<tiffany.lin@...iatek.com>,
"eizan@...omium.org" <eizan@...omium.org>,
Maoguang Meng (孟毛广)
<Maoguang.Meng@...iatek.com>,
"kernel@...labora.com" <kernel@...labora.com>,
"mchehab@...nel.org" <mchehab@...nel.org>,
"hverkuil@...all.nl" <hverkuil@...all.nl>,
Yunfei Dong (董云飞)
<Yunfei.Dong@...iatek.com>,
Yong Wu (吴勇) <Yong.Wu@...iatek.com>,
Irui Wang (王瑞) <Irui.Wang@...iatek.com>,
"hsinyi@...omium.org" <hsinyi@...omium.org>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
Andrew-CT Chen (陳智迪)
<Andrew-CT.Chen@...iatek.com>,
"acourbot@...omium.org" <acourbot@...omium.org>
Subject: Re: [PATCH 5/5] media: mtk-vcodec: venc: Fail if a msg sent to VPU
was not signaled
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.
>
> Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@...labora.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,
Powered by blists - more mailing lists