Message ID | 20231025102216.50480-3-aakarsh.jain@samsung.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v4,01/11] dt-bindings: media: s5p-mfc: Add mfcv12 variant | expand |
Hi Aakarsh > -----Original Message----- > From: Aakarsh Jain <aakarsh.jain@samsung.com> > Sent: Wednesday, October 25, 2023 3:52 PM > To: linux-arm-kernel@lists.infradead.org; linux-media@vger.kernel.org; > linux-kernel@vger.kernel.org; devicetree@vger.kernel.org > Cc: m.szyprowski@samsung.com; andrzej.hajda@intel.com; > mchehab@kernel.org; hverkuil-cisco@xs4all.nl; > krzysztof.kozlowski+dt@linaro.org; dillon.minfei@gmail.com; > david.plowman@raspberrypi.com; mark.rutland@arm.com; > robh+dt@kernel.org; conor+dt@kernel.org; linux-samsung- > soc@vger.kernel.org; andi@etezian.org; gost.dev@samsung.com; > alim.akhtar@samsung.com; aswani.reddy@samsung.com; > pankaj.dubey@samsung.com; ajaykumar.rs@samsung.com; > aakarsh.jain@samsung.com; linux-fsd@tesla.com; Smitha T Murthy > <smithatmurthy@gmail.com> > Subject: [Patch v4 02/11] media: s5p-mfc: Rename IS_MFCV10 macro > > Renames macro IS_MFCV10 to IS_MFCV10_PLUS so that the MFCv10 code > can be resued for MFCv12 support. Since some part of MFCv10 specific code > holds good for MFCv12 also. > > Cc: linux-fsd@tesla.com > Signed-off-by: Smitha T Murthy <smithatmurthy@gmail.com> > Signed-off-by: Aakarsh Jain <aakarsh.jain@samsung.com> > --- Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> > .../platform/samsung/s5p-mfc/s5p_mfc_common.h | 10 +++---- > .../platform/samsung/s5p-mfc/s5p_mfc_ctrl.c | 2 +- > .../platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 28 +++++++++---------- > 3 files changed, 20 insertions(+), 20 deletions(-) > > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h > b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h > index 5304f42c8c72..e6ec4a43b290 100644 > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h > @@ -771,11 +771,11 @@ void s5p_mfc_cleanup_queue(struct list_head *lh, > struct vb2_queue *vq); > #define HAS_PORTNUM(dev) (dev ? (dev->variant ? \ > (dev->variant->port_num ? 1 : 0) : 0) : 0) > #define IS_TWOPORT(dev) (dev->variant->port_num == 2 ? 1 : 0) > -#define IS_MFCV6_PLUS(dev) (dev->variant->version >= 0x60 ? 1 : > 0) > -#define IS_MFCV7_PLUS(dev) (dev->variant->version >= 0x70 ? 1 : > 0) > -#define IS_MFCV8_PLUS(dev) (dev->variant->version >= 0x80 ? 1 : > 0) > -#define IS_MFCV10(dev) (dev->variant->version >= 0xA0 ? 1 : > 0) > -#define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10(dev)) > +#define IS_MFCV6_PLUS(dev) (dev->variant->version >= 0x60) > +#define IS_MFCV7_PLUS(dev) (dev->variant->version >= 0x70) > +#define IS_MFCV8_PLUS(dev) (dev->variant->version >= 0x80) > +#define IS_MFCV10_PLUS(dev) (dev->variant->version >= 0xA0) > +#define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10_PLUS(dev)) > > #define MFC_V5_BIT BIT(0) > #define MFC_V6_BIT BIT(1) > diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > index 6d3c92045c05..54b54b2fa9b1 100644 > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c > @@ -236,7 +236,7 @@ int s5p_mfc_init_hw(struct s5p_mfc_dev *dev) > else > mfc_write(dev, 0x3ff, S5P_FIMV_SW_RESET); > > - if (IS_MFCV10(dev)) > + if (IS_MFCV10_PLUS(dev)) > mfc_write(dev, 0x0, S5P_FIMV_MFC_CLOCK_OFF_V10); > > mfc_debug(2, "Will now wait for completion of firmware > transfer\n"); diff --git a/drivers/media/platform/samsung/s5p- > mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p- > mfc/s5p_mfc_opr_v6.c > index c0df5ac9fcff..882166e4ac50 100644 > --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c > +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c > @@ -72,9 +72,9 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > ctx->luma_size, ctx->chroma_size, ctx->mv_size); > mfc_debug(2, "Totals bufs: %d\n", ctx->total_dpb_count); > } else if (ctx->type == MFCINST_ENCODER) { > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) > ctx->tmv_buffer_size = 0; > - } else if (IS_MFCV8_PLUS(dev)) > + else if (IS_MFCV8_PLUS(dev)) > ctx->tmv_buffer_size = > S5P_FIMV_NUM_TMV_BUFFERS_V6 * > > ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V8(mb_width, mb_height), > S5P_FIMV_TMV_BUFFER_ALIGN_V6); > @@ -82,7 +82,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > ctx->tmv_buffer_size = > S5P_FIMV_NUM_TMV_BUFFERS_V6 * > > ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V6(mb_width, mb_height), > S5P_FIMV_TMV_BUFFER_ALIGN_V6); > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) { > lcu_width = S5P_MFC_LCU_WIDTH(ctx->img_width); > lcu_height = S5P_MFC_LCU_HEIGHT(ctx- > >img_height); > if (ctx->codec_mode != > S5P_FIMV_CODEC_HEVC_ENC) { @@ -133,7 +133,7 @@ static int > s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) > switch (ctx->codec_mode) { > case S5P_MFC_CODEC_H264_DEC: > case S5P_MFC_CODEC_H264_MVC_DEC: > - if (IS_MFCV10(dev)) > + if (IS_MFCV10_PLUS(dev)) > mfc_debug(2, "Use min scratch buffer size\n"); > else if (IS_MFCV8_PLUS(dev)) > ctx->scratch_buf_size = > @@ -152,7 +152,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > (ctx->mv_count * ctx->mv_size); > break; > case S5P_MFC_CODEC_MPEG4_DEC: > - if (IS_MFCV10(dev)) > + if (IS_MFCV10_PLUS(dev)) > mfc_debug(2, "Use min scratch buffer size\n"); > else if (IS_MFCV7_PLUS(dev)) { > ctx->scratch_buf_size = > @@ -172,7 +172,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > break; > case S5P_MFC_CODEC_VC1RCV_DEC: > case S5P_MFC_CODEC_VC1_DEC: > - if (IS_MFCV10(dev)) > + if (IS_MFCV10_PLUS(dev)) > mfc_debug(2, "Use min scratch buffer size\n"); > else > ctx->scratch_buf_size = > @@ -189,7 +189,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > ctx->bank2.size = 0; > break; > case S5P_MFC_CODEC_H263_DEC: > - if (IS_MFCV10(dev)) > + if (IS_MFCV10_PLUS(dev)) > mfc_debug(2, "Use min scratch buffer size\n"); > else > ctx->scratch_buf_size = > @@ -201,7 +201,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > ctx->bank1.size = ctx->scratch_buf_size; > break; > case S5P_MFC_CODEC_VP8_DEC: > - if (IS_MFCV10(dev)) > + if (IS_MFCV10_PLUS(dev)) > mfc_debug(2, "Use min scratch buffer size\n"); > else if (IS_MFCV8_PLUS(dev)) > ctx->scratch_buf_size = > @@ -230,7 +230,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > DEC_VP9_STATIC_BUFFER_SIZE; > break; > case S5P_MFC_CODEC_H264_ENC: > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) { > mfc_debug(2, "Use min scratch buffer size\n"); > ctx->me_buffer_size = > ALIGN(ENC_V100_H264_ME_SIZE(mb_width, > mb_height), 16); @@ -254,7 +254,7 @@ static int > s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) > break; > case S5P_MFC_CODEC_MPEG4_ENC: > case S5P_MFC_CODEC_H263_ENC: > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) { > mfc_debug(2, "Use min scratch buffer size\n"); > ctx->me_buffer_size = > > ALIGN(ENC_V100_MPEG4_ME_SIZE(mb_width, > @@ -273,7 +273,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct > s5p_mfc_ctx *ctx) > ctx->bank2.size = 0; > break; > case S5P_MFC_CODEC_VP8_ENC: > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) { > mfc_debug(2, "Use min scratch buffer size\n"); > ctx->me_buffer_size = > ALIGN(ENC_V100_VP8_ME_SIZE(mb_width, > mb_height), @@ -452,7 +452,7 @@ static void > s5p_mfc_dec_calc_dpb_size_v6(struct s5p_mfc_ctx *ctx) > > if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || > ctx->codec_mode == > S5P_MFC_CODEC_H264_MVC_DEC) { > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) { > ctx->mv_size = S5P_MFC_DEC_MV_SIZE_V10(ctx- > >img_width, > ctx->img_height); > } else { > @@ -668,7 +668,7 @@ static int s5p_mfc_set_enc_ref_buffer_v6(struct > s5p_mfc_ctx *ctx) > > mfc_debug(2, "Buf1: %p (%d)\n", (void *)buf_addr1, buf_size1); > > - if (IS_MFCV10(dev)) { > + if (IS_MFCV10_PLUS(dev)) { > /* start address of per buffer is aligned */ > for (i = 0; i < ctx->pb_count; i++) { > writel(buf_addr1, mfc_regs->e_luma_dpb + (4 * i)); > @@ -2455,7 +2455,7 @@ const struct s5p_mfc_regs > *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) > R(e_h264_options, S5P_FIMV_E_H264_OPTIONS_V8); > R(e_min_scratch_buffer_size, > S5P_FIMV_E_MIN_SCRATCH_BUFFER_SIZE_V8); > > - if (!IS_MFCV10(dev)) > + if (!IS_MFCV10_PLUS(dev)) > goto done; > > /* Initialize registers used in MFC v10 only. > -- > 2.17.1
diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h index 5304f42c8c72..e6ec4a43b290 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h @@ -771,11 +771,11 @@ void s5p_mfc_cleanup_queue(struct list_head *lh, struct vb2_queue *vq); #define HAS_PORTNUM(dev) (dev ? (dev->variant ? \ (dev->variant->port_num ? 1 : 0) : 0) : 0) #define IS_TWOPORT(dev) (dev->variant->port_num == 2 ? 1 : 0) -#define IS_MFCV6_PLUS(dev) (dev->variant->version >= 0x60 ? 1 : 0) -#define IS_MFCV7_PLUS(dev) (dev->variant->version >= 0x70 ? 1 : 0) -#define IS_MFCV8_PLUS(dev) (dev->variant->version >= 0x80 ? 1 : 0) -#define IS_MFCV10(dev) (dev->variant->version >= 0xA0 ? 1 : 0) -#define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10(dev)) +#define IS_MFCV6_PLUS(dev) (dev->variant->version >= 0x60) +#define IS_MFCV7_PLUS(dev) (dev->variant->version >= 0x70) +#define IS_MFCV8_PLUS(dev) (dev->variant->version >= 0x80) +#define IS_MFCV10_PLUS(dev) (dev->variant->version >= 0xA0) +#define FW_HAS_E_MIN_SCRATCH_BUF(dev) (IS_MFCV10_PLUS(dev)) #define MFC_V5_BIT BIT(0) #define MFC_V6_BIT BIT(1) diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c index 6d3c92045c05..54b54b2fa9b1 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c @@ -236,7 +236,7 @@ int s5p_mfc_init_hw(struct s5p_mfc_dev *dev) else mfc_write(dev, 0x3ff, S5P_FIMV_SW_RESET); - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_write(dev, 0x0, S5P_FIMV_MFC_CLOCK_OFF_V10); mfc_debug(2, "Will now wait for completion of firmware transfer\n"); diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c index c0df5ac9fcff..882166e4ac50 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -72,9 +72,9 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->luma_size, ctx->chroma_size, ctx->mv_size); mfc_debug(2, "Totals bufs: %d\n", ctx->total_dpb_count); } else if (ctx->type == MFCINST_ENCODER) { - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) ctx->tmv_buffer_size = 0; - } else if (IS_MFCV8_PLUS(dev)) + else if (IS_MFCV8_PLUS(dev)) ctx->tmv_buffer_size = S5P_FIMV_NUM_TMV_BUFFERS_V6 * ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V8(mb_width, mb_height), S5P_FIMV_TMV_BUFFER_ALIGN_V6); @@ -82,7 +82,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->tmv_buffer_size = S5P_FIMV_NUM_TMV_BUFFERS_V6 * ALIGN(S5P_FIMV_TMV_BUFFER_SIZE_V6(mb_width, mb_height), S5P_FIMV_TMV_BUFFER_ALIGN_V6); - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { lcu_width = S5P_MFC_LCU_WIDTH(ctx->img_width); lcu_height = S5P_MFC_LCU_HEIGHT(ctx->img_height); if (ctx->codec_mode != S5P_FIMV_CODEC_HEVC_ENC) { @@ -133,7 +133,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) switch (ctx->codec_mode) { case S5P_MFC_CODEC_H264_DEC: case S5P_MFC_CODEC_H264_MVC_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else if (IS_MFCV8_PLUS(dev)) ctx->scratch_buf_size = @@ -152,7 +152,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) (ctx->mv_count * ctx->mv_size); break; case S5P_MFC_CODEC_MPEG4_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else if (IS_MFCV7_PLUS(dev)) { ctx->scratch_buf_size = @@ -172,7 +172,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) break; case S5P_MFC_CODEC_VC1RCV_DEC: case S5P_MFC_CODEC_VC1_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else ctx->scratch_buf_size = @@ -189,7 +189,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank2.size = 0; break; case S5P_MFC_CODEC_H263_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else ctx->scratch_buf_size = @@ -201,7 +201,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank1.size = ctx->scratch_buf_size; break; case S5P_MFC_CODEC_VP8_DEC: - if (IS_MFCV10(dev)) + if (IS_MFCV10_PLUS(dev)) mfc_debug(2, "Use min scratch buffer size\n"); else if (IS_MFCV8_PLUS(dev)) ctx->scratch_buf_size = @@ -230,7 +230,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) DEC_VP9_STATIC_BUFFER_SIZE; break; case S5P_MFC_CODEC_H264_ENC: - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_H264_ME_SIZE(mb_width, mb_height), 16); @@ -254,7 +254,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) break; case S5P_MFC_CODEC_MPEG4_ENC: case S5P_MFC_CODEC_H263_ENC: - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_MPEG4_ME_SIZE(mb_width, @@ -273,7 +273,7 @@ static int s5p_mfc_alloc_codec_buffers_v6(struct s5p_mfc_ctx *ctx) ctx->bank2.size = 0; break; case S5P_MFC_CODEC_VP8_ENC: - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { mfc_debug(2, "Use min scratch buffer size\n"); ctx->me_buffer_size = ALIGN(ENC_V100_VP8_ME_SIZE(mb_width, mb_height), @@ -452,7 +452,7 @@ static void s5p_mfc_dec_calc_dpb_size_v6(struct s5p_mfc_ctx *ctx) if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || ctx->codec_mode == S5P_MFC_CODEC_H264_MVC_DEC) { - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { ctx->mv_size = S5P_MFC_DEC_MV_SIZE_V10(ctx->img_width, ctx->img_height); } else { @@ -668,7 +668,7 @@ static int s5p_mfc_set_enc_ref_buffer_v6(struct s5p_mfc_ctx *ctx) mfc_debug(2, "Buf1: %p (%d)\n", (void *)buf_addr1, buf_size1); - if (IS_MFCV10(dev)) { + if (IS_MFCV10_PLUS(dev)) { /* start address of per buffer is aligned */ for (i = 0; i < ctx->pb_count; i++) { writel(buf_addr1, mfc_regs->e_luma_dpb + (4 * i)); @@ -2455,7 +2455,7 @@ const struct s5p_mfc_regs *s5p_mfc_init_regs_v6_plus(struct s5p_mfc_dev *dev) R(e_h264_options, S5P_FIMV_E_H264_OPTIONS_V8); R(e_min_scratch_buffer_size, S5P_FIMV_E_MIN_SCRATCH_BUFFER_SIZE_V8); - if (!IS_MFCV10(dev)) + if (!IS_MFCV10_PLUS(dev)) goto done; /* Initialize registers used in MFC v10 only.