[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