Re: [PATCH 07/11] media: cedrus: Remove cedrus_codec enum

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jernej,

On Mon 24 Oct 22, 22:15, Jernej Skrabec wrote:
> Last user of cedrus_codec enum is cedrus_engine_enable() but this
> argument is completely redundant. Same information can be obtained via
> source pixel format. Let's remove this argument and enum.
> 
> No functional changes intended.

Looks good to me!

Acked-by: Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>

See a suggestion below but out of the scope of this patch.

> Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx>
> ---
>  drivers/staging/media/sunxi/cedrus/cedrus.h       |  8 --------
>  drivers/staging/media/sunxi/cedrus/cedrus_h264.c  |  2 +-
>  drivers/staging/media/sunxi/cedrus/cedrus_h265.c  |  2 +-
>  drivers/staging/media/sunxi/cedrus/cedrus_hw.c    | 12 ++++++------
>  drivers/staging/media/sunxi/cedrus/cedrus_hw.h    |  2 +-
>  drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c |  2 +-
>  drivers/staging/media/sunxi/cedrus/cedrus_vp8.c   |  2 +-
>  7 files changed, 11 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.h b/drivers/staging/media/sunxi/cedrus/cedrus.h
> index 0b082b1fae22..5904294f3108 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus.h
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus.h
> @@ -35,14 +35,6 @@
>  #define CEDRUS_CAPABILITY_VP8_DEC	BIT(4)
>  #define CEDRUS_CAPABILITY_H265_10_DEC	BIT(5)
>  
> -enum cedrus_codec {
> -	CEDRUS_CODEC_MPEG2,
> -	CEDRUS_CODEC_H264,
> -	CEDRUS_CODEC_H265,
> -	CEDRUS_CODEC_VP8,
> -	CEDRUS_CODEC_LAST,
> -};
> -
>  enum cedrus_irq_status {
>  	CEDRUS_IRQ_NONE,
>  	CEDRUS_IRQ_ERROR,
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h264.c b/drivers/staging/media/sunxi/cedrus/cedrus_h264.c
> index c92dec21c1ac..dfb401df138a 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_h264.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_h264.c
> @@ -518,7 +518,7 @@ static int cedrus_h264_setup(struct cedrus_ctx *ctx, struct cedrus_run *run)
>  	struct cedrus_dev *dev = ctx->dev;
>  	int ret;
>  
> -	cedrus_engine_enable(ctx, CEDRUS_CODEC_H264);
> +	cedrus_engine_enable(ctx);
>  
>  	cedrus_write(dev, VE_H264_SDROT_CTRL, 0);
>  	cedrus_write(dev, VE_H264_EXTRA_BUFFER1,
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
> index 7a438cd22c34..5d3da50ce46a 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
> @@ -471,7 +471,7 @@ static int cedrus_h265_setup(struct cedrus_ctx *ctx, struct cedrus_run *run)
>  	}
>  
>  	/* Activate H265 engine. */
> -	cedrus_engine_enable(ctx, CEDRUS_CODEC_H265);
> +	cedrus_engine_enable(ctx);
>  
>  	/* Source offset and length in bits. */
>  
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
> index c3387cd1e80f..fa86a658fdc6 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
> @@ -31,7 +31,7 @@
>  #include "cedrus_hw.h"
>  #include "cedrus_regs.h"
>  
> -int cedrus_engine_enable(struct cedrus_ctx *ctx, enum cedrus_codec codec)
> +int cedrus_engine_enable(struct cedrus_ctx *ctx)
>  {
>  	u32 reg = 0;
>  
> @@ -42,18 +42,18 @@ int cedrus_engine_enable(struct cedrus_ctx *ctx, enum cedrus_codec codec)
>  	reg |= VE_MODE_REC_WR_MODE_2MB;
>  	reg |= VE_MODE_DDR_MODE_BW_128;
>  
> -	switch (codec) {
> -	case CEDRUS_CODEC_MPEG2:
> +	switch (ctx->src_fmt.pixelformat) {
> +	case V4L2_PIX_FMT_MPEG2_SLICE:
>  		reg |= VE_MODE_DEC_MPEG;
>  		break;
>  
>  	/* H.264 and VP8 both use the same decoding mode bit. */
> -	case CEDRUS_CODEC_H264:
> -	case CEDRUS_CODEC_VP8:
> +	case V4L2_PIX_FMT_H264_SLICE:
> +	case V4L2_PIX_FMT_VP8_FRAME:
>  		reg |= VE_MODE_DEC_H264;

Could be nice to declare VE_MODE_DEC_VP8 with the same bit or to rename it
VE_MODE_DEC_H264_VP8. There's no particular reason why H264 should prevail
over VP8.

Cheers,

Paul

>  		break;
>  
> -	case CEDRUS_CODEC_H265:
> +	case V4L2_PIX_FMT_HEVC_SLICE:
>  		reg |= VE_MODE_DEC_H265;
>  		break;
>  
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.h b/drivers/staging/media/sunxi/cedrus/cedrus_hw.h
> index 7c92f00e36da..6f1e701b1ea8 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.h
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.h
> @@ -16,7 +16,7 @@
>  #ifndef _CEDRUS_HW_H_
>  #define _CEDRUS_HW_H_
>  
> -int cedrus_engine_enable(struct cedrus_ctx *ctx, enum cedrus_codec codec);
> +int cedrus_engine_enable(struct cedrus_ctx *ctx);
>  void cedrus_engine_disable(struct cedrus_dev *dev);
>  
>  void cedrus_dst_format_set(struct cedrus_dev *dev,
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c b/drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c
> index c1128d2cd555..10e98f08aafc 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_mpeg2.c
> @@ -66,7 +66,7 @@ static int cedrus_mpeg2_setup(struct cedrus_ctx *ctx, struct cedrus_run *run)
>  	quantisation = run->mpeg2.quantisation;
>  
>  	/* Activate MPEG engine. */
> -	cedrus_engine_enable(ctx, CEDRUS_CODEC_MPEG2);
> +	cedrus_engine_enable(ctx);
>  
>  	/* Set intra quantisation matrix. */
>  	matrix = quantisation->intra_quantiser_matrix;
> diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_vp8.c b/drivers/staging/media/sunxi/cedrus/cedrus_vp8.c
> index f7714baae37d..969677a3bbf9 100644
> --- a/drivers/staging/media/sunxi/cedrus/cedrus_vp8.c
> +++ b/drivers/staging/media/sunxi/cedrus/cedrus_vp8.c
> @@ -662,7 +662,7 @@ static int cedrus_vp8_setup(struct cedrus_ctx *ctx, struct cedrus_run *run)
>  	int header_size;
>  	u32 reg;
>  
> -	cedrus_engine_enable(ctx, CEDRUS_CODEC_VP8);
> +	cedrus_engine_enable(ctx);
>  
>  	cedrus_write(dev, VE_H264_CTRL, VE_H264_CTRL_VP8);
>  
> -- 
> 2.38.1
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux