Re: [RFC PATCH 03/11] videodev2.h: rename reserved2 to config_store in v4l2_buffer.

2014-11-17 Thread Hans Verkuil
On 11/14/2014 03:42 PM, Sakari Ailus wrote:
 Hi Hans,
 
 On Sun, Sep 21, 2014 at 04:48:21PM +0200, Hans Verkuil wrote:
 From: Hans Verkuil hans.verk...@cisco.com

 When queuing buffers allow for passing the configuration store ID that
 should be associated with this buffer. Use the 'reserved2' field for this.

 Signed-off-by: Hans Verkuil hans.verk...@cisco.com
 ---
  drivers/media/usb/cpia2/cpia2_v4l.c   | 2 +-
  drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 4 ++--
  drivers/media/v4l2-core/videobuf2-core.c  | 4 +++-
  include/uapi/linux/videodev2.h| 3 ++-
  4 files changed, 8 insertions(+), 5 deletions(-)

 diff --git a/drivers/media/usb/cpia2/cpia2_v4l.c 
 b/drivers/media/usb/cpia2/cpia2_v4l.c
 index 9caea83..0f28d2b 100644
 --- a/drivers/media/usb/cpia2/cpia2_v4l.c
 +++ b/drivers/media/usb/cpia2/cpia2_v4l.c
 @@ -952,7 +952,7 @@ static int cpia2_dqbuf(struct file *file, void *fh, 
 struct v4l2_buffer *buf)
  buf-sequence = cam-buffers[buf-index].seq;
  buf-m.offset = cam-buffers[buf-index].data - cam-frame_buffer;
  buf-length = cam-frame_size;
 -buf-reserved2 = 0;
 +buf-config_store = 0;
  buf-reserved = 0;
  memset(buf-timecode, 0, sizeof(buf-timecode));
  
 diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c 
 b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
 index e502a5f..5afef3a 100644
 --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
 +++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
 @@ -324,7 +324,7 @@ struct v4l2_buffer32 {
  __s32   fd;
  } m;
  __u32   length;
 -__u32   reserved2;
 +__u32   config_store;
  __u32   reserved;
  };
  
 @@ -489,7 +489,7 @@ static int put_v4l2_buffer32(struct v4l2_buffer *kp, 
 struct v4l2_buffer32 __user
  put_user(kp-timestamp.tv_usec, up-timestamp.tv_usec) ||
  copy_to_user(up-timecode, kp-timecode, sizeof(struct 
 v4l2_timecode)) ||
  put_user(kp-sequence, up-sequence) ||
 -put_user(kp-reserved2, up-reserved2) ||
 +put_user(kp-config_store, up-config_store) ||
  put_user(kp-reserved, up-reserved))
  return -EFAULT;
  
 diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
 b/drivers/media/v4l2-core/videobuf2-core.c
 index 7e6aff6..e3b6c50 100644
 --- a/drivers/media/v4l2-core/videobuf2-core.c
 +++ b/drivers/media/v4l2-core/videobuf2-core.c
 @@ -655,7 +655,7 @@ static void __fill_v4l2_buffer(struct vb2_buffer *vb, 
 struct v4l2_buffer *b)
  
  /* Copy back data such as timestamp, flags, etc. */
  memcpy(b, vb-v4l2_buf, offsetof(struct v4l2_buffer, m));
 -b-reserved2 = vb-v4l2_buf.reserved2;
 +b-config_store = vb-v4l2_buf.config_store;
  b-reserved = vb-v4l2_buf.reserved;
  
  if (V4L2_TYPE_IS_MULTIPLANAR(q-type)) {
 @@ -680,6 +680,7 @@ static void __fill_v4l2_buffer(struct vb2_buffer *vb, 
 struct v4l2_buffer *b)
  else if (q-memory == V4L2_MEMORY_DMABUF)
  b-m.fd = vb-v4l2_planes[0].m.fd;
  }
 +b-config_store = vb-v4l2_buf.config_store;
 
 Either this chunk or the one above it is redundant. I'd keep the upper one.

Well spotted. I agree, I'll keep the upper one.

Regards,

Hans
--
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


Re: [RFC PATCH 03/11] videodev2.h: rename reserved2 to config_store in v4l2_buffer.

2014-11-17 Thread Hans Verkuil
On 11/14/2014 04:35 PM, Sakari Ailus wrote:
 Hi Hans,
 
 One more comment...
 
 On Sun, Sep 21, 2014 at 04:48:21PM +0200, Hans Verkuil wrote:
 diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
 index 83ef28a..2ca44ed 100644
 --- a/include/uapi/linux/videodev2.h
 +++ b/include/uapi/linux/videodev2.h
 @@ -672,6 +672,7 @@ struct v4l2_plane {
   * @length: size in bytes of the buffer (NOT its payload) for single-plane
   *  buffers (when type != *_MPLANE); number of elements in the
   *  planes array for multi-plane buffers
 + * @config_store: this buffer should use this configuration store
   *
   * Contains data exchanged by application and driver using one of the 
 Streaming
   * I/O methods.
 @@ -695,7 +696,7 @@ struct v4l2_buffer {
  __s32   fd;
  } m;
  __u32   length;
 -__u32   reserved2;
 +__u32   config_store;
  __u32   reserved;
  };
  
 
 I would use __u16 instead since the value is 16-bit on the control
 interface.
 

Good point. Will do.

Hans
--
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


Re: [RFC PATCH 03/11] videodev2.h: rename reserved2 to config_store in v4l2_buffer.

2014-11-14 Thread Sakari Ailus
Hi Hans,

On Sun, Sep 21, 2014 at 04:48:21PM +0200, Hans Verkuil wrote:
 From: Hans Verkuil hans.verk...@cisco.com
 
 When queuing buffers allow for passing the configuration store ID that
 should be associated with this buffer. Use the 'reserved2' field for this.
 
 Signed-off-by: Hans Verkuil hans.verk...@cisco.com
 ---
  drivers/media/usb/cpia2/cpia2_v4l.c   | 2 +-
  drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 4 ++--
  drivers/media/v4l2-core/videobuf2-core.c  | 4 +++-
  include/uapi/linux/videodev2.h| 3 ++-
  4 files changed, 8 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/media/usb/cpia2/cpia2_v4l.c 
 b/drivers/media/usb/cpia2/cpia2_v4l.c
 index 9caea83..0f28d2b 100644
 --- a/drivers/media/usb/cpia2/cpia2_v4l.c
 +++ b/drivers/media/usb/cpia2/cpia2_v4l.c
 @@ -952,7 +952,7 @@ static int cpia2_dqbuf(struct file *file, void *fh, 
 struct v4l2_buffer *buf)
   buf-sequence = cam-buffers[buf-index].seq;
   buf-m.offset = cam-buffers[buf-index].data - cam-frame_buffer;
   buf-length = cam-frame_size;
 - buf-reserved2 = 0;
 + buf-config_store = 0;
   buf-reserved = 0;
   memset(buf-timecode, 0, sizeof(buf-timecode));
  
 diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c 
 b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
 index e502a5f..5afef3a 100644
 --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
 +++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
 @@ -324,7 +324,7 @@ struct v4l2_buffer32 {
   __s32   fd;
   } m;
   __u32   length;
 - __u32   reserved2;
 + __u32   config_store;
   __u32   reserved;
  };
  
 @@ -489,7 +489,7 @@ static int put_v4l2_buffer32(struct v4l2_buffer *kp, 
 struct v4l2_buffer32 __user
   put_user(kp-timestamp.tv_usec, up-timestamp.tv_usec) ||
   copy_to_user(up-timecode, kp-timecode, sizeof(struct 
 v4l2_timecode)) ||
   put_user(kp-sequence, up-sequence) ||
 - put_user(kp-reserved2, up-reserved2) ||
 + put_user(kp-config_store, up-config_store) ||
   put_user(kp-reserved, up-reserved))
   return -EFAULT;
  
 diff --git a/drivers/media/v4l2-core/videobuf2-core.c 
 b/drivers/media/v4l2-core/videobuf2-core.c
 index 7e6aff6..e3b6c50 100644
 --- a/drivers/media/v4l2-core/videobuf2-core.c
 +++ b/drivers/media/v4l2-core/videobuf2-core.c
 @@ -655,7 +655,7 @@ static void __fill_v4l2_buffer(struct vb2_buffer *vb, 
 struct v4l2_buffer *b)
  
   /* Copy back data such as timestamp, flags, etc. */
   memcpy(b, vb-v4l2_buf, offsetof(struct v4l2_buffer, m));
 - b-reserved2 = vb-v4l2_buf.reserved2;
 + b-config_store = vb-v4l2_buf.config_store;
   b-reserved = vb-v4l2_buf.reserved;
  
   if (V4L2_TYPE_IS_MULTIPLANAR(q-type)) {
 @@ -680,6 +680,7 @@ static void __fill_v4l2_buffer(struct vb2_buffer *vb, 
 struct v4l2_buffer *b)
   else if (q-memory == V4L2_MEMORY_DMABUF)
   b-m.fd = vb-v4l2_planes[0].m.fd;
   }
 + b-config_store = vb-v4l2_buf.config_store;

Either this chunk or the one above it is redundant. I'd keep the upper one.

  
   /*
* Clear any buffer state related flags.
 @@ -1324,6 +1325,7 @@ static void __fill_vb2_buffer(struct vb2_buffer *vb, 
 const struct v4l2_buffer *b
*/
   vb-v4l2_buf.flags = ~V4L2_BUF_FLAG_TSTAMP_SRC_MASK;
   }
 + vb-v4l2_buf.config_store = b-config_store;
  
   if (V4L2_TYPE_IS_OUTPUT(b-type)) {
   /*
 diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
 index 83ef28a..2ca44ed 100644
 --- a/include/uapi/linux/videodev2.h
 +++ b/include/uapi/linux/videodev2.h
 @@ -672,6 +672,7 @@ struct v4l2_plane {
   * @length:  size in bytes of the buffer (NOT its payload) for single-plane
   *   buffers (when type != *_MPLANE); number of elements in the
   *   planes array for multi-plane buffers
 + * @config_store: this buffer should use this configuration store
   *
   * Contains data exchanged by application and driver using one of the 
 Streaming
   * I/O methods.
 @@ -695,7 +696,7 @@ struct v4l2_buffer {
   __s32   fd;
   } m;
   __u32   length;
 - __u32   reserved2;
 + __u32   config_store;
   __u32   reserved;
  };
  

-- 
Regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk
--
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


Re: [RFC PATCH 03/11] videodev2.h: rename reserved2 to config_store in v4l2_buffer.

2014-11-14 Thread Sakari Ailus
Hi Hans,

One more comment...

On Sun, Sep 21, 2014 at 04:48:21PM +0200, Hans Verkuil wrote:
 diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
 index 83ef28a..2ca44ed 100644
 --- a/include/uapi/linux/videodev2.h
 +++ b/include/uapi/linux/videodev2.h
 @@ -672,6 +672,7 @@ struct v4l2_plane {
   * @length:  size in bytes of the buffer (NOT its payload) for single-plane
   *   buffers (when type != *_MPLANE); number of elements in the
   *   planes array for multi-plane buffers
 + * @config_store: this buffer should use this configuration store
   *
   * Contains data exchanged by application and driver using one of the 
 Streaming
   * I/O methods.
 @@ -695,7 +696,7 @@ struct v4l2_buffer {
   __s32   fd;
   } m;
   __u32   length;
 - __u32   reserved2;
 + __u32   config_store;
   __u32   reserved;
  };
  

I would use __u16 instead since the value is 16-bit on the control
interface.

-- 
Regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk
--
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