[PATCH v2 1/2] ARM: mx27: Add VPU support

Sascha Hauer s.hauer at pengutronix.de
Thu Nov 15 03:12:23 EST 2012


On Wed, Nov 14, 2012 at 04:20:36PM -0200, Fabio Estevam wrote:
> mx27 has a VPU (Video Processing Unit) block that allows doing H264/MPEG4
> decoding and encoding in hardware.
> 
> Add support for it in a common SoC file instead of per board file.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> Javier,
> 
> I removed dma_declare_coherent_memory call, as per Sascha's suggestion on my
> first submission of adding mx27pdk VPU support. Hope this is ok with you.
> 
> Changes since v1:
> - Call imx27_add_coda() on a common mx27 location instead of per board.
>  arch/arm/mach-imx/mach-imx27_visstrim_m10.c |   18 ------------------
>  arch/arm/mach-imx/mm-imx27.c                |    3 ++-
>  2 files changed, 2 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> index b744226..ee9cbff 100644
> --- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> +++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
> @@ -434,23 +434,6 @@ static const struct imx_ssi_platform_data visstrim_m10_ssi_pdata __initconst = {
>  	.flags			= IMX_SSI_DMA | IMX_SSI_SYN,
>  };
>  
> -/* coda */
> -
> -static void __init visstrim_coda_init(void)
> -{
> -	struct platform_device *pdev;
> -	int dma;
> -
> -	pdev = imx27_add_coda();
> -	dma = dma_declare_coherent_memory(&pdev->dev,
> -					  mx2_camera_base + MX2_CAMERA_BUF_SIZE,
> -					  mx2_camera_base + MX2_CAMERA_BUF_SIZE,
> -					  MX2_CAMERA_BUF_SIZE,
> -					  DMA_MEMORY_MAP | DMA_MEMORY_EXCLUSIVE);
> -	if (!(dma & DMA_MEMORY_MAP))
> -		return;
> -}
> -
>  /* DMA deinterlace */
>  static struct platform_device visstrim_deinterlace = {
>  	.name = "m2m-deinterlace",
> @@ -548,7 +531,6 @@ static void __init visstrim_m10_board_init(void)
>  	gpio_led_register_device(0, &visstrim_m10_led_data);
>  	visstrim_deinterlace_init();
>  	visstrim_camera_init();
> -	visstrim_coda_init();
>  }
>  
>  static void __init visstrim_m10_timer_init(void)
> diff --git a/arch/arm/mach-imx/mm-imx27.c b/arch/arm/mach-imx/mm-imx27.c
> index 4f1be65..fddadb1 100644
> --- a/arch/arm/mach-imx/mm-imx27.c
> +++ b/arch/arm/mach-imx/mm-imx27.c
> @@ -25,9 +25,9 @@
>  #include <asm/mach/map.h>
>  
>  #include "common.h"
> -#include "devices/devices-common.h"
>  #include "hardware.h"
>  #include "iomux-v1.h"
> +#include "devices-imx27.h"
>  
>  /* MX27 memory map definition */
>  static struct map_desc imx27_io_desc[] __initdata = {
> @@ -98,4 +98,5 @@ void __init imx27_soc_init(void)
>  	/* imx27 has the imx21 type audmux */
>  	platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res,
>  					ARRAY_SIZE(imx27_audmux_res));
> +	imx27_add_coda();

As Eric mentioned this may lead to problems on the i.MX27L without VPU.
Do you have the possibility to test this?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list