* @channel_host1x_syncpt_free: free all synchronization points
  * @vi_fmt_align: modify `pix` to fit the hardware alignment
  *             requirements and fill image geometry
+ * @channel_queue_setup: additional operations at the end of vb2_ops::queue_setup
  * @vi_start_streaming: starts media pipeline, subdevice streaming, sets up
  *             VI for capture and runs capture start and capture finish
  *             kthreads for capturing frames to buffer and returns them back.
        int (*channel_host1x_syncpt_init)(struct tegra_vi_channel *chan);
        void (*channel_host1x_syncpt_free)(struct tegra_vi_channel *chan);
        void (*vi_fmt_align)(struct v4l2_pix_format *pix, unsigned int bpp);
+       void (*channel_queue_setup)(struct tegra_vi_channel *chan);
        int (*vi_start_streaming)(struct vb2_queue *vq, u32 count);
        void (*vi_stop_streaming)(struct vb2_queue *vq);
 };
  * @queue: vb2 buffers queue
  * @sequence: V4L2 buffers sequence number
  *
+ * @addr_offset_u: U plane base address, relative to buffer base address (only for planar)
+ * @addr_offset_v: V plane base address, relative to buffer base address (only for planar)
+ * @start_offset:   1st Y byte to write, relative to buffer base address (for H/V flip)
+ * @start_offset_u: 1st U byte to write, relative to buffer base address (for H/V flip)
+ * @start_offset_v: 1st V byte to write, relative to buffer base address (for H/V flip)
+ *
  * @capture: list of queued buffers for capture
  * @start_lock: protects the capture queued list
  * @done: list of capture done queued buffers
        struct vb2_queue queue;
        u32 sequence;
 
+       unsigned int addr_offset_u;
+       unsigned int addr_offset_v;
+       unsigned int start_offset;
+       unsigned int start_offset_u;
+       unsigned int start_offset_v;
+
        struct list_head capture;
        /* protects the capture queued list */
        spinlock_t start_lock;