1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(C) 2021 Marvell. 3 */ 4 #include <rte_log.h> 5 #include <rte_tm_driver.h> 6 7 #include "roc_api.h" 8 #include "roc_priv.h" 9 10 #include "cnxk_utils.h" 11 12 int roc_nix_tm_err_to_rte_err(int errorcode)13roc_nix_tm_err_to_rte_err(int errorcode) 14 { 15 int err_type; 16 17 switch (errorcode) { 18 case NIX_ERR_TM_SHAPER_PKT_LEN_ADJUST: 19 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PKT_ADJUST_LEN; 20 break; 21 case NIX_ERR_TM_INVALID_COMMIT_SZ: 22 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_SIZE; 23 break; 24 case NIX_ERR_TM_INVALID_COMMIT_RATE: 25 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_COMMITTED_RATE; 26 break; 27 case NIX_ERR_TM_INVALID_PEAK_SZ: 28 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_SIZE; 29 break; 30 case NIX_ERR_TM_INVALID_PEAK_RATE: 31 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_PEAK_RATE; 32 break; 33 case NIX_ERR_TM_INVALID_SHAPER_PROFILE: 34 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID; 35 break; 36 case NIX_ERR_TM_SHAPER_PROFILE_IN_USE: 37 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE; 38 break; 39 case NIX_ERR_TM_INVALID_NODE: 40 err_type = RTE_TM_ERROR_TYPE_NODE_ID; 41 break; 42 case NIX_ERR_TM_PKT_MODE_MISMATCH: 43 err_type = RTE_TM_ERROR_TYPE_SHAPER_PROFILE_ID; 44 break; 45 case NIX_ERR_TM_INVALID_PARENT: 46 case NIX_ERR_TM_PARENT_PRIO_UPDATE: 47 err_type = RTE_TM_ERROR_TYPE_NODE_PARENT_NODE_ID; 48 break; 49 case NIX_ERR_TM_PRIO_ORDER: 50 case NIX_ERR_TM_MULTIPLE_RR_GROUPS: 51 err_type = RTE_TM_ERROR_TYPE_NODE_PRIORITY; 52 break; 53 case NIX_ERR_TM_PRIO_EXCEEDED: 54 err_type = RTE_TM_ERROR_TYPE_CAPABILITIES; 55 break; 56 default: 57 /** 58 * Handle general error (as defined in linux errno.h) 59 */ 60 if (abs(errorcode) < 300) 61 err_type = errorcode; 62 else 63 err_type = RTE_TM_ERROR_TYPE_UNSPECIFIED; 64 break; 65 } 66 67 return err_type; 68 } 69