diff options
author | Xianzhong <b07117@freescale.com> | 2012-08-13 23:42:29 +0800 |
---|---|---|
committer | Xianzhong <b07117@freescale.com> | 2012-08-15 02:39:11 +0800 |
commit | 8a85ba0f89a925c2c2009a0b1374d2c8588867e6 (patch) | |
tree | 397b04c3dfc64a33f437a2e8ca270259f8d99cc9 | |
parent | f367a5196d8a42522ca8ee9cdf6f26084b395fe2 (diff) |
ENGR00219602 Disable VPU ION and increase GPU to 192M
All vpu memory requests go through GPU video allocator
Unify the reserved memory for GPU & VPU to ultize memory with max efficiency
Will use ION to implement GPU video memory managment later
Signed-off-by: Xianzhong <b07117@freescale.com>
-rw-r--r-- | arch/arm/configs/imx6_android_defconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_arm2.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabreauto.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabrelite.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabresd.c | 4 |
5 files changed, 14 insertions, 6 deletions
diff --git a/arch/arm/configs/imx6_android_defconfig b/arch/arm/configs/imx6_android_defconfig index fc2549e75899..8da0b52dc0cf 100644 --- a/arch/arm/configs/imx6_android_defconfig +++ b/arch/arm/configs/imx6_android_defconfig @@ -1856,6 +1856,7 @@ CONFIG_MXC_CAMERA_OV5642=y # CONFIG_MXC_TVIN_ADV7180 is not set CONFIG_MXC_CAMERA_OV5640_MIPI=y CONFIG_MXC_CAMERA_SENSOR_CLK=y +# CONFIG_MXC_IPU_DEVICE_QUEUE_SDC is not set CONFIG_MXC_IPU_PRP_VF_SDC=y CONFIG_MXC_IPU_PRP_ENC=y CONFIG_MXC_IPU_CSI_ENC=y @@ -1888,8 +1889,7 @@ CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y # Graphics support # # CONFIG_DRM is not set -CONFIG_ION=y -CONFIG_ION_MXC=y +# CONFIG_ION is not set # CONFIG_VGASTATE is not set # CONFIG_VIDEO_OUTPUT_CONTROL is not set CONFIG_FB=y diff --git a/arch/arm/mach-mx6/board-mx6q_arm2.c b/arch/arm/mach-mx6/board-mx6q_arm2.c index 98394c54d7d6..4808272b9126 100644 --- a/arch/arm/mach-mx6/board-mx6q_arm2.c +++ b/arch/arm/mach-mx6/board-mx6q_arm2.c @@ -1250,7 +1250,7 @@ static void __init mx6_arm2_init_usb(void) } static struct viv_gpu_platform_data imx6_gpu_pdata __initdata = { - .reserved_mem_size = SZ_128M, + .reserved_mem_size = SZ_128M + SZ_64M, }; /* HW Initialization, if return 0, initialization is successful. */ @@ -2256,12 +2256,14 @@ static void __init mx6_arm2_reserve(void) } #endif +#if defined(CONFIG_ION) if (imx_ion_data.heaps[0].size) { phys = memblock_alloc(imx_ion_data.heaps[0].size, SZ_4K); memblock_free(phys, imx_ion_data.heaps[0].size); memblock_remove(phys, imx_ion_data.heaps[0].size); imx_ion_data.heaps[0].base = phys; } +#endif } MACHINE_START(MX6Q_ARM2, "Freescale i.MX 6Quad/Solo/DualLite Armadillo2 Board") diff --git a/arch/arm/mach-mx6/board-mx6q_sabreauto.c b/arch/arm/mach-mx6/board-mx6q_sabreauto.c index b8f609c136cc..cf146e032b58 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabreauto.c +++ b/arch/arm/mach-mx6/board-mx6q_sabreauto.c @@ -766,7 +766,7 @@ static void __init imx6q_sabreauto_init_usb(void) } static struct viv_gpu_platform_data imx6q_gpu_pdata __initdata = { - .reserved_mem_size = SZ_128M, + .reserved_mem_size = SZ_128M + SZ_64M, }; /* HW Initialization, if return 0, initialization is successful. */ @@ -1669,12 +1669,14 @@ static void __init mx6q_reserve(void) } #endif +#if defined(CONFIG_ION) if (imx_ion_data.heaps[0].size) { phys = memblock_alloc(imx_ion_data.heaps[0].size, SZ_4K); memblock_free(phys, imx_ion_data.heaps[0].size); memblock_remove(phys, imx_ion_data.heaps[0].size); imx_ion_data.heaps[0].base = phys; } +#endif } MACHINE_START(MX6Q_SABREAUTO, "Freescale i.MX 6Quad/DualLite/Solo Sabre Auto Board") diff --git a/arch/arm/mach-mx6/board-mx6q_sabrelite.c b/arch/arm/mach-mx6/board-mx6q_sabrelite.c index 7208a49709ba..cd7298e6af06 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c +++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c @@ -756,7 +756,7 @@ static const struct flexcan_platform_data }; static struct viv_gpu_platform_data imx6q_gpu_pdata __initdata = { - .reserved_mem_size = SZ_128M, + .reserved_mem_size = SZ_128M + SZ_64M, }; static struct imx_asrc_platform_data imx_asrc_data = { @@ -1287,11 +1287,13 @@ static void __init mx6q_sabrelite_reserve(void) } #endif +#if defined(CONFIG_ION) if (imx_ion_data.heaps[0].size) { phys = memblock_alloc(imx_ion_data.heaps[0].size, SZ_4K); memblock_remove(phys, imx_ion_data.heaps[0].size); imx_ion_data.heaps[0].base = phys; } +#endif for (i = 0; i < ARRAY_SIZE(sabrelite_fb_data); i++) if (sabrelite_fb_data[i].res_size[0]) { diff --git a/arch/arm/mach-mx6/board-mx6q_sabresd.c b/arch/arm/mach-mx6/board-mx6q_sabresd.c index 405ae9c015e7..f9b72c777cf5 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabresd.c +++ b/arch/arm/mach-mx6/board-mx6q_sabresd.c @@ -1207,7 +1207,7 @@ static const struct flexcan_platform_data }; static struct viv_gpu_platform_data imx6q_gpu_pdata __initdata = { - .reserved_mem_size = SZ_128M, + .reserved_mem_size = SZ_128M + SZ_64M, }; static struct imx_asrc_platform_data imx_asrc_data = { @@ -1942,11 +1942,13 @@ static void __init mx6q_sabresd_reserve(void) } #endif +#if defined(CONFIG_ION) if (imx_ion_data.heaps[0].size) { phys = memblock_alloc(imx_ion_data.heaps[0].size, SZ_4K); memblock_remove(phys, imx_ion_data.heaps[0].size); imx_ion_data.heaps[0].base = phys; } +#endif for (i = 0; i < ARRAY_SIZE(sabresd_fb_data); i++) if (sabresd_fb_data[i].res_size[0]) { |