Hi Wen, Em 09-02-2011 04:23, Wang, Wen W escreveu: > Hi, > > We are developing the image processor driver for Intel Medfield platform. > > We have received some comments on memory management that we should use standard Linux kernel interfaces for this, since we are doing everything by ourselves including memory allocation (based on pages), page table management, virtual address management and etc. > > So can you please help give some advice or suggestion on using standard kernel interface for memory management? > > The processor has a MMU on-chip with same virtual address range as IA. The processor will access system memory (read and write) through MMU and page table. The memory consumption of the driver could be quite big especially for high resolution (14MP) with certain features turned on. > For example: advanced ISP with XNR and yuv444 output, at 14MP this uses: > 1 RAW16: 2*14 = 28MB > 1 qplane6: 6/4 * 14 = 21MB > 1 yuv420_16: 2 * 1.5 * 14 = 42MB > 1 yuv420: 1.5 * 14 = 21MB > 1 yuv444: 3 * 14 = 42MB > total: 154MB. You should take a look at the videobuf2 for buffer management. It is flexible enough to be used on embedded hardware, as it splits the memory management on a separate module. In particular, the CMA allocator was designed to handle memory management on complex designs. You'll find extensive discussions about CMA and videobuf2 in the ML. The videobuf2 is already at linux-next and will be available for 2.6.39. Not sure about the status of the CMA allocator, as the patches are handled via another upstream tree. I hope that helps. Cheers, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html