Le mardi 12 juin 2018 à 07:48 -0300, Ezequiel Garcia a écrit : > As discussed on IRC, memory-to-memory need to be modeled > properly in order to be supported by the media controller > framework, and thus to support the Request API. > > This RFC is a first draft on the memory-to-memory > media controller topology. > > The topology looks like this: > > Device topology > - entity 1: input (1 pad, 1 link) > type Node subtype Unknown flags 0 > pad0: Source > -> "proc":1 [ENABLED,IMMUTABLE] > > - entity 3: proc (2 pads, 2 links) > type Node subtype Unknown flags 0 > pad0: Source > -> "output":0 [ENABLED,IMMUTABLE] > pad1: Sink > <- "input":0 [ENABLED,IMMUTABLE] > > - entity 6: output (1 pad, 1 link) > type Node subtype Unknown flags 0 > pad0: Sink > <- "proc":0 [ENABLED,IMMUTABLE] Will the end result have "device node name /dev/..." on both entity 1 and 6 ? I got told that in the long run, one should be able to map a device (/dev/mediaN) to it's nodes (/dev/video*). In a way that if we keep going this way, all the media devices can be enumerated from media node rather then a mixed between media nodes and orphaned video nodes. > > The first commit introduces a register/unregister API, > that creates/destroys all the entities and pads needed, > and links them. > > The second commit uses this API to support the vim2m driver. > > Notes > ----- > > * A new device node type is introduced VFL_TYPE_MEM2MEM, > this is mostly done so the video4linux core doesn't > try to register other media controller entities. > > * Also, a new media entity type is introduced. Memory-to-memory > devices have a multi-entity description and so can't > be simply embedded in other structs, or cast from other structs. > > Ezequiel Garcia (1): > media: add helpers for memory-to-memory media controller > > Hans Verkuil (1): > vim2m: add media device > > drivers/media/platform/vim2m.c | 41 ++++++- > drivers/media/v4l2-core/v4l2-dev.c | 23 ++-- > drivers/media/v4l2-core/v4l2-mem2mem.c | 157 > +++++++++++++++++++++++++ > include/media/media-entity.h | 4 + > include/media/v4l2-dev.h | 2 + > include/media/v4l2-mem2mem.h | 5 + > include/uapi/linux/media.h | 2 + > 7 files changed, 222 insertions(+), 12 deletions(-) > > -- > 2.17.1 > >
Attachment:
signature.asc
Description: This is a digitally signed message part