GNU Linux-libre 4.14.257-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / camera / pipe / src / pipe_util.c
1 /*
2  * Support for Intel Camera Imaging ISP subsystem.
3  * Copyright (c) 2015, Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  */
14
15 #include "ia_css_pipe_util.h"
16 #include "ia_css_frame_public.h"
17 #include "ia_css_pipe.h"
18 #include "ia_css_util.h"
19 #include "assert_support.h"
20
21 unsigned int ia_css_pipe_util_pipe_input_format_bpp(
22         const struct ia_css_pipe * const pipe)
23 {
24         assert(pipe != NULL);
25         assert(pipe->stream != NULL);
26
27         return ia_css_util_input_format_bpp(pipe->stream->config.input_config.format,
28                           pipe->stream->config.pixels_per_clock == 2);
29 }
30
31 void ia_css_pipe_util_create_output_frames(
32         struct ia_css_frame *frames[])
33 {
34         unsigned int i;
35
36         assert(frames != NULL);
37         for (i = 0; i < IA_CSS_BINARY_MAX_OUTPUT_PORTS; i++) {
38                 frames[i] = NULL;
39         }
40 }
41
42 void ia_css_pipe_util_set_output_frames(
43         struct ia_css_frame *frames[],
44         unsigned int idx,
45         struct ia_css_frame *frame)
46 {
47         assert(idx < IA_CSS_BINARY_MAX_OUTPUT_PORTS);
48
49         frames[idx] = frame;
50 }
51