e05e8f3a4442ef9b2d9394a9a3557cb27f3bb7b4
[linux-2.6-microblaze.git] / drivers / staging / media / atomisp / pci / atomisp_fops.h
1 /*
2  * Support for Medifield PNW Camera Imaging ISP subsystem.
3  *
4  * Copyright (c) 2010 Intel Corporation. All Rights Reserved.
5  *
6  * Copyright (c) 2010 Silicon Hive www.siliconhive.com.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version
10  * 2 as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  *
18  */
19
20 #ifndef __ATOMISP_FOPS_H__
21 #define __ATOMISP_FOPS_H__
22 #include "atomisp_subdev.h"
23
24 int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd,
25                                    struct atomisp_video_pipe *pipe,
26                                    enum atomisp_input_stream_id stream_id,
27                                    enum atomisp_css_buffer_type css_buf_type,
28                                    enum atomisp_css_pipe_id css_pipe_id);
29
30 unsigned int atomisp_dev_users(struct atomisp_device *isp);
31 unsigned int atomisp_sub_dev_users(struct atomisp_sub_device *asd);
32
33 /*
34  * Memory help functions for image frame and private parameters
35  */
36
37 int atomisp_videobuf_mmap_mapper(struct videobuf_queue *q,
38                                  struct vm_area_struct *vma);
39
40 int atomisp_qbuf_to_css(struct atomisp_device *isp,
41                         struct atomisp_video_pipe *pipe,
42                         struct videobuf_buffer *vb);
43
44 int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd);
45
46 extern const struct v4l2_file_operations atomisp_fops;
47
48 extern bool defer_fw_load;
49
50 #endif /* __ATOMISP_FOPS_H__ */