-#ifdef CONFIG_VIDEO_RK29_WORK_IPP\r
- #ifdef CONFIG_VIDEO_RKCIF_WORK_SIMUL_OFF\r
- rk_camera_platform_data.meminfo.name = "camera_ipp_mem";\r
- rk_camera_platform_data.meminfo.start = board_mem_reserve_add("camera_ipp_mem",PMEM_CAMIPP_NECESSARY);\r
- rk_camera_platform_data.meminfo.size= PMEM_CAMIPP_NECESSARY;\r
-\r
- memcpy(&rk_camera_platform_data.meminfo_cif1,&rk_camera_platform_data.meminfo,sizeof(struct rk29camera_mem_res));\r
- #else\r
- rk_camera_platform_data.meminfo.name = "camera_ipp_mem_0";\r
- rk_camera_platform_data.meminfo.start = board_mem_reserve_add("camera_ipp_mem_0",PMEM_CAMIPP_NECESSARY_CIF_0);\r
- rk_camera_platform_data.meminfo.size= PMEM_CAMIPP_NECESSARY_CIF_0;\r
- \r
- rk_camera_platform_data.meminfo_cif1.name = "camera_ipp_mem_1";\r
- rk_camera_platform_data.meminfo_cif1.start =board_mem_reserve_add("camera_ipp_mem_1",PMEM_CAMIPP_NECESSARY_CIF_1);\r
- rk_camera_platform_data.meminfo_cif1.size= PMEM_CAMIPP_NECESSARY_CIF_1;\r
- #endif\r
- #endif\r
+ int i,max_resolution;\r
+ int cam_ipp_mem=PMEM_CAMIPP_NECESSARY, cam_pmem=PMEM_CAM_NECESSARY;\r
+ \r
+ i =0;\r
+ max_resolution = 0x00;\r
+ while (strstr(new_camera[i].dev.device_info.dev.init_name,"end")==NULL) {\r
+ if (new_camera[i].resolution > max_resolution)\r
+ max_resolution = new_camera[i].resolution;\r
+ i++;\r
+ }\r
+\r
+ if (max_resolution < PMEM_SENSOR_FULL_RESOLUTION_CIF_1)\r
+ max_resolution = PMEM_SENSOR_FULL_RESOLUTION_CIF_1;\r
+ if (max_resolution < PMEM_SENSOR_FULL_RESOLUTION_CIF_0)\r
+ max_resolution = PMEM_SENSOR_FULL_RESOLUTION_CIF_0;\r
+\r
+ switch (max_resolution)\r
+ {\r
+ case 0x800000:\r
+ default:\r
+ {\r
+ cam_ipp_mem = 0x800000;\r
+ cam_pmem = 0x1900000;\r
+ break;\r
+ }\r
+\r
+ case 0x500000:\r
+ {\r
+ cam_ipp_mem = 0x800000;\r
+ cam_pmem = 0x1400000;\r
+ break;\r
+ }\r
+\r
+ case 0x300000:\r
+ {\r
+ cam_ipp_mem = 0x600000;\r
+ cam_pmem = 0xf00000;\r
+ break;\r
+ }\r
+\r
+ case 0x200000:\r
+ {\r
+ cam_ipp_mem = 0x600000;\r
+ cam_pmem = 0xc00000;\r
+ break;\r
+ }\r
+\r
+ case 0x100000:\r
+ {\r
+ cam_ipp_mem = 0x600000;\r
+ cam_pmem = 0xa00000;\r
+ break;\r
+ }\r
+\r
+ case 0x30000:\r
+ {\r
+ cam_ipp_mem = 0x600000;\r
+ cam_pmem = 0x600000;\r
+ break;\r
+ }\r
+ }\r
+\r
+ \r
+ rk_camera_platform_data.meminfo.vbase = rk_camera_platform_data.meminfo_cif1.vbase = NULL;\r
+#if defined(CONFIG_VIDEO_RKCIF_WORK_SIMUL_OFF) || ((RK_SUPPORT_CIF0 && RK_SUPPORT_CIF1) == 0)\r
+ rk_camera_platform_data.meminfo.name = "camera_ipp_mem";\r
+ rk_camera_platform_data.meminfo.start = board_mem_reserve_add("camera_ipp_mem",cam_ipp_mem);\r
+ rk_camera_platform_data.meminfo.size= cam_ipp_mem;\r
+\r
+ memcpy(&rk_camera_platform_data.meminfo_cif1,&rk_camera_platform_data.meminfo,sizeof(struct rk29camera_mem_res));\r
+#else\r
+ rk_camera_platform_data.meminfo.name = "camera_ipp_mem_0";\r
+ rk_camera_platform_data.meminfo.start = board_mem_reserve_add("camera_ipp_mem_0",PMEM_CAMIPP_NECESSARY_CIF_0);\r
+ rk_camera_platform_data.meminfo.size= PMEM_CAMIPP_NECESSARY_CIF_0;\r
+\r
+ rk_camera_platform_data.meminfo_cif1.name = "camera_ipp_mem_1";\r
+ rk_camera_platform_data.meminfo_cif1.start =board_mem_reserve_add("camera_ipp_mem_1",PMEM_CAMIPP_NECESSARY_CIF_1);\r
+ rk_camera_platform_data.meminfo_cif1.size= PMEM_CAMIPP_NECESSARY_CIF_1;\r
+#endif\r
+\r