2 * Samsung Exynos4 SoC series FIMC-IS slave interface driver
4 * Error log interface functions
6 * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd.
8 * Authors: Younghwan Joo <yhwan.joo@samsung.com>
9 * Sylwester Nawrocki <s.nawrocki@samsung.com>
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
16 #include "fimc-is-errno.h"
18 const char *fimc_is_param_strerr(unsigned int error
)
21 case ERROR_COMMON_CMD
:
22 return "ERROR_COMMON_CMD: Invalid Command";
23 case ERROR_COMMON_PARAMETER
:
24 return "ERROR_COMMON_PARAMETER: Invalid Parameter";
25 case ERROR_COMMON_SETFILE_LOAD
:
26 return "ERROR_COMMON_SETFILE_LOAD: Illegal Setfile Loading";
27 case ERROR_COMMON_SETFILE_ADJUST
:
28 return "ERROR_COMMON_SETFILE_ADJUST: Setfile isn't adjusted";
29 case ERROR_COMMON_SETFILE_INDEX
:
30 return "ERROR_COMMON_SETFILE_INDEX: Invalid setfile index";
31 case ERROR_COMMON_INPUT_PATH
:
32 return "ERROR_COMMON_INPUT_PATH: Input path can be changed in ready state";
33 case ERROR_COMMON_INPUT_INIT
:
34 return "ERROR_COMMON_INPUT_INIT: IP can not start if input path is not set";
35 case ERROR_COMMON_OUTPUT_PATH
:
36 return "ERROR_COMMON_OUTPUT_PATH: Output path can be changed in ready state (stop)";
37 case ERROR_COMMON_OUTPUT_INIT
:
38 return "ERROR_COMMON_OUTPUT_INIT: IP can not start if output path is not set";
39 case ERROR_CONTROL_BYPASS
:
40 return "ERROR_CONTROL_BYPASS";
41 case ERROR_OTF_INPUT_FORMAT
:
42 return "ERROR_OTF_INPUT_FORMAT: Invalid format (DRC: YUV444, FD: YUV444, 422, 420)";
43 case ERROR_OTF_INPUT_WIDTH
:
44 return "ERROR_OTF_INPUT_WIDTH: Invalid width (DRC: 128~8192, FD: 32~8190)";
45 case ERROR_OTF_INPUT_HEIGHT
:
46 return "ERROR_OTF_INPUT_HEIGHT: Invalid bit-width (DRC: 8~12bits, FD: 8bit)";
47 case ERROR_OTF_INPUT_BIT_WIDTH
:
48 return "ERROR_OTF_INPUT_BIT_WIDTH: Invalid bit-width (DRC: 8~12bits, FD: 8bit)";
49 case ERROR_DMA_INPUT_WIDTH
:
50 return "ERROR_DMA_INPUT_WIDTH: Invalid width (DRC: 128~8192, FD: 32~8190)";
51 case ERROR_DMA_INPUT_HEIGHT
:
52 return "ERROR_DMA_INPUT_HEIGHT: Invalid height (DRC: 64~8192, FD: 16~8190)";
53 case ERROR_DMA_INPUT_FORMAT
:
54 return "ERROR_DMA_INPUT_FORMAT: Invalid format (DRC: YUV444 or YUV422, FD: YUV444,422,420)";
55 case ERROR_DMA_INPUT_BIT_WIDTH
:
56 return "ERROR_DMA_INPUT_BIT_WIDTH: Invalid bit-width (DRC: 8~12bits, FD: 8bit)";
57 case ERROR_DMA_INPUT_ORDER
:
58 return "ERROR_DMA_INPUT_ORDER: Invalid order(DRC: YYCbCr,YCbYCr,FD:NO,YYCbCr,YCbYCr,CbCr,CrCb)";
59 case ERROR_DMA_INPUT_PLANE
:
60 return "ERROR_DMA_INPUT_PLANE: Invalid palne (DRC: 3, FD: 1, 2, 3)";
61 case ERROR_OTF_OUTPUT_WIDTH
:
62 return "ERROR_OTF_OUTPUT_WIDTH: Invalid width (DRC: 128~8192)";
63 case ERROR_OTF_OUTPUT_HEIGHT
:
64 return "ERROR_OTF_OUTPUT_HEIGHT: Invalid height (DRC: 64~8192)";
65 case ERROR_OTF_OUTPUT_FORMAT
:
66 return "ERROR_OTF_OUTPUT_FORMAT: Invalid format (DRC: YUV444)";
67 case ERROR_OTF_OUTPUT_BIT_WIDTH
:
68 return "ERROR_OTF_OUTPUT_BIT_WIDTH: Invalid bit-width (DRC: 8~12bits, FD: 8bit)";
69 case ERROR_DMA_OUTPUT_WIDTH
:
70 return "ERROR_DMA_OUTPUT_WIDTH";
71 case ERROR_DMA_OUTPUT_HEIGHT
:
72 return "ERROR_DMA_OUTPUT_HEIGHT";
73 case ERROR_DMA_OUTPUT_FORMAT
:
74 return "ERROR_DMA_OUTPUT_FORMAT";
75 case ERROR_DMA_OUTPUT_BIT_WIDTH
:
76 return "ERROR_DMA_OUTPUT_BIT_WIDTH";
77 case ERROR_DMA_OUTPUT_PLANE
:
78 return "ERROR_DMA_OUTPUT_PLANE";
79 case ERROR_DMA_OUTPUT_ORDER
:
80 return "ERROR_DMA_OUTPUT_ORDER";
82 /* Sensor Error(100~199) */
83 case ERROR_SENSOR_I2C_FAIL
:
84 return "ERROR_SENSOR_I2C_FAIL";
85 case ERROR_SENSOR_INVALID_FRAMERATE
:
86 return "ERROR_SENSOR_INVALID_FRAMERATE";
87 case ERROR_SENSOR_INVALID_EXPOSURETIME
:
88 return "ERROR_SENSOR_INVALID_EXPOSURETIME";
89 case ERROR_SENSOR_INVALID_SIZE
:
90 return "ERROR_SENSOR_INVALID_SIZE";
91 case ERROR_SENSOR_INVALID_SETTING
:
92 return "ERROR_SENSOR_INVALID_SETTING";
93 case ERROR_SENSOR_ACTURATOR_INIT_FAIL
:
94 return "ERROR_SENSOR_ACTURATOR_INIT_FAIL";
95 case ERROR_SENSOR_INVALID_AF_POS
:
96 return "ERROR_SENSOR_INVALID_AF_POS";
97 case ERROR_SENSOR_UNSUPPORT_FUNC
:
98 return "ERROR_SENSOR_UNSUPPORT_FUNC";
99 case ERROR_SENSOR_UNSUPPORT_PERI
:
100 return "ERROR_SENSOR_UNSUPPORT_PERI";
101 case ERROR_SENSOR_UNSUPPORT_AF
:
102 return "ERROR_SENSOR_UNSUPPORT_AF";
104 /* ISP Error (200~299) */
105 case ERROR_ISP_AF_BUSY
:
106 return "ERROR_ISP_AF_BUSY";
107 case ERROR_ISP_AF_INVALID_COMMAND
:
108 return "ERROR_ISP_AF_INVALID_COMMAND";
109 case ERROR_ISP_AF_INVALID_MODE
:
110 return "ERROR_ISP_AF_INVALID_MODE";
112 /* DRC Error (300~399) */
113 /* FD Error (400~499) */
114 case ERROR_FD_CONFIG_MAX_NUMBER_STATE
:
115 return "ERROR_FD_CONFIG_MAX_NUMBER_STATE";
116 case ERROR_FD_CONFIG_MAX_NUMBER_INVALID
:
117 return "ERROR_FD_CONFIG_MAX_NUMBER_INVALID";
118 case ERROR_FD_CONFIG_YAW_ANGLE_STATE
:
119 return "ERROR_FD_CONFIG_YAW_ANGLE_STATE";
120 case ERROR_FD_CONFIG_YAW_ANGLE_INVALID
:
121 return "ERROR_FD_CONFIG_YAW_ANGLE_INVALID\n";
122 case ERROR_FD_CONFIG_ROLL_ANGLE_STATE
:
123 return "ERROR_FD_CONFIG_ROLL_ANGLE_STATE";
124 case ERROR_FD_CONFIG_ROLL_ANGLE_INVALID
:
125 return "ERROR_FD_CONFIG_ROLL_ANGLE_INVALID";
126 case ERROR_FD_CONFIG_SMILE_MODE_INVALID
:
127 return "ERROR_FD_CONFIG_SMILE_MODE_INVALID";
128 case ERROR_FD_CONFIG_BLINK_MODE_INVALID
:
129 return "ERROR_FD_CONFIG_BLINK_MODE_INVALID";
130 case ERROR_FD_CONFIG_EYES_DETECT_INVALID
:
131 return "ERROR_FD_CONFIG_EYES_DETECT_INVALID";
132 case ERROR_FD_CONFIG_MOUTH_DETECT_INVALID
:
133 return "ERROR_FD_CONFIG_MOUTH_DETECT_INVALID";
134 case ERROR_FD_CONFIG_ORIENTATION_STATE
:
135 return "ERROR_FD_CONFIG_ORIENTATION_STATE";
136 case ERROR_FD_CONFIG_ORIENTATION_INVALID
:
137 return "ERROR_FD_CONFIG_ORIENTATION_INVALID";
138 case ERROR_FD_CONFIG_ORIENTATION_VALUE_INVALID
:
139 return "ERROR_FD_CONFIG_ORIENTATION_VALUE_INVALID";
140 case ERROR_FD_RESULT
:
141 return "ERROR_FD_RESULT";
143 return "ERROR_FD_MODE";
149 const char *fimc_is_strerr(unsigned int error
)
151 error
&= ~IS_ERROR_TIME_OUT_FLAG
;
155 case IS_ERROR_INVALID_COMMAND
:
156 return "IS_ERROR_INVALID_COMMAND";
157 case IS_ERROR_REQUEST_FAIL
:
158 return "IS_ERROR_REQUEST_FAIL";
159 case IS_ERROR_INVALID_SCENARIO
:
160 return "IS_ERROR_INVALID_SCENARIO";
161 case IS_ERROR_INVALID_SENSORID
:
162 return "IS_ERROR_INVALID_SENSORID";
163 case IS_ERROR_INVALID_MODE_CHANGE
:
164 return "IS_ERROR_INVALID_MODE_CHANGE";
165 case IS_ERROR_INVALID_MAGIC_NUMBER
:
166 return "IS_ERROR_INVALID_MAGIC_NUMBER";
167 case IS_ERROR_INVALID_SETFILE_HDR
:
168 return "IS_ERROR_INVALID_SETFILE_HDR";
170 return "IS_ERROR_BUSY";
171 case IS_ERROR_SET_PARAMETER
:
172 return "IS_ERROR_SET_PARAMETER";
173 case IS_ERROR_INVALID_PATH
:
174 return "IS_ERROR_INVALID_PATH";
175 case IS_ERROR_OPEN_SENSOR_FAIL
:
176 return "IS_ERROR_OPEN_SENSOR_FAIL";
177 case IS_ERROR_ENTRY_MSG_THREAD_DOWN
:
178 return "IS_ERROR_ENTRY_MSG_THREAD_DOWN";
179 case IS_ERROR_ISP_FRAME_END_NOT_DONE
:
180 return "IS_ERROR_ISP_FRAME_END_NOT_DONE";
181 case IS_ERROR_DRC_FRAME_END_NOT_DONE
:
182 return "IS_ERROR_DRC_FRAME_END_NOT_DONE";
183 case IS_ERROR_SCALERC_FRAME_END_NOT_DONE
:
184 return "IS_ERROR_SCALERC_FRAME_END_NOT_DONE";
185 case IS_ERROR_ODC_FRAME_END_NOT_DONE
:
186 return "IS_ERROR_ODC_FRAME_END_NOT_DONE";
187 case IS_ERROR_DIS_FRAME_END_NOT_DONE
:
188 return "IS_ERROR_DIS_FRAME_END_NOT_DONE";
189 case IS_ERROR_TDNR_FRAME_END_NOT_DONE
:
190 return "IS_ERROR_TDNR_FRAME_END_NOT_DONE";
191 case IS_ERROR_SCALERP_FRAME_END_NOT_DONE
:
192 return "IS_ERROR_SCALERP_FRAME_END_NOT_DONE";
193 case IS_ERROR_WAIT_STREAM_OFF_NOT_DONE
:
194 return "IS_ERROR_WAIT_STREAM_OFF_NOT_DONE";
195 case IS_ERROR_NO_MSG_IS_RECEIVED
:
196 return "IS_ERROR_NO_MSG_IS_RECEIVED";
197 case IS_ERROR_SENSOR_MSG_FAIL
:
198 return "IS_ERROR_SENSOR_MSG_FAIL";
199 case IS_ERROR_ISP_MSG_FAIL
:
200 return "IS_ERROR_ISP_MSG_FAIL";
201 case IS_ERROR_DRC_MSG_FAIL
:
202 return "IS_ERROR_DRC_MSG_FAIL";
203 case IS_ERROR_LHFD_MSG_FAIL
:
204 return "IS_ERROR_LHFD_MSG_FAIL";
205 case IS_ERROR_UNKNOWN
:
206 return "IS_ERROR_UNKNOWN";
209 case IS_ERROR_SENSOR_PWRDN_FAIL
:
210 return "IS_ERROR_SENSOR_PWRDN_FAIL";
213 case IS_ERROR_ISP_PWRDN_FAIL
:
214 return "IS_ERROR_ISP_PWRDN_FAIL";
215 case IS_ERROR_ISP_MULTIPLE_INPUT
:
216 return "IS_ERROR_ISP_MULTIPLE_INPUT";
217 case IS_ERROR_ISP_ABSENT_INPUT
:
218 return "IS_ERROR_ISP_ABSENT_INPUT";
219 case IS_ERROR_ISP_ABSENT_OUTPUT
:
220 return "IS_ERROR_ISP_ABSENT_OUTPUT";
221 case IS_ERROR_ISP_NONADJACENT_OUTPUT
:
222 return "IS_ERROR_ISP_NONADJACENT_OUTPUT";
223 case IS_ERROR_ISP_FORMAT_MISMATCH
:
224 return "IS_ERROR_ISP_FORMAT_MISMATCH";
225 case IS_ERROR_ISP_WIDTH_MISMATCH
:
226 return "IS_ERROR_ISP_WIDTH_MISMATCH";
227 case IS_ERROR_ISP_HEIGHT_MISMATCH
:
228 return "IS_ERROR_ISP_HEIGHT_MISMATCH";
229 case IS_ERROR_ISP_BITWIDTH_MISMATCH
:
230 return "IS_ERROR_ISP_BITWIDTH_MISMATCH";
231 case IS_ERROR_ISP_FRAME_END_TIME_OUT
:
232 return "IS_ERROR_ISP_FRAME_END_TIME_OUT";
235 case IS_ERROR_DRC_PWRDN_FAIL
:
236 return "IS_ERROR_DRC_PWRDN_FAIL";
237 case IS_ERROR_DRC_MULTIPLE_INPUT
:
238 return "IS_ERROR_DRC_MULTIPLE_INPUT";
239 case IS_ERROR_DRC_ABSENT_INPUT
:
240 return "IS_ERROR_DRC_ABSENT_INPUT";
241 case IS_ERROR_DRC_NONADJACENT_INPUT
:
242 return "IS_ERROR_DRC_NONADJACENT_INPUT";
243 case IS_ERROR_DRC_ABSENT_OUTPUT
:
244 return "IS_ERROR_DRC_ABSENT_OUTPUT";
245 case IS_ERROR_DRC_NONADJACENT_OUTPUT
:
246 return "IS_ERROR_DRC_NONADJACENT_OUTPUT";
247 case IS_ERROR_DRC_FORMAT_MISMATCH
:
248 return "IS_ERROR_DRC_FORMAT_MISMATCH";
249 case IS_ERROR_DRC_WIDTH_MISMATCH
:
250 return "IS_ERROR_DRC_WIDTH_MISMATCH";
251 case IS_ERROR_DRC_HEIGHT_MISMATCH
:
252 return "IS_ERROR_DRC_HEIGHT_MISMATCH";
253 case IS_ERROR_DRC_BITWIDTH_MISMATCH
:
254 return "IS_ERROR_DRC_BITWIDTH_MISMATCH";
255 case IS_ERROR_DRC_FRAME_END_TIME_OUT
:
256 return "IS_ERROR_DRC_FRAME_END_TIME_OUT";
259 case IS_ERROR_FD_PWRDN_FAIL
:
260 return "IS_ERROR_FD_PWRDN_FAIL";
261 case IS_ERROR_FD_MULTIPLE_INPUT
:
262 return "IS_ERROR_FD_MULTIPLE_INPUT";
263 case IS_ERROR_FD_ABSENT_INPUT
:
264 return "IS_ERROR_FD_ABSENT_INPUT";
265 case IS_ERROR_FD_NONADJACENT_INPUT
:
266 return "IS_ERROR_FD_NONADJACENT_INPUT";
267 case IS_ERROR_LHFD_FRAME_END_TIME_OUT
:
268 return "IS_ERROR_LHFD_FRAME_END_TIME_OUT";