Re: [REVIEW PATCH V4 11/12] [media] marvell-ccic: add dma burst support for marvell-ccic driver

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

 



Not much _I_ could help here with, FWIW:

On Thu, 7 Feb 2013, Albert Wang wrote:

> This patch adds the dma burst size config support for marvell-ccic.
> Developer can set the dma burst size in specified board driver.
> 
> Signed-off-by: Albert Wang <twang13@xxxxxxxxxxx>
> Signed-off-by: Libin Yang <lbyang@xxxxxxxxxxx>
> Acked-by: Jonathan Corbet <corbet@xxxxxxx>

Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>

Thanks
Guennadi

> ---
>  drivers/media/platform/marvell-ccic/mcam-core.c  |    3 ++-
>  drivers/media/platform/marvell-ccic/mcam-core.h  |    8 ++++----
>  drivers/media/platform/marvell-ccic/mmp-driver.c |   11 +++++++++++
>  include/media/mmp-camera.h                       |    1 +
>  4 files changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c b/drivers/media/platform/marvell-ccic/mcam-core.c
> index 16ba045..f206e3c 100755
> --- a/drivers/media/platform/marvell-ccic/mcam-core.c
> +++ b/drivers/media/platform/marvell-ccic/mcam-core.c
> @@ -1218,7 +1218,8 @@ static int mcam_camera_add_device(struct soc_camera_device *icd)
>  	mcam_ctlr_power_up(mcam);
>  	mcam_ctlr_stop(mcam);
>  	mcam_set_config_needed(mcam, 1);
> -	mcam_reg_write(mcam, REG_CTRL1, C1_RESERVED | C1_DMAPOSTED);
> +	mcam_reg_write(mcam, REG_CTRL1,
> +				mcam->burst | C1_RESERVED | C1_DMAPOSTED);
>  	mcam_reg_write(mcam, REG_CLKCTRL,
>  				(mcam->mclk_src << 29) | mcam->mclk_div);
>  	cam_dbg(mcam, "camera: set sensor mclk = %dMHz\n", mcam->mclk_min);
> diff --git a/drivers/media/platform/marvell-ccic/mcam-core.h b/drivers/media/platform/marvell-ccic/mcam-core.h
> index 12af7d2..0accdbb 100755
> --- a/drivers/media/platform/marvell-ccic/mcam-core.h
> +++ b/drivers/media/platform/marvell-ccic/mcam-core.h
> @@ -108,6 +108,7 @@ struct mcam_camera {
>  	short int use_smbus;	/* SMBUS or straight I2c? */
>  	enum mcam_buffer_mode buffer_mode;
>  
> +	u32 burst;
>  	int mclk_min;
>  	int mclk_src;
>  	int mclk_div;
> @@ -347,10 +348,9 @@ int mccic_resume(struct mcam_camera *cam);
>  #define   C1_DESC_3WORD   0x00000200	/* Three-word descriptors used */
>  #define	  C1_444ALPHA	  0x00f00000	/* Alpha field in RGB444 */
>  #define	  C1_ALPHA_SHFT	  20
> -#define	  C1_DMAB32	  0x00000000	/* 32-byte DMA burst */
> -#define	  C1_DMAB16	  0x02000000	/* 16-byte DMA burst */
> -#define	  C1_DMAB64	  0x04000000	/* 64-byte DMA burst */
> -#define	  C1_DMAB_MASK	  0x06000000
> +#define	  C1_DMAB64	  0x00000000	/* 64-byte DMA burst */
> +#define	  C1_DMAB128	  0x02000000	/* 128-byte DMA burst */
> +#define	  C1_DMAB256	  0x04000000	/* 256-byte DMA burst */
>  #define	  C1_TWOBUFS	  0x08000000	/* Use only two DMA buffers */
>  #define	  C1_PWRDWN	  0x10000000	/* Power down */
>  #define   C1_DMAPOSTED	  0x40000000    /* DMA Posted Select */
> diff --git a/drivers/media/platform/marvell-ccic/mmp-driver.c b/drivers/media/platform/marvell-ccic/mmp-driver.c
> index 3d5db24..3fd6a46 100755
> --- a/drivers/media/platform/marvell-ccic/mmp-driver.c
> +++ b/drivers/media/platform/marvell-ccic/mmp-driver.c
> @@ -360,6 +360,17 @@ static int mmpcam_probe(struct platform_device *pdev)
>  	mcam->lane = pdata->lane;
>  	/* set B_DMA_CONTIG as default */
>  	mcam->buffer_mode = B_DMA_CONTIG;
> +	switch (pdata->dma_burst) {
> +	case 128:
> +		mcam->burst = C1_DMAB128;
> +		break;
> +	case 256:
> +		mcam->burst = C1_DMAB256;
> +		break;
> +	default:
> +		mcam->burst = C1_DMAB64;
> +		break;
> +	}
>  	INIT_LIST_HEAD(&mcam->buffers);
>  	/*
>  	 * Get our I/O memory.
> diff --git a/include/media/mmp-camera.h b/include/media/mmp-camera.h
> index 513d846..44234dd 100755
> --- a/include/media/mmp-camera.h
> +++ b/include/media/mmp-camera.h
> @@ -13,6 +13,7 @@ struct mmp_camera_platform_data {
>  	int mclk_src;
>  	int mclk_div;
>  	int chip_id;
> +	u32 dma_burst;
>  	/*
>  	 * MIPI support
>  	 */
> -- 
> 1.7.9.5
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux