1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
9 roc_error_msg_get(int errorcode)
14 case NIX_AF_ERR_PARAM:
20 err_msg = "Invalid parameter";
24 err_msg = "Out of memory";
26 case NIX_ERR_INVALID_RANGE:
27 case NPC_ERR_INVALID_RANGE:
28 err_msg = "Range is not supported";
30 case NIX_ERR_INTERNAL:
31 case NPC_ERR_INTERNAL:
32 err_msg = "Internal error";
34 case NIX_ERR_OP_NOTSUP:
35 err_msg = "Operation not supported";
37 case NIX_ERR_HW_NOTSUP:
38 err_msg = "Hardware does not support";
40 case NIX_ERR_QUEUE_INVALID_RANGE:
41 err_msg = "Invalid Queue range";
43 case NIX_ERR_AQ_READ_FAILED:
44 err_msg = "AQ read failed";
46 case NIX_ERR_AQ_WRITE_FAILED:
47 err_msg = "AQ write failed";
49 case NIX_ERR_TM_LEAF_NODE_GET:
50 err_msg = "TM leaf node get failed";
52 case NIX_ERR_TM_INVALID_LVL:
53 err_msg = "TM node level invalid";
55 case NIX_ERR_TM_INVALID_PRIO:
56 err_msg = "TM node priority invalid";
58 case NIX_ERR_TM_INVALID_PARENT:
59 err_msg = "TM parent id invalid";
61 case NIX_ERR_TM_NODE_EXISTS:
62 err_msg = "TM Node Exists";
64 case NIX_ERR_TM_INVALID_NODE:
65 err_msg = "TM node id invalid";
67 case NIX_ERR_TM_INVALID_SHAPER_PROFILE:
68 err_msg = "TM shaper profile invalid";
70 case NIX_ERR_TM_PKT_MODE_MISMATCH:
71 err_msg = "shaper profile pkt mode mismatch";
73 case NIX_ERR_TM_WEIGHT_EXCEED:
74 err_msg = "TM DWRR weight exceeded";
76 case NIX_ERR_TM_CHILD_EXISTS:
77 err_msg = "TM node children exists";
79 case NIX_ERR_TM_INVALID_PEAK_SZ:
80 err_msg = "TM peak size invalid";
82 case NIX_ERR_TM_INVALID_PEAK_RATE:
83 err_msg = "TM peak rate invalid";
85 case NIX_ERR_TM_INVALID_COMMIT_SZ:
86 err_msg = "TM commit size invalid";
88 case NIX_ERR_TM_INVALID_COMMIT_RATE:
89 err_msg = "TM commit rate invalid";
91 case NIX_ERR_TM_SHAPER_PROFILE_IN_USE:
92 err_msg = "TM shaper profile in use";
94 case NIX_ERR_TM_SHAPER_PROFILE_EXISTS:
95 err_msg = "TM shaper profile exists";
97 case NIX_ERR_TM_SHAPER_PKT_LEN_ADJUST:
98 err_msg = "length adjust invalid";
100 case NIX_ERR_TM_INVALID_TREE:
101 err_msg = "TM tree invalid";
103 case NIX_ERR_TM_PARENT_PRIO_UPDATE:
104 err_msg = "TM node parent and prio update failed";
106 case NIX_ERR_TM_PRIO_EXCEEDED:
107 err_msg = "TM node priority exceeded";
109 case NIX_ERR_TM_PRIO_ORDER:
110 err_msg = "TM node priority not in order";
112 case NIX_ERR_TM_MULTIPLE_RR_GROUPS:
113 err_msg = "TM multiple rr groups";
115 case NIX_ERR_TM_SQ_UPDATE_FAIL:
116 err_msg = "TM SQ update failed";
118 case NIX_ERR_NDC_SYNC:
119 err_msg = "NDC Sync failed";
121 case NPC_ERR_INVALID_SPEC:
122 err_msg = "NPC invalid spec";
124 case NPC_ERR_INVALID_MASK:
125 err_msg = "NPC invalid mask";
127 case NPC_ERR_INVALID_KEX:
128 err_msg = "NPC invalid key";
130 case NPC_ERR_INVALID_SIZE:
131 err_msg = "NPC invalid key size";
133 case NPC_ERR_ACTION_NOTSUP:
134 err_msg = "NPC action not supported";
136 case NPC_ERR_PATTERN_NOTSUP:
137 err_msg = "NPC pattern not supported";
139 case NPC_ERR_MCAM_ALLOC:
140 err_msg = "MCAM entry alloc failed";
143 err_msg = "NPA alloc failed";
145 case NPA_ERR_INVALID_BLOCK_SZ:
146 err_msg = "NPA invalid block size";
148 case NPA_ERR_AURA_ID_ALLOC:
149 err_msg = "NPA aura id alloc failed";
151 case NPA_ERR_AURA_POOL_INIT:
152 err_msg = "NPA aura pool init failed";
154 case NPA_ERR_AURA_POOL_FINI:
155 err_msg = "NPA aura pool fini failed";
157 case NPA_ERR_BASE_INVALID:
158 err_msg = "NPA invalid base";
160 case NPA_ERR_DEVICE_NOT_BOUNDED:
161 err_msg = "NPA device is not bounded";
163 case NIX_AF_ERR_AQ_FULL:
166 case NIX_AF_ERR_AQ_ENQUEUE:
167 err_msg = "AQ enqueue failed";
169 case NIX_AF_ERR_AF_LF_INVALID:
170 err_msg = "Invalid NIX LF";
172 case NIX_AF_ERR_AF_LF_ALLOC:
173 err_msg = "NIX LF alloc failed";
175 case NIX_AF_ERR_TLX_INVALID:
176 err_msg = "Invalid NIX TLX";
178 case NIX_AF_ERR_TLX_ALLOC_FAIL:
179 err_msg = "NIX TLX alloc failed";
181 case NIX_AF_ERR_RSS_SIZE_INVALID:
182 err_msg = "Invalid RSS size";
184 case NIX_AF_ERR_RSS_GRPS_INVALID:
185 err_msg = "Invalid RSS groups";
187 case NIX_AF_ERR_FRS_INVALID:
188 err_msg = "Invalid frame size";
190 case NIX_AF_ERR_RX_LINK_INVALID:
191 err_msg = "Invalid Rx link";
193 case NIX_AF_INVAL_TXSCHQ_CFG:
194 err_msg = "Invalid Tx scheduling config";
196 case NIX_AF_SMQ_FLUSH_FAILED:
197 err_msg = "SMQ flush failed";
199 case NIX_AF_ERR_LF_RESET:
200 err_msg = "NIX LF reset failed";
202 case NIX_AF_ERR_MARK_CFG_FAIL:
203 err_msg = "Marking config failed";
205 case NIX_AF_ERR_LSO_CFG_FAIL:
206 err_msg = "LSO config failed";
208 case NIX_AF_INVAL_NPA_PF_FUNC:
209 err_msg = "Invalid NPA pf_func";
211 case NIX_AF_INVAL_SSO_PF_FUNC:
212 err_msg = "Invalid SSO pf_func";
214 case NIX_AF_ERR_TX_VTAG_NOSPC:
215 err_msg = "No space for Tx VTAG";
217 case NIX_AF_ERR_RX_VTAG_INUSE:
218 err_msg = "Rx VTAG is in use";
220 case NIX_AF_ERR_PTP_CONFIG_FAIL:
221 err_msg = "PTP config failed";
223 case SSO_ERR_DEVICE_NOT_BOUNDED:
224 err_msg = "SSO pf/vf not found";
227 err_msg = "file operation failed";
229 case UTIL_ERR_INVALID_MODEL:
230 err_msg = "Invalid RoC model";
234 * Handle general error (as defined in linux errno.h)
236 if (abs(errorcode) < 300)
237 err_msg = strerror(abs(errorcode));
239 err_msg = "Unknown error code";
247 roc_clk_freq_get(uint16_t *rclk_freq, uint16_t *sclk_freq)
249 *rclk_freq = dev_rclk_freq;
250 *sclk_freq = dev_sclk_freq;