All of lore.kernel.org
 help / color / mirror / Atom feed
From: "yunfei.dong@mediatek.com" <yunfei.dong@mediatek.com>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Alexandre Courbot <acourbot@chromium.org>,
	Nicolas Dufresne <nicolas@ndufresne.ca>,
	AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@collabora.com>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Tiffany Lin <tiffany.lin@mediatek.com>,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	"Tomasz Figa" <tfiga@google.com>
Cc: Irui Wang <irui.wang@mediatek.com>,
	George Sun <george.sun@mediatek.com>,
	Steve Cho <stevecho@chromium.org>, <devicetree@vger.kernel.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>,
	<linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Xiaoyong Lu <xiaoyong.lu@mediatek.com>,
	<linux-mediatek@lists.infradead.org>,
	Hsin-Yi Wang <hsinyi@chromium.org>,
	Fritz Koenig <frkoenig@chromium.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-media@vger.kernel.org>
Subject: Re: [DKIM] [PATCH v12, 13/17] media: mediatek: vcodec: Extract H264 common code
Date: Fri, 13 May 2022 10:57:22 +0800	[thread overview]
Message-ID: <875b24355315311db3a0c846be5f553b3d0c7498.camel@mediatek.com> (raw)
In-Reply-To: <03e09da3-c068-a372-a3e5-dc0459f90682@xs4all.nl>

Dear Hans,

Thanks for your suggestion.
On Thu, 2022-05-12 at 11:31 +0200, Hans Verkuil wrote:
> Hi Yunfei,
> 
> On 5/12/22 04:19, Yunfei Dong wrote:
> > Mt8192 can use some of common code with mt8183. Moves them to
> > a new file in order to reuse.
> > 
> > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> > Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > ---
> >  .../media/platform/mediatek/vcodec/Makefile   |   1 +
> >  .../vcodec/vdec/vdec_h264_req_common.c        | 310 +++++++++++++
> >  .../vcodec/vdec/vdec_h264_req_common.h        | 274 +++++++++++
> >  .../mediatek/vcodec/vdec/vdec_h264_req_if.c   | 427 ++----------
> > ------
> >  4 files changed, 629 insertions(+), 383 deletions(-)
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.c
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.h
> > 
> > diff --git a/drivers/media/platform/mediatek/vcodec/Makefile
> > b/drivers/media/platform/mediatek/vcodec/Makefile
> > index 359619653a0e..3f41d748eee5 100644
> > --- a/drivers/media/platform/mediatek/vcodec/Makefile
> > +++ b/drivers/media/platform/mediatek/vcodec/Makefile
> > @@ -9,6 +9,7 @@ mtk-vcodec-dec-y := vdec/vdec_h264_if.o \
> >  		vdec/vdec_vp8_if.o \
> >  		vdec/vdec_vp9_if.o \
> >  		vdec/vdec_h264_req_if.o \
> > +		vdec/vdec_h264_req_common.o \
> >  		mtk_vcodec_dec_drv.o \
> >  		vdec_drv_if.o \
> >  		vdec_vpu_if.o \
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > new file mode 100644
> > index 000000000000..4e7c9d47751d
> > --- /dev/null
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > @@ -0,0 +1,310 @@
> 
> <snip>
> 
> Here there is still a cast to iomem:
> 
> > +void mtk_vdec_h264_copy_scaling_matrix(struct
> > slice_api_h264_scaling_matrix *dst_matrix,
> > +				       const struct
> > v4l2_ctrl_h264_scaling_matrix *src_matrix)
> > +{
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_4x4,
> > src_matrix->scaling_list_4x4,
> > +		    sizeof(dst_matrix->scaling_list_4x4));
> > +
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_8x8,
> > src_matrix->scaling_list_8x8,
> > +		    sizeof(dst_matrix->scaling_list_8x8));
> > +}
> 
> <snip>
> 
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > index 27119aa31dd9..b055ceea481d 100644
> > ---
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> 
> <snip>
> 
> > -static void
> > -get_h264_scaling_matrix(struct slice_api_h264_scaling_matrix
> > *dst_matrix,
> > -			const struct v4l2_ctrl_h264_scaling_matrix
> > *src_matrix)
> > -{
> > -	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> > >scaling_list_4x4,
> > -	       sizeof(dst_matrix->scaling_list_4x4));
> > -
> > -	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> > >scaling_list_8x8,
> > -	       sizeof(dst_matrix->scaling_list_8x8));
> > -}
> 
> but that function was moved (AFAICT) from vdec_h264_req_if.c where a
> regular memcpy was
> used.
> 
> Did you miss one iomem case?
> 
> Can I change mtk_vdec_h264_copy_scaling_matrix() to:
> 
> void mtk_vdec_h264_copy_scaling_matrix(struct
> slice_api_h264_scaling_matrix *dst_matrix,
> 				       const struct
> v4l2_ctrl_h264_scaling_matrix *src_matrix)
> {
> 	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> >scaling_list_4x4,
> 	       sizeof(dst_matrix->scaling_list_4x4));
> 
> 	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> >scaling_list_8x8,
> 	       sizeof(dst_matrix->scaling_list_8x8));
> }
> 
> If that's OK, then I'll do that manually, so no need to post a v13.
> 
> Everything else looks fine, so this is the only issue that needs to
> be resolved.
> 
> Regards,
> 
1: For h264_req_if.c no need to add __iomem anymore. You can help to
change it directly.

2: Could you please help to add for whole series: Tested-by: Nícolas F.
R. A. Prado <nfraprado@collabora.com>

according to Nicolas's mail.

Hi Yunfei,

With this series, and the new scp.img for mt8192 [1] (still waiting to
get
merged), I was able to get the following fluster scores on
mt8192-asurada-spherion:

VP8: 59/61
VP9: 249/303
H.264: 92/135

So for the whole series:

Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

> 	Hans
> 
Best Regards,
Yunfei Dong
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek


WARNING: multiple messages have this Message-ID (diff)
From: "yunfei.dong@mediatek.com" <yunfei.dong@mediatek.com>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Alexandre Courbot <acourbot@chromium.org>,
	Nicolas Dufresne <nicolas@ndufresne.ca>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Tiffany Lin <tiffany.lin@mediatek.com>,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	 Matthias Brugger <matthias.bgg@gmail.com>,
	Tomasz Figa <tfiga@google.com>
Cc: Irui Wang <irui.wang@mediatek.com>,
	George Sun <george.sun@mediatek.com>,
	 Steve Cho <stevecho@chromium.org>, <devicetree@vger.kernel.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>,
	<linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Xiaoyong Lu <xiaoyong.lu@mediatek.com>,
	<linux-mediatek@lists.infradead.org>,
	 Hsin-Yi Wang <hsinyi@chromium.org>,
	Fritz Koenig <frkoenig@chromium.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-media@vger.kernel.org>
Subject: Re: [DKIM] [PATCH v12, 13/17] media: mediatek: vcodec: Extract H264 common code
Date: Fri, 13 May 2022 10:57:22 +0800	[thread overview]
Message-ID: <875b24355315311db3a0c846be5f553b3d0c7498.camel@mediatek.com> (raw)
In-Reply-To: <03e09da3-c068-a372-a3e5-dc0459f90682@xs4all.nl>

Dear Hans,

Thanks for your suggestion.
On Thu, 2022-05-12 at 11:31 +0200, Hans Verkuil wrote:
> Hi Yunfei,
> 
> On 5/12/22 04:19, Yunfei Dong wrote:
> > Mt8192 can use some of common code with mt8183. Moves them to
> > a new file in order to reuse.
> > 
> > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> > Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > ---
> >  .../media/platform/mediatek/vcodec/Makefile   |   1 +
> >  .../vcodec/vdec/vdec_h264_req_common.c        | 310 +++++++++++++
> >  .../vcodec/vdec/vdec_h264_req_common.h        | 274 +++++++++++
> >  .../mediatek/vcodec/vdec/vdec_h264_req_if.c   | 427 ++----------
> > ------
> >  4 files changed, 629 insertions(+), 383 deletions(-)
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.c
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.h
> > 
> > diff --git a/drivers/media/platform/mediatek/vcodec/Makefile
> > b/drivers/media/platform/mediatek/vcodec/Makefile
> > index 359619653a0e..3f41d748eee5 100644
> > --- a/drivers/media/platform/mediatek/vcodec/Makefile
> > +++ b/drivers/media/platform/mediatek/vcodec/Makefile
> > @@ -9,6 +9,7 @@ mtk-vcodec-dec-y := vdec/vdec_h264_if.o \
> >  		vdec/vdec_vp8_if.o \
> >  		vdec/vdec_vp9_if.o \
> >  		vdec/vdec_h264_req_if.o \
> > +		vdec/vdec_h264_req_common.o \
> >  		mtk_vcodec_dec_drv.o \
> >  		vdec_drv_if.o \
> >  		vdec_vpu_if.o \
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > new file mode 100644
> > index 000000000000..4e7c9d47751d
> > --- /dev/null
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > @@ -0,0 +1,310 @@
> 
> <snip>
> 
> Here there is still a cast to iomem:
> 
> > +void mtk_vdec_h264_copy_scaling_matrix(struct
> > slice_api_h264_scaling_matrix *dst_matrix,
> > +				       const struct
> > v4l2_ctrl_h264_scaling_matrix *src_matrix)
> > +{
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_4x4,
> > src_matrix->scaling_list_4x4,
> > +		    sizeof(dst_matrix->scaling_list_4x4));
> > +
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_8x8,
> > src_matrix->scaling_list_8x8,
> > +		    sizeof(dst_matrix->scaling_list_8x8));
> > +}
> 
> <snip>
> 
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > index 27119aa31dd9..b055ceea481d 100644
> > ---
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> 
> <snip>
> 
> > -static void
> > -get_h264_scaling_matrix(struct slice_api_h264_scaling_matrix
> > *dst_matrix,
> > -			const struct v4l2_ctrl_h264_scaling_matrix
> > *src_matrix)
> > -{
> > -	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> > >scaling_list_4x4,
> > -	       sizeof(dst_matrix->scaling_list_4x4));
> > -
> > -	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> > >scaling_list_8x8,
> > -	       sizeof(dst_matrix->scaling_list_8x8));
> > -}
> 
> but that function was moved (AFAICT) from vdec_h264_req_if.c where a
> regular memcpy was
> used.
> 
> Did you miss one iomem case?
> 
> Can I change mtk_vdec_h264_copy_scaling_matrix() to:
> 
> void mtk_vdec_h264_copy_scaling_matrix(struct
> slice_api_h264_scaling_matrix *dst_matrix,
> 				       const struct
> v4l2_ctrl_h264_scaling_matrix *src_matrix)
> {
> 	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> >scaling_list_4x4,
> 	       sizeof(dst_matrix->scaling_list_4x4));
> 
> 	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> >scaling_list_8x8,
> 	       sizeof(dst_matrix->scaling_list_8x8));
> }
> 
> If that's OK, then I'll do that manually, so no need to post a v13.
> 
> Everything else looks fine, so this is the only issue that needs to
> be resolved.
> 
> Regards,
> 
1: For h264_req_if.c no need to add __iomem anymore. You can help to
change it directly.

2: Could you please help to add for whole series: Tested-by: Nícolas F.
R. A. Prado <nfraprado@collabora.com>

according to Nicolas's mail.

Hi Yunfei,

With this series, and the new scp.img for mt8192 [1] (still waiting to
get
merged), I was able to get the following fluster scores on
mt8192-asurada-spherion:

VP8: 59/61
VP9: 249/303
H.264: 92/135

So for the whole series:

Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

> 	Hans
> 
Best Regards,
Yunfei Dong
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: "yunfei.dong@mediatek.com" <yunfei.dong@mediatek.com>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Alexandre Courbot <acourbot@chromium.org>,
	Nicolas Dufresne <nicolas@ndufresne.ca>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Tiffany Lin <tiffany.lin@mediatek.com>,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	 Matthias Brugger <matthias.bgg@gmail.com>,
	"Tomasz Figa" <tfiga@google.com>
Cc: Irui Wang <irui.wang@mediatek.com>,
	George Sun <george.sun@mediatek.com>,
	Steve Cho <stevecho@chromium.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Project_Global_Chrome_Upstream_Group@mediatek.com,
	linux-mediatek@lists.infradead.org,
	Xiaoyong Lu <xiaoyong.lu@mediatek.com>,
	Hsin-Yi Wang <hsinyi@chromium.org>,
	Fritz Koenig <frkoenig@chromium.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: Re: [DKIM] [PATCH v12, 13/17] media: mediatek: vcodec: Extract H264 common code
Date: Fri, 13 May 2022 10:57:22 +0800	[thread overview]
Message-ID: <875b24355315311db3a0c846be5f553b3d0c7498.camel@mediatek.com> (raw)
In-Reply-To: <03e09da3-c068-a372-a3e5-dc0459f90682@xs4all.nl>

Dear Hans,

Thanks for your suggestion.
On Thu, 2022-05-12 at 11:31 +0200, Hans Verkuil wrote:
> Hi Yunfei,
> 
> On 5/12/22 04:19, Yunfei Dong wrote:
> > Mt8192 can use some of common code with mt8183. Moves them to
> > a new file in order to reuse.
> > 
> > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> > Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > ---
> >  .../media/platform/mediatek/vcodec/Makefile   |   1 +
> >  .../vcodec/vdec/vdec_h264_req_common.c        | 310 +++++++++++++
> >  .../vcodec/vdec/vdec_h264_req_common.h        | 274 +++++++++++
> >  .../mediatek/vcodec/vdec/vdec_h264_req_if.c   | 427 ++----------
> > ------
> >  4 files changed, 629 insertions(+), 383 deletions(-)
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.c
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.h
> > 
> > diff --git a/drivers/media/platform/mediatek/vcodec/Makefile
> > b/drivers/media/platform/mediatek/vcodec/Makefile
> > index 359619653a0e..3f41d748eee5 100644
> > --- a/drivers/media/platform/mediatek/vcodec/Makefile
> > +++ b/drivers/media/platform/mediatek/vcodec/Makefile
> > @@ -9,6 +9,7 @@ mtk-vcodec-dec-y := vdec/vdec_h264_if.o \
> >  		vdec/vdec_vp8_if.o \
> >  		vdec/vdec_vp9_if.o \
> >  		vdec/vdec_h264_req_if.o \
> > +		vdec/vdec_h264_req_common.o \
> >  		mtk_vcodec_dec_drv.o \
> >  		vdec_drv_if.o \
> >  		vdec_vpu_if.o \
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > new file mode 100644
> > index 000000000000..4e7c9d47751d
> > --- /dev/null
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > @@ -0,0 +1,310 @@
> 
> <snip>
> 
> Here there is still a cast to iomem:
> 
> > +void mtk_vdec_h264_copy_scaling_matrix(struct
> > slice_api_h264_scaling_matrix *dst_matrix,
> > +				       const struct
> > v4l2_ctrl_h264_scaling_matrix *src_matrix)
> > +{
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_4x4,
> > src_matrix->scaling_list_4x4,
> > +		    sizeof(dst_matrix->scaling_list_4x4));
> > +
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_8x8,
> > src_matrix->scaling_list_8x8,
> > +		    sizeof(dst_matrix->scaling_list_8x8));
> > +}
> 
> <snip>
> 
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > index 27119aa31dd9..b055ceea481d 100644
> > ---
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> 
> <snip>
> 
> > -static void
> > -get_h264_scaling_matrix(struct slice_api_h264_scaling_matrix
> > *dst_matrix,
> > -			const struct v4l2_ctrl_h264_scaling_matrix
> > *src_matrix)
> > -{
> > -	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> > >scaling_list_4x4,
> > -	       sizeof(dst_matrix->scaling_list_4x4));
> > -
> > -	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> > >scaling_list_8x8,
> > -	       sizeof(dst_matrix->scaling_list_8x8));
> > -}
> 
> but that function was moved (AFAICT) from vdec_h264_req_if.c where a
> regular memcpy was
> used.
> 
> Did you miss one iomem case?
> 
> Can I change mtk_vdec_h264_copy_scaling_matrix() to:
> 
> void mtk_vdec_h264_copy_scaling_matrix(struct
> slice_api_h264_scaling_matrix *dst_matrix,
> 				       const struct
> v4l2_ctrl_h264_scaling_matrix *src_matrix)
> {
> 	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> >scaling_list_4x4,
> 	       sizeof(dst_matrix->scaling_list_4x4));
> 
> 	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> >scaling_list_8x8,
> 	       sizeof(dst_matrix->scaling_list_8x8));
> }
> 
> If that's OK, then I'll do that manually, so no need to post a v13.
> 
> Everything else looks fine, so this is the only issue that needs to
> be resolved.
> 
> Regards,
> 
1: For h264_req_if.c no need to add __iomem anymore. You can help to
change it directly.

2: Could you please help to add for whole series: Tested-by: Nícolas F.
R. A. Prado <nfraprado@collabora.com>

according to Nicolas's mail.

Hi Yunfei,

With this series, and the new scp.img for mt8192 [1] (still waiting to
get
merged), I was able to get the following fluster scores on
mt8192-asurada-spherion:

VP8: 59/61
VP9: 249/303
H.264: 92/135

So for the whole series:

Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

> 	Hans
> 
Best Regards,
Yunfei Dong
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek


WARNING: multiple messages have this Message-ID (diff)
From: "yunfei.dong@mediatek.com" <yunfei.dong@mediatek.com>
To: Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Alexandre Courbot <acourbot@chromium.org>,
	Nicolas Dufresne <nicolas@ndufresne.ca>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Benjamin Gaignard <benjamin.gaignard@collabora.com>,
	Tiffany Lin <tiffany.lin@mediatek.com>,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	 Matthias Brugger <matthias.bgg@gmail.com>,
	Tomasz Figa <tfiga@google.com>
Cc: Irui Wang <irui.wang@mediatek.com>,
	George Sun <george.sun@mediatek.com>,
	 Steve Cho <stevecho@chromium.org>, <devicetree@vger.kernel.org>,
	<Project_Global_Chrome_Upstream_Group@mediatek.com>,
	<linux-kernel@vger.kernel.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Xiaoyong Lu <xiaoyong.lu@mediatek.com>,
	<linux-mediatek@lists.infradead.org>,
	 Hsin-Yi Wang <hsinyi@chromium.org>,
	Fritz Koenig <frkoenig@chromium.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-media@vger.kernel.org>
Subject: Re: [DKIM] [PATCH v12, 13/17] media: mediatek: vcodec: Extract H264 common code
Date: Fri, 13 May 2022 10:57:22 +0800	[thread overview]
Message-ID: <875b24355315311db3a0c846be5f553b3d0c7498.camel@mediatek.com> (raw)
In-Reply-To: <03e09da3-c068-a372-a3e5-dc0459f90682@xs4all.nl>

Dear Hans,

Thanks for your suggestion.
On Thu, 2022-05-12 at 11:31 +0200, Hans Verkuil wrote:
> Hi Yunfei,
> 
> On 5/12/22 04:19, Yunfei Dong wrote:
> > Mt8192 can use some of common code with mt8183. Moves them to
> > a new file in order to reuse.
> > 
> > Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
> > Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> > ---
> >  .../media/platform/mediatek/vcodec/Makefile   |   1 +
> >  .../vcodec/vdec/vdec_h264_req_common.c        | 310 +++++++++++++
> >  .../vcodec/vdec/vdec_h264_req_common.h        | 274 +++++++++++
> >  .../mediatek/vcodec/vdec/vdec_h264_req_if.c   | 427 ++----------
> > ------
> >  4 files changed, 629 insertions(+), 383 deletions(-)
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.c
> >  create mode 100644
> > drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.h
> > 
> > diff --git a/drivers/media/platform/mediatek/vcodec/Makefile
> > b/drivers/media/platform/mediatek/vcodec/Makefile
> > index 359619653a0e..3f41d748eee5 100644
> > --- a/drivers/media/platform/mediatek/vcodec/Makefile
> > +++ b/drivers/media/platform/mediatek/vcodec/Makefile
> > @@ -9,6 +9,7 @@ mtk-vcodec-dec-y := vdec/vdec_h264_if.o \
> >  		vdec/vdec_vp8_if.o \
> >  		vdec/vdec_vp9_if.o \
> >  		vdec/vdec_h264_req_if.o \
> > +		vdec/vdec_h264_req_common.o \
> >  		mtk_vcodec_dec_drv.o \
> >  		vdec_drv_if.o \
> >  		vdec_vpu_if.o \
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > new file mode 100644
> > index 000000000000..4e7c9d47751d
> > --- /dev/null
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_common.
> > c
> > @@ -0,0 +1,310 @@
> 
> <snip>
> 
> Here there is still a cast to iomem:
> 
> > +void mtk_vdec_h264_copy_scaling_matrix(struct
> > slice_api_h264_scaling_matrix *dst_matrix,
> > +				       const struct
> > v4l2_ctrl_h264_scaling_matrix *src_matrix)
> > +{
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_4x4,
> > src_matrix->scaling_list_4x4,
> > +		    sizeof(dst_matrix->scaling_list_4x4));
> > +
> > +	memcpy_toio((void __iomem *)dst_matrix->scaling_list_8x8,
> > src_matrix->scaling_list_8x8,
> > +		    sizeof(dst_matrix->scaling_list_8x8));
> > +}
> 
> <snip>
> 
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > index 27119aa31dd9..b055ceea481d 100644
> > ---
> > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> > +++
> > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_if.c
> 
> <snip>
> 
> > -static void
> > -get_h264_scaling_matrix(struct slice_api_h264_scaling_matrix
> > *dst_matrix,
> > -			const struct v4l2_ctrl_h264_scaling_matrix
> > *src_matrix)
> > -{
> > -	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> > >scaling_list_4x4,
> > -	       sizeof(dst_matrix->scaling_list_4x4));
> > -
> > -	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> > >scaling_list_8x8,
> > -	       sizeof(dst_matrix->scaling_list_8x8));
> > -}
> 
> but that function was moved (AFAICT) from vdec_h264_req_if.c where a
> regular memcpy was
> used.
> 
> Did you miss one iomem case?
> 
> Can I change mtk_vdec_h264_copy_scaling_matrix() to:
> 
> void mtk_vdec_h264_copy_scaling_matrix(struct
> slice_api_h264_scaling_matrix *dst_matrix,
> 				       const struct
> v4l2_ctrl_h264_scaling_matrix *src_matrix)
> {
> 	memcpy(dst_matrix->scaling_list_4x4, src_matrix-
> >scaling_list_4x4,
> 	       sizeof(dst_matrix->scaling_list_4x4));
> 
> 	memcpy(dst_matrix->scaling_list_8x8, src_matrix-
> >scaling_list_8x8,
> 	       sizeof(dst_matrix->scaling_list_8x8));
> }
> 
> If that's OK, then I'll do that manually, so no need to post a v13.
> 
> Everything else looks fine, so this is the only issue that needs to
> be resolved.
> 
> Regards,
> 
1: For h264_req_if.c no need to add __iomem anymore. You can help to
change it directly.

2: Could you please help to add for whole series: Tested-by: Nícolas F.
R. A. Prado <nfraprado@collabora.com>

according to Nicolas's mail.

Hi Yunfei,

With this series, and the new scp.img for mt8192 [1] (still waiting to
get
merged), I was able to get the following fluster scores on
mt8192-asurada-spherion:

VP8: 59/61
VP9: 249/303
H.264: 92/135

So for the whole series:

Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

> 	Hans
> 
Best Regards,
Yunfei Dong
> _______________________________________________
> Linux-mediatek mailing list
> Linux-mediatek@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-mediatek
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-05-13  2:57 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-12  2:19 [PATCH v12, 00/17] media: mtk-vcodec: support for M8192 decoder Yunfei Dong
2022-05-12  2:19 ` Yunfei Dong
2022-05-12  2:19 ` Yunfei Dong
2022-05-12  2:19 ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 01/17] media: mediatek: vcodec: Add vdec enable/disable hardware helpers Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 02/17] media: mediatek: vcodec: Using firmware type to separate different firmware architecture Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 03/17] media: mediatek: vcodec: get capture queue buffer size from scp Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 04/17] media: mediatek: vcodec: Read max resolution from dec_capability Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 05/17] media: mediatek: vcodec: set each plane bytesused in buf prepare Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 06/17] media: mediatek: vcodec: Refactor get and put capture buffer flow Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 07/17] media: mediatek: vcodec: Refactor supported vdec formats and framesizes Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 08/17] media: mediatek: vcodec: Getting supported decoder format types Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 09/17] media: mediatek: vcodec: Add format to support MT21C Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 10/17] media: mediatek: vcodec: disable vp8 4K capability Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 11/17] media: mediatek: vcodec: Fix v4l2-compliance fail Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 12/17] media: mediatek: vcodec: record capture queue format type Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 13/17] media: mediatek: vcodec: Extract H264 common code Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  9:31   ` [DKIM] " Hans Verkuil
2022-05-12  9:31     ` Hans Verkuil
2022-05-12  9:31     ` Hans Verkuil
2022-05-12  9:31     ` Hans Verkuil
2022-05-13  2:57     ` yunfei.dong [this message]
2022-05-13  2:57       ` yunfei.dong
2022-05-13  2:57       ` yunfei.dong
2022-05-13  2:57       ` yunfei.dong
2022-05-12  2:19 ` [PATCH v12, 14/17] media: mediatek: vcodec: support stateless H.264 decoding for mt8192 Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 15/17] media: mediatek: vcodec: support stateless VP8 decoding Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 16/17] media: mediatek: vcodec: support stateless VP9 decoding Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19 ` [PATCH v12, 17/17] media: mediatek: vcodec: prevent kernel crash when rmmod mtk-vcodec-dec.ko Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12  2:19   ` Yunfei Dong
2022-05-12 19:39 ` [PATCH v12, 00/17] media: mtk-vcodec: support for M8192 decoder Nícolas F. R. A. Prado
2022-05-12 19:39   ` Nícolas F. R. A. Prado
2022-05-12 19:39   ` Nícolas F. R. A. Prado
2022-05-12 19:39   ` Nícolas F. R. A. Prado

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875b24355315311db3a0c846be5f553b3d0c7498.camel@mediatek.com \
    --to=yunfei.dong@mediatek.com \
    --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
    --cc=acourbot@chromium.org \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=benjamin.gaignard@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=frkoenig@chromium.org \
    --cc=george.sun@mediatek.com \
    --cc=hsinyi@chromium.org \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=irui.wang@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=robh+dt@kernel.org \
    --cc=stevecho@chromium.org \
    --cc=tfiga@google.com \
    --cc=tiffany.lin@mediatek.com \
    --cc=xiaoyong.lu@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.