From mboxrd@z Thu Jan 1 00:00:00 1970 From: s.hauer@pengutronix.de (Sascha Hauer) Date: Thu, 15 Nov 2012 09:12:23 +0100 Subject: [PATCH v2 1/2] ARM: mx27: Add VPU support In-Reply-To: <1352917238-29694-1-git-send-email-fabio.estevam@freescale.com> References: <1352917238-29694-1-git-send-email-fabio.estevam@freescale.com> Message-ID: <20121115081223.GY10369@pengutronix.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 > --- > 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 > > #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 |