RE: [PATCH 05/15] media: s5p-mfc: constify s5p_mfc_buf_size structures

From: Aakarsh Jain
Date: Tue Dec 26 2023 - 00:49:41 EST




> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> Sent: 24 December 2023 21:14
> To: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>; Andrzej Hajda
> <andrzej.hajda@xxxxxxxxx>; Mauro Carvalho Chehab
> <mchehab@xxxxxxxxxx>
> Cc: Aakarsh Jain <aakarsh.jain@xxxxxxxxxxx>; linux-fsd@xxxxxxxxxx; linux-
> samsung-soc@xxxxxxxxxxxxxxx; Smitha T Murthy
> <smithatmurthy@xxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> media@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx>
> Subject: [PATCH 05/15] media: s5p-mfc: constify s5p_mfc_buf_size
> structures
>
> Static "s5p_mfc_buf_size*" structures are not modified by the driver, so
> they can be made const for code safety.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---
> drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c | 20 ++++++++++---
> -------
> .../media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c | 2 +-
> .../media/platform/samsung/s5p-mfc/s5p_mfc_common.h | 4 ++--
> drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c | 2 +-
> .../media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c | 6 +++---
> .../media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c | 6 +++---
> 6 files changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> index e30e54935d79..6af7b812c5df 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
> @@ -1516,14 +1516,14 @@ static const struct dev_pm_ops
> s5p_mfc_pm_ops = {
> SET_SYSTEM_SLEEP_PM_OPS(s5p_mfc_suspend, s5p_mfc_resume)
> };
>
> -static struct s5p_mfc_buf_size_v5 mfc_buf_size_v5 = {
> +static const struct s5p_mfc_buf_size_v5 mfc_buf_size_v5 = {
> .h264_ctx = MFC_H264_CTX_BUF_SIZE,
> .non_h264_ctx = MFC_CTX_BUF_SIZE,
> .dsc = DESC_BUF_SIZE,
> .shm = SHARED_BUF_SIZE,
> };
>
> -static struct s5p_mfc_buf_size buf_size_v5 = {
> +static const struct s5p_mfc_buf_size buf_size_v5 = {
> .fw = MAX_FW_SIZE,
> .cpb = MAX_CPB_SIZE,
> .priv = &mfc_buf_size_v5,
> @@ -1540,7 +1540,7 @@ static struct s5p_mfc_variant mfc_drvdata_v5 = {
> .use_clock_gating = true,
> };
>
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v6 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v6 = {
> .dev_ctx = MFC_CTX_BUF_SIZE_V6,
> .h264_dec_ctx = MFC_H264_DEC_CTX_BUF_SIZE_V6,
> .other_dec_ctx = MFC_OTHER_DEC_CTX_BUF_SIZE_V6,
> @@ -1548,7 +1548,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v6
> = {
> .other_enc_ctx = MFC_OTHER_ENC_CTX_BUF_SIZE_V6,
> };
>
> -static struct s5p_mfc_buf_size buf_size_v6 = {
> +static const struct s5p_mfc_buf_size buf_size_v6 = {
> .fw = MAX_FW_SIZE_V6,
> .cpb = MAX_CPB_SIZE_V6,
> .priv = &mfc_buf_size_v6,
> @@ -1569,7 +1569,7 @@ static struct s5p_mfc_variant mfc_drvdata_v6 = {
> .num_clocks = 1,
> };
>
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v7 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v7 = {
> .dev_ctx = MFC_CTX_BUF_SIZE_V7,
> .h264_dec_ctx = MFC_H264_DEC_CTX_BUF_SIZE_V7,
> .other_dec_ctx = MFC_OTHER_DEC_CTX_BUF_SIZE_V7,
> @@ -1577,7 +1577,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v7
> = {
> .other_enc_ctx = MFC_OTHER_ENC_CTX_BUF_SIZE_V7,
> };
>
> -static struct s5p_mfc_buf_size buf_size_v7 = {
> +static const struct s5p_mfc_buf_size buf_size_v7 = {
> .fw = MAX_FW_SIZE_V7,
> .cpb = MAX_CPB_SIZE_V7,
> .priv = &mfc_buf_size_v7,
> @@ -1603,7 +1603,7 @@ static struct s5p_mfc_variant mfc_drvdata_v7_3250
> = {
> .num_clocks = 2,
> };
>
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v8 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v8 = {
> .dev_ctx = MFC_CTX_BUF_SIZE_V8,
> .h264_dec_ctx = MFC_H264_DEC_CTX_BUF_SIZE_V8,
> .other_dec_ctx = MFC_OTHER_DEC_CTX_BUF_SIZE_V8,
> @@ -1611,7 +1611,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v8
> = {
> .other_enc_ctx = MFC_OTHER_ENC_CTX_BUF_SIZE_V8,
> };
>
> -static struct s5p_mfc_buf_size buf_size_v8 = {
> +static const struct s5p_mfc_buf_size buf_size_v8 = {
> .fw = MAX_FW_SIZE_V8,
> .cpb = MAX_CPB_SIZE_V8,
> .priv = &mfc_buf_size_v8,
> @@ -1637,7 +1637,7 @@ static struct s5p_mfc_variant mfc_drvdata_v8_5433
> = {
> .num_clocks = 3,
> };
>
> -static struct s5p_mfc_buf_size_v6 mfc_buf_size_v10 = {
> +static const struct s5p_mfc_buf_size_v6 mfc_buf_size_v10 = {
> .dev_ctx = MFC_CTX_BUF_SIZE_V10,
> .h264_dec_ctx = MFC_H264_DEC_CTX_BUF_SIZE_V10,
> .other_dec_ctx = MFC_OTHER_DEC_CTX_BUF_SIZE_V10, @@ -
> 1646,7 +1646,7 @@ static struct s5p_mfc_buf_size_v6 mfc_buf_size_v10 = {
> .other_enc_ctx = MFC_OTHER_ENC_CTX_BUF_SIZE_V10, };
>
> -static struct s5p_mfc_buf_size buf_size_v10 = {
> +static const struct s5p_mfc_buf_size buf_size_v10 = {
> .fw = MAX_FW_SIZE_V10,
> .cpb = MAX_CPB_SIZE_V10,
> .priv = &mfc_buf_size_v10,
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> index f8588e52dfc8..25c4719a5dd0 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c
> @@ -32,7 +32,7 @@ static int s5p_mfc_cmd_host2risc_v6(struct
> s5p_mfc_dev *dev, int cmd, static int s5p_mfc_sys_init_cmd_v6(struct
> s5p_mfc_dev *dev) {
> struct s5p_mfc_cmd_args h2r_args;
> - struct s5p_mfc_buf_size_v6 *buf_size = dev->variant->buf_size-
> >priv;
> + const struct s5p_mfc_buf_size_v6 *buf_size =
> +dev->variant->buf_size->priv;
> int ret;
>
> ret = s5p_mfc_hw_call(dev->mfc_ops, alloc_dev_context_buffer,
> dev); 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 f33a755327ef..6a47f3434c60 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_common.h
> @@ -219,14 +219,14 @@ struct s5p_mfc_buf_size_v6 { struct
> s5p_mfc_buf_size {
> unsigned int fw;
> unsigned int cpb;
> - void *priv;
> + const void *priv;
> };
>
> struct s5p_mfc_variant {
> unsigned int version;
> unsigned int port_num;
> u32 version_bit;
> - struct s5p_mfc_buf_size *buf_size;
> + const struct s5p_mfc_buf_size *buf_size;
> const char *fw_name[MFC_FW_MAX_VERSIONS];
> const char *clk_names[MFC_MAX_CLOCKS];
> int num_clocks;
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> index 268ffe4da53c..4dbe8792ac3d 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c
> @@ -426,7 +426,7 @@ static int vidioc_s_fmt(struct file *file, void *priv,
> struct v4l2_format *f)
> struct s5p_mfc_ctx *ctx = fh_to_ctx(priv);
> int ret = 0;
> struct v4l2_pix_format_mplane *pix_mp;
> - struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
> + const struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
>
> mfc_debug_enter();
> ret = vidioc_try_fmt(file, priv, f);
> diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> index 28a06dc343fd..13a3ff55e547 100644
> --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v5.c
> @@ -34,7 +34,7 @@
> static int s5p_mfc_alloc_dec_temp_buffers_v5(struct s5p_mfc_ctx *ctx) {
> struct s5p_mfc_dev *dev = ctx->dev;
> - struct s5p_mfc_buf_size_v5 *buf_size = dev->variant->buf_size-
> >priv;
> + const struct s5p_mfc_buf_size_v5 *buf_size =
> +dev->variant->buf_size->priv;
> int ret;
>
> ctx->dsc.size = buf_size->dsc;
> @@ -200,7 +200,7 @@ static void s5p_mfc_release_codec_buffers_v5(struct
> s5p_mfc_ctx *ctx) static int s5p_mfc_alloc_instance_buffer_v5(struct
> s5p_mfc_ctx *ctx) {
> struct s5p_mfc_dev *dev = ctx->dev;
> - struct s5p_mfc_buf_size_v5 *buf_size = dev->variant->buf_size-
> >priv;
> + const struct s5p_mfc_buf_size_v5 *buf_size =
> +dev->variant->buf_size->priv;
> int ret;
>
> if (ctx->codec_mode == S5P_MFC_CODEC_H264_DEC || @@ -345,7
> +345,7 @@ static void s5p_mfc_enc_calc_src_size_v5(struct s5p_mfc_ctx
> *ctx) static void s5p_mfc_set_dec_desc_buffer(struct s5p_mfc_ctx *ctx) {
> struct s5p_mfc_dev *dev = ctx->dev;
> - struct s5p_mfc_buf_size_v5 *buf_size = dev->variant->buf_size-
> >priv;
> + const struct s5p_mfc_buf_size_v5 *buf_size =
> +dev->variant->buf_size->priv;
>
> mfc_write(dev, OFFSETA(ctx->dsc.dma),
> S5P_FIMV_SI_CH0_DESC_ADR);
> mfc_write(dev, buf_size->dsc, S5P_FIMV_SI_CH0_DESC_SIZE); 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..70a62400908e 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
> @@ -333,7 +333,7 @@ static void s5p_mfc_release_codec_buffers_v6(struct
> s5p_mfc_ctx *ctx) static int s5p_mfc_alloc_instance_buffer_v6(struct
> s5p_mfc_ctx *ctx) {
> struct s5p_mfc_dev *dev = ctx->dev;
> - struct s5p_mfc_buf_size_v6 *buf_size = dev->variant->buf_size-
> >priv;
> + const struct s5p_mfc_buf_size_v6 *buf_size =
> +dev->variant->buf_size->priv;
> int ret;
>
> mfc_debug_enter();
> @@ -393,7 +393,7 @@ static void
> s5p_mfc_release_instance_buffer_v6(struct s5p_mfc_ctx *ctx)
> /* Allocate context buffers for SYS_INIT */ static int
> s5p_mfc_alloc_dev_context_buffer_v6(struct s5p_mfc_dev *dev) {
> - struct s5p_mfc_buf_size_v6 *buf_size = dev->variant->buf_size-
> >priv;
> + const struct s5p_mfc_buf_size_v6 *buf_size =
> +dev->variant->buf_size->priv;
> int ret;
>
> mfc_debug_enter();
> @@ -493,7 +493,7 @@ static int s5p_mfc_set_dec_stream_buffer_v6(struct
> s5p_mfc_ctx *ctx, {
> struct s5p_mfc_dev *dev = ctx->dev;
> const struct s5p_mfc_regs *mfc_regs = dev->mfc_regs;
> - struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
> + const struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
>
> mfc_debug_enter();
> mfc_debug(2, "inst_no: %d, buf_addr: 0x%08x,\n"
>
> --
> 2.34.1

Reviewed-by: Aakarsh Jain <aakarsh.jain@xxxxxxxxxxx>

Thanks!