Hi Arun,

Please find my comments below.

Best wishes,
--
Kamil Debski
Linux Platform Group
Samsung Poland R&D Center


> From: Arun Kumar K [mailto:arun...@samsung.com]
> Sent: 27 August 2012 04:58

[...]

> diff --git a/drivers/media/video/s5p-mfc/s5p_mfc_common.h
> b/drivers/media/video/s5p-mfc/s5p_mfc_common.h
> index 9834b4e..0c1618e 100644
> --- a/drivers/media/video/s5p-mfc/s5p_mfc_common.h
> +++ b/drivers/media/video/s5p-mfc/s5p_mfc_common.h
> @@ -30,17 +30,6 @@
>  *  while mmaping */
>  #define DST_QUEUE_OFF_BASE      (TASK_SIZE / 2)
> 
> -/* Offset used by the hardware to store addresses */
> -#define MFC_OFFSET_SHIFT     11
> -
> -#define FIRMWARE_ALIGN               0x20000         /* 128KB */
> -#define MFC_H264_CTX_BUF_SIZE        0x96000         /* 600KB per H264
instance
> */
> -#define MFC_CTX_BUF_SIZE     0x2800          /* 10KB per instance */
> -#define DESC_BUF_SIZE                0x20000         /* 128KB for DESC
buffer */
> -#define SHARED_BUF_SIZE              0x2000          /* 8KB for shared
buffer */
> -
> -#define DEF_CPB_SIZE         0x40000         /* 512KB */
> -
>  #define MFC_BANK1_ALLOC_CTX  0
>  #define MFC_BANK2_ALLOC_CTX  1
> 
> @@ -207,6 +196,47 @@ struct s5p_mfc_pm {
>       struct device   *device;
>  };
> 
> +struct s5p_mfc_buf_size_v5 {
> +     unsigned int h264_ctx;
> +     unsigned int non_h264_ctx;
> +     unsigned int dsc;
> +     unsigned int shm;
> +};
> +
> +struct s5p_mfc_buf_size {
> +     unsigned int fw;
> +     unsigned int cpb;
> +     void *priv;
> +};
> +
> +struct s5p_mfc_buf_align {
> +     unsigned int base;
> +};
> +
> +struct s5p_mfc_variant {
> +     unsigned int version;
> +     unsigned int port_num;
> +     struct s5p_mfc_buf_size *buf_size;
> +     struct s5p_mfc_buf_align *buf_align;
> +};
> +
> +/**
> + * struct s5p_mfc_priv_buf - represents internal used buffer
> + * @alloc:           allocation-specific context for each buffer
> + *                   (videobuf2 allocator)
> + * @ofs:             offset of each buffer, will be used for MFC
> + * @virt:            kernel virtual address, only valid when the
> + *                   buffer accessed by driver
> + * @dma:             DMA address, only valid when kernel DMA API used
> + */
> +struct s5p_mfc_priv_buf {
> +     void            *alloc;
> +     unsigned long   ofs;
> +     void            *virt;
> +     dma_addr_t      dma;
> +     size_t          size;
> +};
> +
>  /**
>   * struct s5p_mfc_dev - The struct containing driver internal parameters.
>   *
> @@ -257,6 +287,7 @@ struct s5p_mfc_dev {
>       struct v4l2_ctrl_handler dec_ctrl_handler;
>       struct v4l2_ctrl_handler enc_ctrl_handler;
>       struct s5p_mfc_pm       pm;
> +     struct s5p_mfc_variant  *variant;

No description for this variable above.

>       int num_inst;
>       spinlock_t irqlock;     /* lock when operating on videobuf2 queues */
>       spinlock_t condlock;    /* lock when changing/checking if a context is
> @@ -295,7 +326,6 @@ struct s5p_mfc_h264_enc_params {
>       u8 max_ref_pic;
>       u8 num_ref_pic_4p;
>       int _8x8_transform;
> -     int rc_mb;
>       int rc_mb_dark;
>       int rc_mb_smooth;
>       int rc_mb_static;
> @@ -314,6 +344,7 @@ struct s5p_mfc_h264_enc_params {
>       enum v4l2_mpeg_video_h264_level level_v4l2;
>       int level;
>       u16 cpb_size;
> +     int interlace;
>  };
> 
>  /**
> @@ -352,6 +383,7 @@ struct s5p_mfc_enc_params {
>       u8 pad_cb;
>       u8 pad_cr;
>       int rc_frame;
> +     int rc_mb;
>       u32 rc_bitrate;
>       u16 rc_reaction_coeff;
>       u16 vbv_size;
> @@ -363,7 +395,6 @@ struct s5p_mfc_enc_params {
>       u8 num_b_frame;
>       u32 rc_framerate_num;
>       u32 rc_framerate_denom;
> -     int interlace;
> 
>       union {
>               struct s5p_mfc_h264_enc_params h264;
> @@ -540,18 +571,9 @@ struct s5p_mfc_ctx {
>       int total_dpb_count;
> 
>       /* Buffers */
> -     void *ctx_buf;
> -     size_t ctx_phys;
> -     size_t ctx_ofs;
> -     size_t ctx_size;
> -
> -     void *desc_buf;
> -     size_t desc_phys;
> -
> -
> -     void *shm_alloc;
> -     void *shm;
> -     size_t shm_ofs;
> +     struct s5p_mfc_priv_buf ctx;
> +     struct s5p_mfc_priv_buf dsc;
> +     struct s5p_mfc_priv_buf shm;
> 

Also no description for these variables.

>       struct s5p_mfc_enc_params enc_params;
> 

[...]

--
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