|
|
|
Re: videobuf-dma-contig - buffer allocation at init time ? | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Hi there, On Sat, Oct 4, 2008 at 2:41 AM, Jadav, Brijesh R <brijesh.j@xxxxxx> wrote: > Hi, > > Even dma_alloc_coherent fails after some time because of the memory fragmentation for the large buffer, which is required for the HD modes. This is typically in the Embedded devices because they have less memory. Is it possible to have a hook from the video-buf layer to the driver for allocating contiguous buffer so that allocation and de-allocation is managed in the driver completely? Yes, you are correct that fragmentation will be an issue. To avoid that you could allocate a static buffer at boot up and use that buffer with dma_declare_coherent_memory(). Look at how platform_resource_setup_memory() is being used in the board specific code here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/sh/boards/mach-migor/setup.c;h=714dce91cc9bbb30684764c33eef963c09844866;hb=HEAD This SuperH specific function is used at boot up time to allocate a chunk of physically contiguous memory for on-chip IP blocks: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/sh/mm/consistent.c;h=64b8f7f96f9aed038e87be11ee374d5b0797f239;hb=HEAD This memory chunk is passed to the V4L2 driver as a platform resource. The V4L2 driver performs a dma_declare_coherent_memory() call to make sure all future dma_alloc_coherent() calls will be allocated from this memory. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/media/video/sh_mobile_ceu_camera.c;h=76838091dc66ce05140b63912ec106422e2bc542;hb=HEAD Look at Documentation/DMA-API.txt for more information. Not sure if your architecture support this mechanism though. / magnus -- video4linux-list mailing list Unsubscribe mailto:video4linux-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/video4linux-list
[Home] [Older V4L] [Linux DVB] [Video Disk Recorder] [Video Technology] [Asterisk] [Photo] [DCCP] [Netdev] [Plasma TVs] [Video Projectors] [PDAs] [Xorg] [Util Linux NG] [Xfree86] [Devices] [Big List of Linux Books] [Free Photo Albums] [LCD TVs] [Fedora Users] [Webcams] [Fedora Women] [HDTV] [ALSA Users] [ALSA Devel] [Stuff] [SSH] [DVB Maintainers] [Linux USB]
![]() |
![]() |