[media] omap3isp: Rename isp_buffer isp_addr field to dma
[sfrench/cifs-2.6.git] / drivers / media / platform / omap3isp / ispvideo.h
index 4e194076cc60d611727a6441231f79006dbfadfc..7d2e82122ecda431d417ae10ba8193b9fb9154ec 100644 (file)
@@ -30,8 +30,7 @@
 #include <media/media-entity.h>
 #include <media/v4l2-dev.h>
 #include <media/v4l2-fh.h>
-
-#include "ispqueue.h"
+#include <media/videobuf2-core.h>
 
 #define ISP_VIDEO_DRIVER_NAME          "ispvideo"
 #define ISP_VIDEO_DRIVER_VERSION       "0.0.2"
@@ -124,17 +123,19 @@ static inline int isp_pipeline_ready(struct isp_pipeline *pipe)
                               ISP_PIPELINE_IDLE_OUTPUT);
 }
 
-/*
- * struct isp_buffer - ISP buffer
- * @buffer: ISP video buffer
- * @isp_addr: MMU mapped address (a.k.a. device address) of the buffer.
+/**
+ * struct isp_buffer - ISP video buffer
+ * @vb: videobuf2 buffer
+ * @irqlist: List head for insertion into IRQ queue
+ * @dma: DMA address
  */
 struct isp_buffer {
-       struct isp_video_buffer buffer;
-       dma_addr_t isp_addr;
+       struct vb2_buffer vb;
+       struct list_head irqlist;
+       dma_addr_t dma;
 };
 
-#define to_isp_buffer(buf)     container_of(buf, struct isp_buffer, buffer)
+#define to_isp_buffer(buf)     container_of(buf, struct isp_buffer, vb)
 
 enum isp_video_dmaqueue_flags {
        /* Set if DMA queue becomes empty when ISP_PIPELINE_STREAM_CONTINUOUS */
@@ -172,16 +173,16 @@ struct isp_video {
        unsigned int bpl_value;         /* bytes per line value */
        unsigned int bpl_padding;       /* padding at end of line */
 
-       /* Entity video node streaming */
-       unsigned int streaming:1;
-
        /* Pipeline state */
        struct isp_pipeline pipe;
        struct mutex stream_lock;       /* pipeline and stream states */
        bool error;
 
        /* Video buffers queue */
-       struct isp_video_queue *queue;
+       void *alloc_ctx;
+       struct vb2_queue *queue;
+       struct mutex queue_lock;        /* protects the queue */
+       spinlock_t irqlock;             /* protects dmaqueue */
        struct list_head dmaqueue;
        enum isp_video_dmaqueue_flags dmaqueue_flags;
 
@@ -193,7 +194,7 @@ struct isp_video {
 struct isp_video_fh {
        struct v4l2_fh vfh;
        struct isp_video *video;
-       struct isp_video_queue queue;
+       struct vb2_queue queue;
        struct v4l2_format format;
        struct v4l2_fract timeperframe;
 };