On Mon, 2009-09-14 at 15:19 -0700, Brian Swetland wrote:> On Mon, Sep 14, 2009 at 3:06 PM, Daniel Walker <dwalker@fifo99.com> wrote:> > On Mon, 2009-09-14 at 23:58 +0200, Pavel Machek wrote:> >>> >> This adds android pmem driver, one of dependencies of camera driver.> >> > I wouldn't even both with this one .. There's no way it could ever go> > into mainline .. According to the android developers the camera , and> > the frame buffer driver should work without it anyway..> > The latest camera driver should work without pmem (or be fixable to do> so -- I forget if that's done yet).> > The framebuffer itself does not need pmem, but pmem is used heavily by> the android userspace on dream/magic for hardware compositable> surfaces (since the 2d compositor requires physically contiguous> memory).> > Is there a general linux kernel solution for managing large (1-8MB+)> chunks of physically contiguous memory that needs to be shared between> kernel and userspace for media operations? This is a very common> problem with these SoCs -- the a/v subsystem and/or GPU don't have> scatter/gather or MMU support and as a result we need to carve out> memory for their use and provide some way for userspace to manipulate> it.

After out last conversation I found the the system callssplice/vm-splice .. I don't know a great deal about those system call,but from what I read that sounded like it would be the appropriate wayto transfer memory between two kernel drivers (i.e. camera toframebuffer) ..

As for sharing it with userspace, I haven't really researched thatenough to give a good answer. I would think you could build somethinginto the camera driver that would expose the memory to userspacetemporarily then the camera could reclaim the memory later.