root/drivers/media/platform/vsp1/vsp1_video.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. to_vsp1_vb2_buffer
  2. to_vsp1_video

   1 /* SPDX-License-Identifier: GPL-2.0+ */
   2 /*
   3  * vsp1_video.h  --  R-Car VSP1 Video Node
   4  *
   5  * Copyright (C) 2013-2015 Renesas Electronics Corporation
   6  *
   7  * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
   8  */
   9 #ifndef __VSP1_VIDEO_H__
  10 #define __VSP1_VIDEO_H__
  11 
  12 #include <linux/list.h>
  13 #include <linux/spinlock.h>
  14 
  15 #include <media/videobuf2-v4l2.h>
  16 
  17 #include "vsp1_rwpf.h"
  18 
  19 struct vsp1_vb2_buffer {
  20         struct vb2_v4l2_buffer buf;
  21         struct list_head queue;
  22         struct vsp1_rwpf_memory mem;
  23 };
  24 
  25 static inline struct vsp1_vb2_buffer *
  26 to_vsp1_vb2_buffer(struct vb2_v4l2_buffer *vbuf)
  27 {
  28         return container_of(vbuf, struct vsp1_vb2_buffer, buf);
  29 }
  30 
  31 struct vsp1_video {
  32         struct list_head list;
  33         struct vsp1_device *vsp1;
  34         struct vsp1_rwpf *rwpf;
  35 
  36         struct video_device video;
  37         enum v4l2_buf_type type;
  38         struct media_pad pad;
  39 
  40         struct mutex lock;
  41 
  42         unsigned int pipe_index;
  43 
  44         struct vb2_queue queue;
  45         spinlock_t irqlock;
  46         struct list_head irqqueue;
  47 };
  48 
  49 static inline struct vsp1_video *to_vsp1_video(struct video_device *vdev)
  50 {
  51         return container_of(vdev, struct vsp1_video, video);
  52 }
  53 
  54 void vsp1_video_suspend(struct vsp1_device *vsp1);
  55 void vsp1_video_resume(struct vsp1_device *vsp1);
  56 
  57 struct vsp1_video *vsp1_video_create(struct vsp1_device *vsp1,
  58                                      struct vsp1_rwpf *rwpf);
  59 void vsp1_video_cleanup(struct vsp1_video *video);
  60 
  61 #endif /* __VSP1_VIDEO_H__ */

/* [<][>][^][v][top][bottom][index][help] */