1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Samsung Exynos4 SoC series FIMC-IS slave interface driver 4 * 5 * Error log interface functions 6 * 7 * Copyright (C) 2011 - 2013 Samsung Electronics Co., Ltd. 8 * 9 * Authors: Younghwan Joo <yhwan.joo@samsung.com> 10 * Sylwester Nawrocki <s.nawrocki@samsung.com> 11 */ 12 13 #include "fimc-is-errno.h" 14 fimc_is_strerr(unsigned int error)15const char *fimc_is_strerr(unsigned int error) 16 { 17 error &= ~IS_ERROR_TIME_OUT_FLAG; 18 19 switch (error) { 20 /* General */ 21 case IS_ERROR_INVALID_COMMAND: 22 return "IS_ERROR_INVALID_COMMAND"; 23 case IS_ERROR_REQUEST_FAIL: 24 return "IS_ERROR_REQUEST_FAIL"; 25 case IS_ERROR_INVALID_SCENARIO: 26 return "IS_ERROR_INVALID_SCENARIO"; 27 case IS_ERROR_INVALID_SENSORID: 28 return "IS_ERROR_INVALID_SENSORID"; 29 case IS_ERROR_INVALID_MODE_CHANGE: 30 return "IS_ERROR_INVALID_MODE_CHANGE"; 31 case IS_ERROR_INVALID_MAGIC_NUMBER: 32 return "IS_ERROR_INVALID_MAGIC_NUMBER"; 33 case IS_ERROR_INVALID_SETFILE_HDR: 34 return "IS_ERROR_INVALID_SETFILE_HDR"; 35 case IS_ERROR_BUSY: 36 return "IS_ERROR_BUSY"; 37 case IS_ERROR_SET_PARAMETER: 38 return "IS_ERROR_SET_PARAMETER"; 39 case IS_ERROR_INVALID_PATH: 40 return "IS_ERROR_INVALID_PATH"; 41 case IS_ERROR_OPEN_SENSOR_FAIL: 42 return "IS_ERROR_OPEN_SENSOR_FAIL"; 43 case IS_ERROR_ENTRY_MSG_THREAD_DOWN: 44 return "IS_ERROR_ENTRY_MSG_THREAD_DOWN"; 45 case IS_ERROR_ISP_FRAME_END_NOT_DONE: 46 return "IS_ERROR_ISP_FRAME_END_NOT_DONE"; 47 case IS_ERROR_DRC_FRAME_END_NOT_DONE: 48 return "IS_ERROR_DRC_FRAME_END_NOT_DONE"; 49 case IS_ERROR_SCALERC_FRAME_END_NOT_DONE: 50 return "IS_ERROR_SCALERC_FRAME_END_NOT_DONE"; 51 case IS_ERROR_ODC_FRAME_END_NOT_DONE: 52 return "IS_ERROR_ODC_FRAME_END_NOT_DONE"; 53 case IS_ERROR_DIS_FRAME_END_NOT_DONE: 54 return "IS_ERROR_DIS_FRAME_END_NOT_DONE"; 55 case IS_ERROR_TDNR_FRAME_END_NOT_DONE: 56 return "IS_ERROR_TDNR_FRAME_END_NOT_DONE"; 57 case IS_ERROR_SCALERP_FRAME_END_NOT_DONE: 58 return "IS_ERROR_SCALERP_FRAME_END_NOT_DONE"; 59 case IS_ERROR_WAIT_STREAM_OFF_NOT_DONE: 60 return "IS_ERROR_WAIT_STREAM_OFF_NOT_DONE"; 61 case IS_ERROR_NO_MSG_IS_RECEIVED: 62 return "IS_ERROR_NO_MSG_IS_RECEIVED"; 63 case IS_ERROR_SENSOR_MSG_FAIL: 64 return "IS_ERROR_SENSOR_MSG_FAIL"; 65 case IS_ERROR_ISP_MSG_FAIL: 66 return "IS_ERROR_ISP_MSG_FAIL"; 67 case IS_ERROR_DRC_MSG_FAIL: 68 return "IS_ERROR_DRC_MSG_FAIL"; 69 case IS_ERROR_LHFD_MSG_FAIL: 70 return "IS_ERROR_LHFD_MSG_FAIL"; 71 case IS_ERROR_UNKNOWN: 72 return "IS_ERROR_UNKNOWN"; 73 74 /* Sensor */ 75 case IS_ERROR_SENSOR_PWRDN_FAIL: 76 return "IS_ERROR_SENSOR_PWRDN_FAIL"; 77 78 /* ISP */ 79 case IS_ERROR_ISP_PWRDN_FAIL: 80 return "IS_ERROR_ISP_PWRDN_FAIL"; 81 case IS_ERROR_ISP_MULTIPLE_INPUT: 82 return "IS_ERROR_ISP_MULTIPLE_INPUT"; 83 case IS_ERROR_ISP_ABSENT_INPUT: 84 return "IS_ERROR_ISP_ABSENT_INPUT"; 85 case IS_ERROR_ISP_ABSENT_OUTPUT: 86 return "IS_ERROR_ISP_ABSENT_OUTPUT"; 87 case IS_ERROR_ISP_NONADJACENT_OUTPUT: 88 return "IS_ERROR_ISP_NONADJACENT_OUTPUT"; 89 case IS_ERROR_ISP_FORMAT_MISMATCH: 90 return "IS_ERROR_ISP_FORMAT_MISMATCH"; 91 case IS_ERROR_ISP_WIDTH_MISMATCH: 92 return "IS_ERROR_ISP_WIDTH_MISMATCH"; 93 case IS_ERROR_ISP_HEIGHT_MISMATCH: 94 return "IS_ERROR_ISP_HEIGHT_MISMATCH"; 95 case IS_ERROR_ISP_BITWIDTH_MISMATCH: 96 return "IS_ERROR_ISP_BITWIDTH_MISMATCH"; 97 case IS_ERROR_ISP_FRAME_END_TIME_OUT: 98 return "IS_ERROR_ISP_FRAME_END_TIME_OUT"; 99 100 /* DRC */ 101 case IS_ERROR_DRC_PWRDN_FAIL: 102 return "IS_ERROR_DRC_PWRDN_FAIL"; 103 case IS_ERROR_DRC_MULTIPLE_INPUT: 104 return "IS_ERROR_DRC_MULTIPLE_INPUT"; 105 case IS_ERROR_DRC_ABSENT_INPUT: 106 return "IS_ERROR_DRC_ABSENT_INPUT"; 107 case IS_ERROR_DRC_NONADJACENT_INPUT: 108 return "IS_ERROR_DRC_NONADJACENT_INPUT"; 109 case IS_ERROR_DRC_ABSENT_OUTPUT: 110 return "IS_ERROR_DRC_ABSENT_OUTPUT"; 111 case IS_ERROR_DRC_NONADJACENT_OUTPUT: 112 return "IS_ERROR_DRC_NONADJACENT_OUTPUT"; 113 case IS_ERROR_DRC_FORMAT_MISMATCH: 114 return "IS_ERROR_DRC_FORMAT_MISMATCH"; 115 case IS_ERROR_DRC_WIDTH_MISMATCH: 116 return "IS_ERROR_DRC_WIDTH_MISMATCH"; 117 case IS_ERROR_DRC_HEIGHT_MISMATCH: 118 return "IS_ERROR_DRC_HEIGHT_MISMATCH"; 119 case IS_ERROR_DRC_BITWIDTH_MISMATCH: 120 return "IS_ERROR_DRC_BITWIDTH_MISMATCH"; 121 case IS_ERROR_DRC_FRAME_END_TIME_OUT: 122 return "IS_ERROR_DRC_FRAME_END_TIME_OUT"; 123 124 /* FD */ 125 case IS_ERROR_FD_PWRDN_FAIL: 126 return "IS_ERROR_FD_PWRDN_FAIL"; 127 case IS_ERROR_FD_MULTIPLE_INPUT: 128 return "IS_ERROR_FD_MULTIPLE_INPUT"; 129 case IS_ERROR_FD_ABSENT_INPUT: 130 return "IS_ERROR_FD_ABSENT_INPUT"; 131 case IS_ERROR_FD_NONADJACENT_INPUT: 132 return "IS_ERROR_FD_NONADJACENT_INPUT"; 133 case IS_ERROR_LHFD_FRAME_END_TIME_OUT: 134 return "IS_ERROR_LHFD_FRAME_END_TIME_OUT"; 135 default: 136 return "Unknown"; 137 } 138 } 139