Raffaele, Yes. Currently v4l2 framework doesn't support allocating static buffer for mmap. So during mmap() call when video buffer layer allocates 4M buffer, it can't find due to fragmentation. So using user ptr IO with allocation done through CMEM is a solution. You could also reduce the default size of buffer allocated in capture driver through vpfe_capture.bufsize like what you do.
Murali Karicheri Software Design Engineer Texas Instruments Inc. Germantown, MD 20874 phone: 301-407-9583 email: m-kariche...@ti.com ________________________________ From: Raffaele Recalcati [mailto:lamiapost...@gmail.com] Sent: Tuesday, March 30, 2010 12:24 PM To: Karicheri, Muralidharan Cc: davinci-linux-open-source Subject: Re: isif - debugging on dm365 Hi Karicheri, there is an optional info that I think is interesting. evm-dm365 and bmx board have 128MB DDR2 RAM. but vpfe_capture.bufsize=4147200 works on evm, but in our board gives this allocation problem: (setting instead vpfe_capture.bufsize=1147200 we obtain the situation of the previous mail) r...@dm365-evm:~# gst-launch v4l2src ! video/x-raw-yuv ! filesink location=video .raw Setting pipeline to PAUSED ... vpfe-capture vpfe-capture: vpfe_open vpfe_config_ccdc_image_format - fmt.fmt.pix.field = 4 vpfe_config_ccdc_image_format - frm_fmt = 1 isif_set_frame_format - if_type = 0 isif isif: starting isif_restore_defaults...dm365_enable_clock - clock_sel = 0 dm365_enable_clock - clock_sel = 6 dm365_enable_clock - clock_sel = 8 isif isif: End of isif_restore_defaults... vpfe-capture vpfe-capture: vpfe_querycap vpfe-capture vpfe-capture: vpfe_enum_input vpfe-capture vpfe-capture: vpfe_enum_input vpfe-capture vpfe-capture: input information not found for the subdev vpfe-capture vpfe-capture: vpfe_g_std vpfe-capture vpfe-capture: vpfe_g_input vpfe-capture vpfe-capture: vpfe_enum_fmt_vid_cap vpfe-capture vpfe-capture: vpfe_enum_fmt_vid_cap vpfe-capture vpfe-capture: vpfe_enum_fmt_vid_cap vpfe-capture vpfe-capture: vpfe_try_fmt_vid_cap vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2 vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64 vpfe-capture vpfe-capture: vpfe_try_fmt_vid_cap vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2 vpfe-capture vpfe-capture: adjusted width = 720, height = 480, bpp = 2, bytesperline = 1440, sizeimage = 691200 vpfe-capture vpfe-capture: vpfe_try_fmt_vid_cap vpfe-capture vpfe-capture: width = 1, height = 1, bpp = 2 vpfe-capture vpfe-capture: adjusted width = 16, height = 2, bpp = 2, bytesperline = 32, sizeimage = 64 vpfe-capture vpfe-capture: vpfe_try_fmt_vid_cap vpfe-capture vpfe-capture: width = 32768, height = 32768, bpp = 2 vpfe-capture vpfe-capture: adjusted width = 720, height = 480, bpp = 2, bytesperline = 1440, sizeimage = 691200 vpfe-capture vpfe-capture: vpfe_g_fmt_vid_cap vpfe-capture vpfe-capture: vpfe_s_fmt_vid_cap vpfe-capture vpfe-capture: width = 720, height = 480, bpp = 2 vpfe-capture vpfe-capture: adjusted width = 720, height = 480, bpp = 2, bytesperline = 1440, sizeimage = 691200 vpfe_config_ccdc_image_format - fmt.fmt.pix.field = 4 vpfe_config_ccdc_image_format - frm_fmt = 1 isif_set_frame_format - if_type = 0 vpfe-capture vpfe-capture: vpfe_g_std vpfe-capture vpfe-capture: vpfe_reqbufs vpfe-capture vpfe-capture: vpfe_buffer_setup vpfe-capture vpfe-capture: count=3, size=4147200 vpfe-capture vpfe-capture: vpfe_querybuf vpfe-capture vpfe-capture: vpfe_mmap vpfe-capture vpfe-capture: vpfe_querybuf vpfe-capture vpfe-capture: vpfe_mmap vpfe-capture vpfe-capture: dma_alloc_coherent size 4149248 failed vpfe-capture vpfe-capture: vpfe_release Segmentation fault
_______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source