diff options
Diffstat (limited to 'drivers/media/platform/exynos4-is/fimc-is-errno.c')
-rw-r--r-- | drivers/media/platform/exynos4-is/fimc-is-errno.c | 272 |
1 files changed, 272 insertions, 0 deletions
diff --git a/drivers/media/platform/exynos4-is/fimc-is-errno.c b/drivers/media/platform/exynos4-is/fimc-is-errno.c new file mode 100644 index 000000000000..e8519e151c1a --- /dev/null +++ b/drivers/media/platform/exynos4-is/fimc-is-errno.c | |||
@@ -0,0 +1,272 @@ | |||
1 | /* | ||
2 | * Samsung Exynos4 SoC series FIMC-IS slave interface driver | ||
3 | * | ||
4 | * Error log interface functions | ||
5 | * | ||
6 | * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd. | ||
7 | * | ||
8 | * Authors: Younghwan Joo <yhwan.joo@samsung.com> | ||
9 | * Sylwester Nawrocki <s.nawrocki@samsung.com> | ||
10 | * | ||
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. | ||
14 | */ | ||
15 | |||
16 | #include "fimc-is-errno.h" | ||
17 | |||
18 | const char * const fimc_is_param_strerr(unsigned int error) | ||
19 | { | ||
20 | switch (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"; | ||
81 | |||
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"; | ||
103 | |||
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"; | ||
111 | |||
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"; | ||
142 | case ERROR_FD_MODE: | ||
143 | return "ERROR_FD_MODE"; | ||
144 | default: | ||
145 | return "Unknown"; | ||
146 | } | ||
147 | } | ||
148 | |||
149 | const char * const fimc_is_strerr(unsigned int error) | ||
150 | { | ||
151 | error &= ~IS_ERROR_TIME_OUT_FLAG; | ||
152 | |||
153 | switch (error) { | ||
154 | /* General */ | ||
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"; | ||
169 | case IS_ERROR_BUSY: | ||
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"; | ||
207 | |||
208 | /* Sensor */ | ||
209 | case IS_ERROR_SENSOR_PWRDN_FAIL: | ||
210 | return "IS_ERROR_SENSOR_PWRDN_FAIL"; | ||
211 | |||
212 | /* ISP */ | ||
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"; | ||
233 | |||
234 | /* DRC */ | ||
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"; | ||
257 | |||
258 | /* FD */ | ||
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"; | ||
269 | default: | ||
270 | return "Unknown"; | ||
271 | } | ||
272 | } | ||