1/* 2 * Copyright (c) 2012, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15 16#ifndef _ISISC_QOS_H_ 17#define _ISISC_QOS_H_ 18 19#ifdef __cplusplus 20extern "C" { 21#endif /* __cplusplus */ 22 23#include "fal/fal_qos.h" 24 25 sw_error_t isisc_qos_init(a_uint32_t dev_id); 26 27#ifdef IN_QOS 28#define ISISC_QOS_INIT(rv, dev_id) \ 29 { \ 30 rv = isisc_qos_init(dev_id); \ 31 SW_RTN_ON_ERROR(rv); \ 32 } 33#else 34#define ISISC_QOS_INIT(rv, dev_id) 35#endif 36 37#ifdef HSL_STANDALONG 38 39 40 HSL_LOCAL sw_error_t 41 isisc_qos_queue_tx_buf_status_set(a_uint32_t dev_id, 42 fal_port_t port_id, a_bool_t enable); 43 44 45 HSL_LOCAL sw_error_t 46 isisc_qos_queue_tx_buf_status_get(a_uint32_t dev_id, 47 fal_port_t port_id, 48 a_bool_t * enable); 49 50 HSL_LOCAL sw_error_t 51 isisc_qos_port_tx_buf_status_set(a_uint32_t dev_id, fal_port_t port_id, 52 a_bool_t enable); 53 54 55 HSL_LOCAL sw_error_t 56 isisc_qos_port_tx_buf_status_get(a_uint32_t dev_id, fal_port_t port_id, 57 a_bool_t * enable); 58 59 HSL_LOCAL sw_error_t 60 isisc_qos_port_red_en_set(a_uint32_t dev_id, fal_port_t port_id, 61 a_bool_t enable); 62 63 HSL_LOCAL sw_error_t 64 isisc_qos_port_red_en_get(a_uint32_t dev_id, fal_port_t port_id, 65 a_bool_t* enable); 66 67 68 HSL_LOCAL sw_error_t 69 isisc_qos_queue_tx_buf_nr_set(a_uint32_t dev_id, fal_port_t port_id, 70 fal_queue_t queue_id, 71 a_uint32_t * number); 72 73 74 HSL_LOCAL sw_error_t 75 isisc_qos_queue_tx_buf_nr_get(a_uint32_t dev_id, fal_port_t port_id, 76 fal_queue_t queue_id, 77 a_uint32_t * number); 78 79 80 HSL_LOCAL sw_error_t 81 isisc_qos_port_tx_buf_nr_set(a_uint32_t dev_id, fal_port_t port_id, 82 a_uint32_t * number); 83 84 85 HSL_LOCAL sw_error_t 86 isisc_qos_port_tx_buf_nr_get(a_uint32_t dev_id, fal_port_t port_id, 87 a_uint32_t * number); 88 89 90 HSL_LOCAL sw_error_t 91 isisc_qos_port_rx_buf_nr_set(a_uint32_t dev_id, fal_port_t port_id, 92 a_uint32_t * number); 93 94 95 HSL_LOCAL sw_error_t 96 isisc_qos_port_rx_buf_nr_get(a_uint32_t dev_id, fal_port_t port_id, 97 a_uint32_t * number); 98 99 100 HSL_LOCAL sw_error_t 101 isisc_qos_port_mode_set(a_uint32_t dev_id, fal_port_t port_id, 102 fal_qos_mode_t mode, a_bool_t enable); 103 104 105 HSL_LOCAL sw_error_t 106 isisc_qos_port_mode_get(a_uint32_t dev_id, fal_port_t port_id, 107 fal_qos_mode_t mode, a_bool_t * enable); 108 109 110 HSL_LOCAL sw_error_t 111 isisc_qos_port_mode_pri_set(a_uint32_t dev_id, fal_port_t port_id, 112 fal_qos_mode_t mode, a_uint32_t pri); 113 114 115 HSL_LOCAL sw_error_t 116 isisc_qos_port_mode_pri_get(a_uint32_t dev_id, fal_port_t port_id, 117 fal_qos_mode_t mode, a_uint32_t * pri); 118 119 120 HSL_LOCAL sw_error_t 121 isisc_qos_port_sch_mode_set(a_uint32_t dev_id, a_uint32_t port_id, 122 fal_sch_mode_t mode, const a_uint32_t weight[]); 123 124 125 HSL_LOCAL sw_error_t 126 isisc_qos_port_sch_mode_get(a_uint32_t dev_id, a_uint32_t port_id, 127 fal_sch_mode_t * mode, a_uint32_t weight[]); 128 129 HSL_LOCAL sw_error_t 130 isisc_qos_port_default_spri_set(a_uint32_t dev_id, fal_port_t port_id, 131 a_uint32_t spri); 132 133 134 HSL_LOCAL sw_error_t 135 isisc_qos_port_default_spri_get(a_uint32_t dev_id, fal_port_t port_id, 136 a_uint32_t * spri); 137 138 139 HSL_LOCAL sw_error_t 140 isisc_qos_port_default_cpri_set(a_uint32_t dev_id, fal_port_t port_id, 141 a_uint32_t cpri); 142 143 144 HSL_LOCAL sw_error_t 145 isisc_qos_port_default_cpri_get(a_uint32_t dev_id, fal_port_t port_id, 146 a_uint32_t * cpri); 147 148 sw_error_t 149 isisc_qos_port_force_spri_status_set(a_uint32_t dev_id, fal_port_t port_id, 150 a_bool_t enable); 151 152 sw_error_t 153 isisc_qos_port_force_spri_status_get(a_uint32_t dev_id, fal_port_t port_id, 154 a_bool_t* enable); 155 156 sw_error_t 157 isisc_qos_port_force_cpri_status_set(a_uint32_t dev_id, fal_port_t port_id, 158 a_bool_t enable); 159 160 sw_error_t 161 isisc_qos_port_force_cpri_status_get(a_uint32_t dev_id, fal_port_t port_id, 162 a_bool_t* enable); 163 164 HSL_LOCAL sw_error_t 165 isisc_qos_queue_remark_table_set(a_uint32_t dev_id, fal_port_t port_id, 166 fal_queue_t queue_id, a_uint32_t tbl_id, a_bool_t enable); 167 168 169 HSL_LOCAL sw_error_t 170 isisc_qos_queue_remark_table_get(a_uint32_t dev_id, fal_port_t port_id, 171 fal_queue_t queue_id, a_uint32_t * tbl_id, a_bool_t * enable); 172 173 174#endif 175 176#ifdef __cplusplus 177} 178#endif /* __cplusplus */ 179#endif /* _ISISC_QOS_H_ */ 180 181