Re: [patch 3/6] add pmem driver

From: Daniel Walker
Date: Mon Sep 14 2009 - 18:54:53 EST


On Mon, 2009-09-14 at 15:19 -0700, Brian Swetland wrote:
> On Mon, Sep 14, 2009 at 3:06 PM, Daniel Walker <dwalker@xxxxxxxxxx> 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 calls
splice/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 way
to transfer memory between two kernel drivers (i.e. camera to
framebuffer) ..

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

Daniel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/