diff mbox series

[v4,5/6] media: mtk-vcodec: Add MT8192 H264 venc driver

Message ID 20210521070139.20644-6-irui.wang@mediatek.com (mailing list archive)
State New, archived
Headers show
Series Support H264 4K on MT8192 | expand

Commit Message

Irui Wang May 21, 2021, 7:01 a.m. UTC
Add MT8192 venc driver's compatible and device private data.

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
---
 drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h |  1 +
 .../media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 14 ++++++++++++++
 2 files changed, 15 insertions(+)

Comments

Dafna Hirschfeld May 28, 2021, 5:27 a.m. UTC | #1
Hi

On 21.05.21 10:01, Irui Wang wrote:
> Add MT8192 venc driver's compatible and device private data.
> 
> Signed-off-by: Irui Wang <irui.wang@mediatek.com>
> ---
>   drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h |  1 +
>   .../media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 14 ++++++++++++++
>   2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
> index d03cca95e99b..14893d277bb8 100644
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
> @@ -302,6 +302,7 @@ struct mtk_vcodec_ctx {
>   enum mtk_chip {
>   	MTK_MT8173,
>   	MTK_MT8183,
> +	MTK_MT8192,
>   };
>   
>   /**
> diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> index 26b089e81213..78f3dd166917 100644
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> @@ -425,12 +425,26 @@ static const struct mtk_vcodec_enc_pdata mt8183_pdata = {
>   	.core_id = VENC_SYS,
>   };
>   
> +static const struct mtk_vcodec_enc_pdata mt8192_pdata = {
> +	.chip = MTK_MT8192,
> +	.uses_ext = true,
> +	/* MT8192 supports the same capture formats as MT8183*/

missing space before '*/'

> +	.capture_formats = mtk_video_formats_capture_mt8183,
> +	.num_capture_formats = ARRAY_SIZE(mtk_video_formats_capture_mt8183),
> +	/* MT8192 supports the same output formats as MT8173 */
> +	.output_formats = mtk_video_formats_output_mt8173,
> +	.num_output_formats = ARRAY_SIZE(mtk_video_formats_output_mt8173),

If all three models mt8173, mt8183 and mt8192 support the same formats then
we should probably not name the structs according to one of the models, so maybe:

s/mtk_video_formats_capture_mt8183/mtk_video_formats_capture/
s/mtk_video_formats_output_mt8173/mtk_video_formats_output/

or some other naming

Thanks,
Dafna


> +	.min_bitrate = 64,
> +	.max_bitrate = 100000000,
> +	.core_id = VENC_SYS,
> +};
>   static const struct of_device_id mtk_vcodec_enc_match[] = {
>   	{.compatible = "mediatek,mt8173-vcodec-enc",
>   			.data = &mt8173_avc_pdata},
>   	{.compatible = "mediatek,mt8173-vcodec-enc-vp8",
>   			.data = &mt8173_vp8_pdata},
>   	{.compatible = "mediatek,mt8183-vcodec-enc", .data = &mt8183_pdata},
> +	{.compatible = "mediatek,mt8192-vcodec-enc", .data = &mt8192_pdata},
>   	{},
>   };
>   MODULE_DEVICE_TABLE(of, mtk_vcodec_enc_match);
>
Irui Wang June 3, 2021, 3:55 a.m. UTC | #2
Hi,

On Fri, 2021-05-28 at 08:27 +0300, Dafna Hirschfeld wrote:
> Hi
> 
> On 21.05.21 10:01, Irui Wang wrote:
> > Add MT8192 venc driver's compatible and device private data.
> > 
> > Signed-off-by: Irui Wang <irui.wang@mediatek.com>
> > ---
> >   drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h |  1 +
> >   .../media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 14 ++++++++++++++
> >   2 files changed, 15 insertions(+)
> > 
> > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
> > index d03cca95e99b..14893d277bb8 100644
> > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
> > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
> > @@ -302,6 +302,7 @@ struct mtk_vcodec_ctx {
> >   enum mtk_chip {
> >   	MTK_MT8173,
> >   	MTK_MT8183,
> > +	MTK_MT8192,
> >   };
> >   
> >   /**
> > diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> > index 26b089e81213..78f3dd166917 100644
> > --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> > +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> > @@ -425,12 +425,26 @@ static const struct mtk_vcodec_enc_pdata mt8183_pdata = {
> >   	.core_id = VENC_SYS,
> >   };
> >   
> > +static const struct mtk_vcodec_enc_pdata mt8192_pdata = {
> > +	.chip = MTK_MT8192,
> > +	.uses_ext = true,
> > +	/* MT8192 supports the same capture formats as MT8183*/
> 
> missing space before '*/'
> 
> > +	.capture_formats = mtk_video_formats_capture_mt8183,
> > +	.num_capture_formats = ARRAY_SIZE(mtk_video_formats_capture_mt8183),
> > +	/* MT8192 supports the same output formats as MT8173 */
> > +	.output_formats = mtk_video_formats_output_mt8173,
> > +	.num_output_formats = ARRAY_SIZE(mtk_video_formats_output_mt8173),
> 
> If all three models mt8173, mt8183 and mt8192 support the same formats then
> we should probably not name the structs according to one of the models, so maybe:
> 
> s/mtk_video_formats_capture_mt8183/mtk_video_formats_capture/
> s/mtk_video_formats_output_mt8173/mtk_video_formats_output/
> 
> or some other naming
> 
> Thanks,
> Dafna

Thanks for your review and comments, we will rename these in another
patchset, this patchset just for MT8192 now.
> 
> 
> > +	.min_bitrate = 64,
> > +	.max_bitrate = 100000000,
> > +	.core_id = VENC_SYS,
> > +};
> >   static const struct of_device_id mtk_vcodec_enc_match[] = {
> >   	{.compatible = "mediatek,mt8173-vcodec-enc",
> >   			.data = &mt8173_avc_pdata},
> >   	{.compatible = "mediatek,mt8173-vcodec-enc-vp8",
> >   			.data = &mt8173_vp8_pdata},
> >   	{.compatible = "mediatek,mt8183-vcodec-enc", .data = &mt8183_pdata},
> > +	{.compatible = "mediatek,mt8192-vcodec-enc", .data = &mt8192_pdata},
> >   	{},
> >   };
> >   MODULE_DEVICE_TABLE(of, mtk_vcodec_enc_match);
> >
diff mbox series

Patch

diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
index d03cca95e99b..14893d277bb8 100644
--- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
+++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_drv.h
@@ -302,6 +302,7 @@  struct mtk_vcodec_ctx {
 enum mtk_chip {
 	MTK_MT8173,
 	MTK_MT8183,
+	MTK_MT8192,
 };
 
 /**
diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
index 26b089e81213..78f3dd166917 100644
--- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
+++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
@@ -425,12 +425,26 @@  static const struct mtk_vcodec_enc_pdata mt8183_pdata = {
 	.core_id = VENC_SYS,
 };
 
+static const struct mtk_vcodec_enc_pdata mt8192_pdata = {
+	.chip = MTK_MT8192,
+	.uses_ext = true,
+	/* MT8192 supports the same capture formats as MT8183*/
+	.capture_formats = mtk_video_formats_capture_mt8183,
+	.num_capture_formats = ARRAY_SIZE(mtk_video_formats_capture_mt8183),
+	/* MT8192 supports the same output formats as MT8173 */
+	.output_formats = mtk_video_formats_output_mt8173,
+	.num_output_formats = ARRAY_SIZE(mtk_video_formats_output_mt8173),
+	.min_bitrate = 64,
+	.max_bitrate = 100000000,
+	.core_id = VENC_SYS,
+};
 static const struct of_device_id mtk_vcodec_enc_match[] = {
 	{.compatible = "mediatek,mt8173-vcodec-enc",
 			.data = &mt8173_avc_pdata},
 	{.compatible = "mediatek,mt8173-vcodec-enc-vp8",
 			.data = &mt8173_vp8_pdata},
 	{.compatible = "mediatek,mt8183-vcodec-enc", .data = &mt8183_pdata},
+	{.compatible = "mediatek,mt8192-vcodec-enc", .data = &mt8192_pdata},
 	{},
 };
 MODULE_DEVICE_TABLE(of, mtk_vcodec_enc_match);