[PATCH 4/6] media: mediatek: vcodec: Revert driver name change in encoder capabilities

Chen-Yu Tsai posted 6 patches 2 years, 2 months ago
There is a newer version of this series
[PATCH 4/6] media: mediatek: vcodec: Revert driver name change in encoder capabilities
Posted by Chen-Yu Tsai 2 years, 2 months ago
This partially reverts commit fd9f8050e355d7fd1e126cd207b06c96cde7f783.

The driver name field should contain the actual driver name, not some
otherwise unused string macro from the driver. To make this clear,
copy the name from the driver's name field.

Fixes: fd9f8050e355 ("media: mediatek: vcodec: Change encoder v4l2 capability value")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
 drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h | 1 +
 drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
index 4140b4dd85bf..dc6aada882d9 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
@@ -22,6 +22,7 @@
 #define MTK_VCODEC_DRV_NAME	"mtk_vcodec_drv"
 #define MTK_VCODEC_DEC_NAME	"mtk-vcodec-dec"
 #define MTK_VCODEC_ENC_NAME	"mtk-vcodec-enc"
+#define MTK_PLATFORM_STR	"platform:mt8173"
 
 #define MTK_VCODEC_MAX_PLANES	3
 #define MTK_V4L2_BENCHMARK	0
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
index ccc753074816..30aac54d97fa 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
@@ -232,11 +232,13 @@ static int mtk_vcodec_enc_get_chip_name(void *priv)
 static int vidioc_venc_querycap(struct file *file, void *priv,
 				struct v4l2_capability *cap)
 {
+	struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
+	struct device *dev = &ctx->dev->plat_dev->dev;
 	int platform_name = mtk_vcodec_enc_get_chip_name(priv);
 
-	strscpy(cap->driver, MTK_VCODEC_DRV_NAME, sizeof(cap->driver));
-	strscpy(cap->card, MTK_VCODEC_ENC_NAME, sizeof(cap->card));
+	strscpy(cap->driver, dev->driver->name, sizeof(cap->driver));
 	snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:mt%d-enc", platform_name);
+	strscpy(cap->card, MTK_PLATFORM_STR, sizeof(cap->card));
 
 	return 0;
 }
-- 
2.37.0.rc0.161.g10f37bed90-goog
Re: [PATCH 4/6] media: mediatek: vcodec: Revert driver name change in encoder capabilities
Posted by Hans Verkuil 2 years, 2 months ago

On 7/1/22 12:52, Chen-Yu Tsai wrote:
> This partially reverts commit fd9f8050e355d7fd1e126cd207b06c96cde7f783.
> 
> The driver name field should contain the actual driver name, not some
> otherwise unused string macro from the driver. To make this clear,
> copy the name from the driver's name field.
> 
> Fixes: fd9f8050e355 ("media: mediatek: vcodec: Change encoder v4l2 capability value")
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> ---
>  drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h | 1 +
>  drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 6 ++++--
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
> index 4140b4dd85bf..dc6aada882d9 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
> @@ -22,6 +22,7 @@
>  #define MTK_VCODEC_DRV_NAME	"mtk_vcodec_drv"

Note that this patch removes the last user of this define, so
you can drop that define as well.

>  #define MTK_VCODEC_DEC_NAME	"mtk-vcodec-dec"
>  #define MTK_VCODEC_ENC_NAME	"mtk-vcodec-enc"
> +#define MTK_PLATFORM_STR	"platform:mt8173"

Why add this?

>  
>  #define MTK_VCODEC_MAX_PLANES	3
>  #define MTK_V4L2_BENCHMARK	0
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> index ccc753074816..30aac54d97fa 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> @@ -232,11 +232,13 @@ static int mtk_vcodec_enc_get_chip_name(void *priv)
>  static int vidioc_venc_querycap(struct file *file, void *priv,
>  				struct v4l2_capability *cap)
>  {
> +	struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
> +	struct device *dev = &ctx->dev->plat_dev->dev;
>  	int platform_name = mtk_vcodec_enc_get_chip_name(priv);
>  
> -	strscpy(cap->driver, MTK_VCODEC_DRV_NAME, sizeof(cap->driver));
> -	strscpy(cap->card, MTK_VCODEC_ENC_NAME, sizeof(cap->card));
> +	strscpy(cap->driver, dev->driver->name, sizeof(cap->driver));
>  	snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:mt%d-enc", platform_name);
> +	strscpy(cap->card, MTK_PLATFORM_STR, sizeof(cap->card));

The next patch changes cap->card again, and leaves MTK_PLATFORM_STR unused.

>  
>  	return 0;
>  }

I think it makes more sense to combine patches 1-3 and 4-6 into single
patches, one for the decoder, one for the encoder. It's easier to follow
since they all touch on the same querycap function.

Regards,

	Hans
Re: [PATCH 4/6] media: mediatek: vcodec: Revert driver name change in encoder capabilities
Posted by Chen-Yu Tsai 2 years, 2 months ago
On Fri, Jul 8, 2022 at 5:19 PM Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote:
>
>
>
> On 7/1/22 12:52, Chen-Yu Tsai wrote:
> > This partially reverts commit fd9f8050e355d7fd1e126cd207b06c96cde7f783.
> >
> > The driver name field should contain the actual driver name, not some
> > otherwise unused string macro from the driver. To make this clear,
> > copy the name from the driver's name field.
> >
> > Fixes: fd9f8050e355 ("media: mediatek: vcodec: Change encoder v4l2 capability value")
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> >  drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h | 1 +
> >  drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c | 6 ++++--
> >  2 files changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
> > index 4140b4dd85bf..dc6aada882d9 100644
> > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
> > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h
> > @@ -22,6 +22,7 @@
> >  #define MTK_VCODEC_DRV_NAME  "mtk_vcodec_drv"
>
> Note that this patch removes the last user of this define, so
> you can drop that define as well.
>
> >  #define MTK_VCODEC_DEC_NAME  "mtk-vcodec-dec"
> >  #define MTK_VCODEC_ENC_NAME  "mtk-vcodec-enc"
> > +#define MTK_PLATFORM_STR     "platform:mt8173"
>
> Why add this?
>
> >
> >  #define MTK_VCODEC_MAX_PLANES        3
> >  #define MTK_V4L2_BENCHMARK   0
> > diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > index ccc753074816..30aac54d97fa 100644
> > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc.c
> > @@ -232,11 +232,13 @@ static int mtk_vcodec_enc_get_chip_name(void *priv)
> >  static int vidioc_venc_querycap(struct file *file, void *priv,
> >                               struct v4l2_capability *cap)
> >  {
> > +     struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
> > +     struct device *dev = &ctx->dev->plat_dev->dev;
> >       int platform_name = mtk_vcodec_enc_get_chip_name(priv);
> >
> > -     strscpy(cap->driver, MTK_VCODEC_DRV_NAME, sizeof(cap->driver));
> > -     strscpy(cap->card, MTK_VCODEC_ENC_NAME, sizeof(cap->card));
> > +     strscpy(cap->driver, dev->driver->name, sizeof(cap->driver));
> >       snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:mt%d-enc", platform_name);
> > +     strscpy(cap->card, MTK_PLATFORM_STR, sizeof(cap->card));
>
> The next patch changes cap->card again, and leaves MTK_PLATFORM_STR unused.
>
> >
> >       return 0;
> >  }
>
> I think it makes more sense to combine patches 1-3 and 4-6 into single
> patches, one for the decoder, one for the encoder. It's easier to follow
> since they all touch on the same querycap function.

I wrote this series as a revert plus additional changes. As you said, it
makes sense to squash three patches into one.

I'll respin.

ChenYu