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