Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause 2 : : * Copyright(C) 2021 Marvell. 3 : : */ 4 : : 5 : : #include "roc_api.h" 6 : : #include "roc_priv.h" 7 : : 8 : : const char * 9 : 0 : roc_error_msg_get(int errorcode) 10 : : { 11 : : const char *err_msg; 12 : : 13 [ # # # # : 0 : switch (errorcode) { # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ] 14 : : case NIX_AF_ERR_PARAM: 15 : : case NIX_ERR_PARAM: 16 : : case NPA_ERR_PARAM: 17 : : case NPC_ERR_PARAM: 18 : : case SSO_ERR_PARAM: 19 : : case MCS_ERR_PARAM: 20 : : case RVU_ERR_PARAM: 21 : : case UTIL_ERR_PARAM: 22 : : err_msg = "Invalid parameter"; 23 : : break; 24 : 0 : case NIX_ERR_NO_MEM: 25 : : case NPC_ERR_NO_MEM: 26 : : case RVU_ERR_NO_MEM: 27 : : err_msg = "Out of memory"; 28 : 0 : break; 29 : 0 : case NIX_ERR_INVALID_RANGE: 30 : : case NPC_ERR_INVALID_RANGE: 31 : : err_msg = "Range is not supported"; 32 : 0 : break; 33 : 0 : case NIX_ERR_INTERNAL: 34 : : case NPC_ERR_INTERNAL: 35 : : err_msg = "Internal error"; 36 : 0 : break; 37 : 0 : case NIX_ERR_OP_NOTSUP: 38 : : err_msg = "Operation not supported"; 39 : 0 : break; 40 : 0 : case NIX_ERR_HW_NOTSUP: 41 : : case MCS_ERR_HW_NOTSUP: 42 : : err_msg = "Hardware does not support"; 43 : 0 : break; 44 : 0 : case NIX_ERR_QUEUE_INVALID_RANGE: 45 : : err_msg = "Invalid Queue range"; 46 : 0 : break; 47 : 0 : case NIX_ERR_AQ_READ_FAILED: 48 : : err_msg = "AQ read failed"; 49 : 0 : break; 50 : 0 : case NIX_ERR_AQ_WRITE_FAILED: 51 : : err_msg = "AQ write failed"; 52 : 0 : break; 53 : 0 : case NIX_ERR_TM_LEAF_NODE_GET: 54 : : err_msg = "TM leaf node get failed"; 55 : 0 : break; 56 : 0 : case NIX_ERR_TM_INVALID_LVL: 57 : : err_msg = "TM node level invalid"; 58 : 0 : break; 59 : 0 : case NIX_ERR_TM_INVALID_PRIO: 60 : : err_msg = "TM node priority invalid"; 61 : 0 : break; 62 : 0 : case NIX_ERR_TM_INVALID_PARENT: 63 : : err_msg = "TM parent id invalid"; 64 : 0 : break; 65 : 0 : case NIX_ERR_TM_NODE_EXISTS: 66 : : err_msg = "TM Node Exists"; 67 : 0 : break; 68 : 0 : case NIX_ERR_TM_INVALID_NODE: 69 : : err_msg = "TM node id invalid"; 70 : 0 : break; 71 : 0 : case NIX_ERR_TM_INVALID_SHAPER_PROFILE: 72 : : err_msg = "TM shaper profile invalid"; 73 : 0 : break; 74 : 0 : case NIX_ERR_TM_PKT_MODE_MISMATCH: 75 : : err_msg = "shaper profile pkt mode mismatch"; 76 : 0 : break; 77 : 0 : case NIX_ERR_TM_WEIGHT_EXCEED: 78 : : err_msg = "TM DWRR weight exceeded"; 79 : 0 : break; 80 : 0 : case NIX_ERR_TM_CHILD_EXISTS: 81 : : err_msg = "TM node children exists"; 82 : 0 : break; 83 : 0 : case NIX_ERR_TM_INVALID_PEAK_SZ: 84 : : err_msg = "TM peak size invalid"; 85 : 0 : break; 86 : 0 : case NIX_ERR_TM_INVALID_PEAK_RATE: 87 : : err_msg = "TM peak rate invalid"; 88 : 0 : break; 89 : 0 : case NIX_ERR_TM_INVALID_COMMIT_SZ: 90 : : err_msg = "TM commit size invalid"; 91 : 0 : break; 92 : 0 : case NIX_ERR_TM_INVALID_COMMIT_RATE: 93 : : err_msg = "TM commit rate invalid"; 94 : 0 : break; 95 : 0 : case NIX_ERR_TM_SHAPER_PROFILE_IN_USE: 96 : : err_msg = "TM shaper profile in use"; 97 : 0 : break; 98 : 0 : case NIX_ERR_TM_SHAPER_PROFILE_EXISTS: 99 : : err_msg = "TM shaper profile exists"; 100 : 0 : break; 101 : 0 : case NIX_ERR_TM_SHAPER_PKT_LEN_ADJUST: 102 : : err_msg = "length adjust invalid"; 103 : 0 : break; 104 : 0 : case NIX_ERR_TM_INVALID_TREE: 105 : : err_msg = "TM tree invalid"; 106 : 0 : break; 107 : 0 : case NIX_ERR_TM_PARENT_PRIO_UPDATE: 108 : : err_msg = "TM node parent and prio update failed"; 109 : 0 : break; 110 : 0 : case NIX_ERR_TM_PRIO_EXCEEDED: 111 : : err_msg = "TM node priority exceeded"; 112 : 0 : break; 113 : 0 : case NIX_ERR_TM_PRIO_ORDER: 114 : : err_msg = "TM node priority not in order"; 115 : 0 : break; 116 : 0 : case NIX_ERR_TM_MULTIPLE_RR_GROUPS: 117 : : err_msg = "TM multiple rr groups"; 118 : 0 : break; 119 : 0 : case NIX_ERR_TM_SQ_UPDATE_FAIL: 120 : : err_msg = "TM SQ update failed"; 121 : 0 : break; 122 : 0 : case NIX_ERR_NDC_SYNC: 123 : : err_msg = "NDC Sync failed"; 124 : 0 : break; 125 : 0 : case NPC_ERR_INVALID_SPEC: 126 : : err_msg = "NPC invalid spec"; 127 : 0 : break; 128 : 0 : case NPC_ERR_INVALID_MASK: 129 : : err_msg = "NPC invalid mask"; 130 : 0 : break; 131 : 0 : case NPC_ERR_INVALID_KEX: 132 : : err_msg = "NPC invalid key"; 133 : 0 : break; 134 : 0 : case NPC_ERR_INVALID_SIZE: 135 : : err_msg = "NPC invalid key size"; 136 : 0 : break; 137 : 0 : case NPC_ERR_ACTION_NOTSUP: 138 : : err_msg = "NPC action not supported"; 139 : 0 : break; 140 : 0 : case NPC_ERR_PATTERN_NOTSUP: 141 : : err_msg = "NPC pattern not supported"; 142 : 0 : break; 143 : 0 : case NPC_ERR_MCAM_ALLOC: 144 : : err_msg = "MCAM entry alloc failed"; 145 : 0 : break; 146 : 0 : case NPA_ERR_ALLOC: 147 : : err_msg = "NPA alloc failed"; 148 : 0 : break; 149 : 0 : case NPA_ERR_INVALID_BLOCK_SZ: 150 : : err_msg = "NPA invalid block size"; 151 : 0 : break; 152 : 0 : case NPA_ERR_AURA_ID_ALLOC: 153 : : err_msg = "NPA aura id alloc failed"; 154 : 0 : break; 155 : 0 : case NPA_ERR_AURA_POOL_INIT: 156 : : err_msg = "NPA aura pool init failed"; 157 : 0 : break; 158 : 0 : case NPA_ERR_AURA_POOL_FINI: 159 : : err_msg = "NPA aura pool fini failed"; 160 : 0 : break; 161 : 0 : case NPA_ERR_BASE_INVALID: 162 : : err_msg = "NPA invalid base"; 163 : 0 : break; 164 : 0 : case NPA_ERR_DEVICE_NOT_BOUNDED: 165 : : err_msg = "NPA device is not bounded"; 166 : 0 : break; 167 : 0 : case NIX_AF_ERR_AQ_FULL: 168 : : err_msg = "AQ full"; 169 : 0 : break; 170 : 0 : case NIX_AF_ERR_AQ_ENQUEUE: 171 : : err_msg = "AQ enqueue failed"; 172 : 0 : break; 173 : 0 : case NIX_AF_ERR_AF_LF_INVALID: 174 : : err_msg = "Invalid NIX LF"; 175 : 0 : break; 176 : 0 : case NIX_AF_ERR_AF_LF_ALLOC: 177 : : err_msg = "NIX LF alloc failed"; 178 : 0 : break; 179 : 0 : case NIX_AF_ERR_TLX_INVALID: 180 : : err_msg = "Invalid NIX TLX"; 181 : 0 : break; 182 : 0 : case NIX_AF_ERR_TLX_ALLOC_FAIL: 183 : : err_msg = "NIX TLX alloc failed"; 184 : 0 : break; 185 : 0 : case NIX_AF_ERR_RSS_SIZE_INVALID: 186 : : err_msg = "Invalid RSS size"; 187 : 0 : break; 188 : 0 : case NIX_AF_ERR_RSS_GRPS_INVALID: 189 : : err_msg = "Invalid RSS groups"; 190 : 0 : break; 191 : 0 : case NIX_AF_ERR_FRS_INVALID: 192 : : err_msg = "Invalid frame size"; 193 : 0 : break; 194 : 0 : case NIX_AF_ERR_RX_LINK_INVALID: 195 : : err_msg = "Invalid Rx link"; 196 : 0 : break; 197 : 0 : case NIX_AF_INVAL_TXSCHQ_CFG: 198 : : err_msg = "Invalid Tx scheduling config"; 199 : 0 : break; 200 : 0 : case NIX_AF_SMQ_FLUSH_FAILED: 201 : : err_msg = "SMQ flush failed"; 202 : 0 : break; 203 : 0 : case NIX_AF_ERR_LF_RESET: 204 : : err_msg = "NIX LF reset failed"; 205 : 0 : break; 206 : 0 : case NIX_AF_ERR_MARK_CFG_FAIL: 207 : : err_msg = "Marking config failed"; 208 : 0 : break; 209 : 0 : case NIX_AF_ERR_LSO_CFG_FAIL: 210 : : err_msg = "LSO config failed"; 211 : 0 : break; 212 : 0 : case NIX_AF_INVAL_NPA_PF_FUNC: 213 : : err_msg = "Invalid NPA pf_func"; 214 : 0 : break; 215 : 0 : case NIX_AF_INVAL_SSO_PF_FUNC: 216 : : err_msg = "Invalid SSO pf_func"; 217 : 0 : break; 218 : 0 : case NIX_AF_ERR_TX_VTAG_NOSPC: 219 : : err_msg = "No space for Tx VTAG"; 220 : 0 : break; 221 : 0 : case NIX_AF_ERR_RX_VTAG_INUSE: 222 : : err_msg = "Rx VTAG is in use"; 223 : 0 : break; 224 : 0 : case NIX_AF_ERR_PTP_CONFIG_FAIL: 225 : : err_msg = "PTP config failed"; 226 : 0 : break; 227 : 0 : case SSO_ERR_DEVICE_NOT_BOUNDED: 228 : : err_msg = "SSO pf/vf not found"; 229 : 0 : break; 230 : 0 : case MCS_ERR_DEVICE_NOT_FOUND: 231 : : err_msg = "MCS device not found"; 232 : 0 : break; 233 : 0 : case UTIL_ERR_FS: 234 : : err_msg = "file operation failed"; 235 : 0 : break; 236 : 0 : case UTIL_ERR_INVALID_MODEL: 237 : : err_msg = "Invalid RoC model"; 238 : 0 : break; 239 : 0 : case NIX_AF_ERR_RSS_NOSPC_FIELD: 240 : : err_msg = "No space or unsupported fields"; 241 : 0 : break; 242 : 0 : case NIX_AF_ERR_RSS_NOSPC_ALGO: 243 : : err_msg = "No space to add new flow hash algo"; 244 : 0 : break; 245 : 0 : default: 246 : : /** 247 : : * Handle general error (as defined in linux errno.h) 248 : : */ 249 [ # # ]: 0 : if (abs(errorcode) < 300) 250 : 0 : err_msg = strerror(abs(errorcode)); 251 : : else 252 : : err_msg = "Unknown error code"; 253 : : break; 254 : : } 255 : : 256 : 0 : return err_msg; 257 : : } 258 : : 259 : : void 260 : 0 : roc_clk_freq_get(uint16_t *rclk_freq, uint16_t *sclk_freq) 261 : : { 262 : 0 : *rclk_freq = dev_rclk_freq; 263 : 0 : *sclk_freq = dev_sclk_freq; 264 : 0 : }