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

Reply via email to