Re: [PATCH RFC] V4L: Add s_rx_buffer subdev video operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.nawrocki@xxxxxxxxxxx>
> > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> > ---
> > 
> >  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux