On Monday 24 September 2012 16:44:54 Sakari Ailus wrote:
> On Mon, Sep 24, 2012 at 03:26:53PM +0200, Sylwester Nawrocki wrote:
> > The s_rx_buffer callback allows the host to set buffer for non-image
> > (meta) data at a subdev. This callback can be implemented by an image
> > sensor or a MIPI-CSI receiver, allowing the host to retrieve the frame
> > embedded data from a subdev.
> > 
> > Signed-off-by: Sylwester Nawrocki <s.nawro...@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
> > ---
> > 
> >  include/media/v4l2-subdev.h | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> > index 22ab09e..28067ed 100644
> > --- a/include/media/v4l2-subdev.h
> > +++ b/include/media/v4l2-subdev.h
> > @@ -274,6 +274,10 @@ struct v4l2_subdev_audio_ops {
> > 
> >     s_mbus_config: set a certain mediabus configuration. This operation is
> >     added>          
> >     for compatibility with soc-camera drivers and should not be used by 
new
> >     software.
> > 
> > +
> > +   s_rx_buffer: set a host allocated memory buffer for the subdev. The
> > subdev +    can adjust @size to a lower value and must not write more data
> > to the +    buffer starting at @data than the original value of @size.
> > 
> >   */
> >  
> >  struct v4l2_subdev_video_ops {
> >  
> >     int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32
> >     config);> 
> > @@ -327,6 +331,8 @@ struct v4l2_subdev_video_ops {
> > 
> >                          struct v4l2_mbus_config *cfg);
> >     
> >     int (*s_mbus_config)(struct v4l2_subdev *sd,
> >     
> >                          const struct v4l2_mbus_config *cfg);
> > 
> > +   int (*s_rx_buffer)(struct v4l2_subdev *sd, void *buf,
> > +                      unsigned int *size);
> > 
> >  };
> >  
> >  /*
> 
> How about useing a separate video buffer queue for the purpose? That would
> provide a nice way to pass it to the user space where it's needed. It'd also
> play nicely together with the frame layout descriptors.

Beside, a void *buf wouldn't support DMA. Only subdevs that use PIO to 
transfer meta data could be supported by this.

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to