#3272 BLOC Trial-3: gstreamer not getting camera data

Zarro Boogs per Child bugtracker at laptop.org
Mon Sep 17 14:33:41 EDT 2007


#3272: gstreamer not getting camera data
------------------------------+---------------------------------------------
  Reporter:  erikb            |       Owner:  dilinger                         
      Type:  defect           |      Status:  new                              
  Priority:  blocker          |   Milestone:  Trial-3                          
 Component:  camera-activity  |     Version:  Development build as of this date
Resolution:                   |    Keywords:                                   
  Verified:  0                |  
------------------------------+---------------------------------------------

Comment(by dilinger):

 Replying to [comment:7 corbet]:
 > OK...I've finally gotten my way past the activation gauntlet on my B3 to
 look at this a bit more.  The camera driver has a module parameter
 (alloc_bufs_at_load) which causes it to allocate its DMA buffers when the
 module is loaded; it then hangs on to those buffers with both hands.  This
 helps in memory-constrained situations; the DMA buffers have to be
 physically contiguous, and that gets hard to arrange as memory gets tight.
 The OLPC builds ship with this parameter turned on in
 /etc/modprobe.d/olpc.conf.dist.


 Why would we be loading or enabling the driver in a memory-constrained
 situation?  I'm a fan of allocating the DMA buffers on load by default; if
 cafe_ccic is enabled, the hardware is presumably there.  I don't see the
 point in attempting to wait until the camera device is actually opened;
 that's a lot more failure prone.



 >
 > HOWEVER: somewhere along the way somebody changed the kernel config to
 build the driver directly into the kernel.  So modprobe never gets into
 the picture, and that parameter does not get set.  As a result, the camera
 driver will be trying to allocate DMA buffers every time a camera
 application starts up - and, when memory gets fragmented, that fails.


 Yep, that someone was me.  We really don't want to be allocating DMA
 buffers every time we start up, and I see no reason why anyone else would
 want to.

 >
 > The solution is to ensure that this parameter is set at boot time.
 Probably OLPC should just carry a patch in its tree to turn on
 alloc_bufs_at_load by default.  That's *not* a change that I would be able
 to merge upstream, but it clearly makes sense in this situation.


 Why not?  Does anyone else but us use cafe_ccic?

-- 
Ticket URL: <https://dev.laptop.org/ticket/3272#comment:11>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list