Hi Arun,

I have read your patches. They seem alright, I back comments made by Hans
and Sylwester. I have one question, which follows inline.

Best wishes,
-- 
Kamil Debski
Linux Kernel Developer
Samsung R&D Institute Poland

> -----Original Message-----
> From: Arun Kumar K [mailto:arun...@samsung.com]
> Sent: Monday, June 10, 2013 3:23 PM
> To: linux-media@vger.kernel.org
> Cc: k.deb...@samsung.com; jtp.p...@samsung.com; s.nawro...@samsung.com;
> avnd.ki...@samsung.com; arunkk.sams...@gmail.com
> Subject: [PATCH 3/6] [media] s5p-mfc: Core support for MFC v7
> 
> Adds variant data and core support for the MFC v7 firmware
> 
> Signed-off-by: Arun Kumar K <arun...@samsung.com>
> ---
>  drivers/media/platform/s5p-mfc/s5p_mfc.c        |   32
> +++++++++++++++++++++++
>  drivers/media/platform/s5p-mfc/s5p_mfc_common.h |    2 ++
>  2 files changed, 34 insertions(+)
> 
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c
> b/drivers/media/platform/s5p-mfc/s5p_mfc.c
> index d12faa6..d6be52f 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
> @@ -1391,6 +1391,32 @@ static struct s5p_mfc_variant mfc_drvdata_v6 = {
>       .fw_name        = "s5p-mfc-v6.fw",
>  };
> 
> +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,
> +     .h264_enc_ctx   = MFC_H264_ENC_CTX_BUF_SIZE_V7,
> +     .other_enc_ctx  = MFC_OTHER_ENC_CTX_BUF_SIZE_V7,
> +};
> +
> +struct s5p_mfc_buf_size buf_size_v7 = {
> +     .fw     = MAX_FW_SIZE_V7,
> +     .cpb    = MAX_CPB_SIZE_V7,
> +     .priv   = &mfc_buf_size_v7,
> +};
> +
> +struct s5p_mfc_buf_align mfc_buf_align_v7 = {
> +     .base = 0,
> +};
> +
> +static struct s5p_mfc_variant mfc_drvdata_v7 = {
> +     .version        = MFC_VERSION_V7,
> +     .port_num       = MFC_NUM_PORTS_V7,
> +     .buf_size       = &buf_size_v7,
> +     .buf_align      = &mfc_buf_align_v7,
> +     .fw_name        = "s5p-mfc-v7.fw",
> +};
> +
>  static struct platform_device_id mfc_driver_ids[] = {
>       {
>               .name = "s5p-mfc",
> @@ -1401,6 +1427,9 @@ static struct platform_device_id mfc_driver_ids[]
> = {
>       }, {
>               .name = "s5p-mfc-v6",
>               .driver_data = (unsigned long)&mfc_drvdata_v6,
> +     }, {
> +             .name = "s5p-mfc-v7",
> +             .driver_data = (unsigned long)&mfc_drvdata_v7,
>       },
>       {},
>  };
> @@ -1413,6 +1442,9 @@ static const struct of_device_id
> exynos_mfc_match[] = {
>       }, {
>               .compatible = "samsung,mfc-v6",
>               .data = &mfc_drvdata_v6,
> +     }, {
> +             .compatible = "samsung,mfc-v7",
> +             .data = &mfc_drvdata_v7,
>       },
>       {},
>  };
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> index ef4074c..7281de2 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> @@ -24,6 +24,7 @@
>  #include <media/videobuf2-core.h>
>  #include "regs-mfc.h"
>  #include "regs-mfc-v6.h"
> +#include "regs-mfc-v7.h"
> 
>  /* Definitions related to MFC memory */
> 
> @@ -684,5 +685,6 @@ void set_work_bit_irqsave(struct s5p_mfc_ctx *ctx);
>                               (dev->variant->port_num ? 1 : 0) : 0) : 0)
>  #define IS_TWOPORT(dev)              (dev->variant->port_num == 2 ? 1 :
0)
>  #define IS_MFCV6(dev)                (dev->variant->version >= 0x60 ? 1 :
0)
> +#define IS_MFCV7(dev)                (dev->variant->version >= 0x70 ? 1 :
0)

According to this, MFC v7 is also detected as MFC v6. Was this intended?
I think that it would be much better to use this in code:
        if (IS_MFCV6(dev) || IS_MFCV7(dev))
And change the define to detect only single MFC revision:
        #define IS_MFCV6(dev)           (dev->variant->version >= 0x60 &&
dev->variant->version < 0x70)

Other possibility I see is to change the name of the check. Although
IS_MFCV6_OR_NEWER(dev) seems too long :)

> 
>  #endif /* S5P_MFC_COMMON_H_ */
> --
> 1.7.9.5


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to