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/** 17 * @defgroup shiva_qos SHIVA_QOS 18 * @{ 19 */ 20#ifndef _SHIVA_QOS_H_ 21#define _SHIVA_QOS_H_ 22 23#ifdef __cplusplus 24extern "C" { 25#endif /* __cplusplus */ 26 27#include "fal/fal_qos.h" 28 29 sw_error_t shiva_qos_init(a_uint32_t dev_id); 30 31#ifdef IN_QOS 32#define SHIVA_QOS_INIT(rv, dev_id) \ 33 { \ 34 rv = shiva_qos_init(dev_id); \ 35 SW_RTN_ON_ERROR(rv); \ 36 } 37#else 38#define SHIVA_QOS_INIT(rv, dev_id) 39#endif 40 41#ifdef HSL_STANDALONG 42 43 44 HSL_LOCAL sw_error_t 45 shiva_qos_queue_tx_buf_status_set(a_uint32_t dev_id, 46 fal_port_t port_id, a_bool_t enable); 47 48 49 HSL_LOCAL sw_error_t 50 shiva_qos_queue_tx_buf_status_get(a_uint32_t dev_id, 51 fal_port_t port_id, 52 a_bool_t * enable); 53 54 HSL_LOCAL sw_error_t 55 shiva_qos_port_tx_buf_status_set(a_uint32_t dev_id, fal_port_t port_id, 56 a_bool_t enable); 57 58 59 HSL_LOCAL sw_error_t 60 shiva_qos_port_tx_buf_status_get(a_uint32_t dev_id, fal_port_t port_id, 61 a_bool_t * enable); 62 63 64 HSL_LOCAL sw_error_t 65 shiva_qos_queue_tx_buf_nr_set(a_uint32_t dev_id, fal_port_t port_id, 66 fal_queue_t queue_id, 67 a_uint32_t * number); 68 69 70 HSL_LOCAL sw_error_t 71 shiva_qos_queue_tx_buf_nr_get(a_uint32_t dev_id, fal_port_t port_id, 72 fal_queue_t queue_id, 73 a_uint32_t * number); 74 75 76 HSL_LOCAL sw_error_t 77 shiva_qos_port_tx_buf_nr_set(a_uint32_t dev_id, fal_port_t port_id, 78 a_uint32_t * number); 79 80 81 HSL_LOCAL sw_error_t 82 shiva_qos_port_tx_buf_nr_get(a_uint32_t dev_id, fal_port_t port_id, 83 a_uint32_t * number); 84 85 86 HSL_LOCAL sw_error_t 87 shiva_qos_port_rx_buf_nr_set(a_uint32_t dev_id, fal_port_t port_id, 88 a_uint32_t * number); 89 90 91 HSL_LOCAL sw_error_t 92 shiva_qos_port_rx_buf_nr_get(a_uint32_t dev_id, fal_port_t port_id, 93 a_uint32_t * number); 94 95 96 HSL_LOCAL sw_error_t 97 shiva_cosmap_up_queue_set(a_uint32_t dev_id, a_uint32_t up, 98 fal_queue_t queue); 99 100 101 HSL_LOCAL sw_error_t 102 shiva_cosmap_up_queue_get(a_uint32_t dev_id, a_uint32_t up, 103 fal_queue_t * queue); 104 105 106 HSL_LOCAL sw_error_t 107 shiva_cosmap_dscp_queue_set(a_uint32_t dev_id, a_uint32_t dscp, 108 fal_queue_t queue); 109 110 111 HSL_LOCAL sw_error_t 112 shiva_cosmap_dscp_queue_get(a_uint32_t dev_id, a_uint32_t dscp, 113 fal_queue_t * queue); 114 115 116 HSL_LOCAL sw_error_t 117 shiva_qos_port_mode_set(a_uint32_t dev_id, fal_port_t port_id, 118 fal_qos_mode_t mode, a_bool_t enable); 119 120 121 HSL_LOCAL sw_error_t 122 shiva_qos_port_mode_get(a_uint32_t dev_id, fal_port_t port_id, 123 fal_qos_mode_t mode, a_bool_t * enable); 124 125 126 HSL_LOCAL sw_error_t 127 shiva_qos_port_mode_pri_set(a_uint32_t dev_id, fal_port_t port_id, 128 fal_qos_mode_t mode, a_uint32_t pri); 129 130 131 HSL_LOCAL sw_error_t 132 shiva_qos_port_mode_pri_get(a_uint32_t dev_id, fal_port_t port_id, 133 fal_qos_mode_t mode, a_uint32_t * pri); 134 135 136 HSL_LOCAL sw_error_t 137 shiva_qos_port_default_up_set(a_uint32_t dev_id, fal_port_t port_id, 138 a_uint32_t up); 139 140 141 HSL_LOCAL sw_error_t 142 shiva_qos_port_default_up_get(a_uint32_t dev_id, fal_port_t port_id, 143 a_uint32_t * up); 144 145 146 HSL_LOCAL sw_error_t 147 shiva_qos_port_sch_mode_set(a_uint32_t dev_id, a_uint32_t port_id, 148 fal_sch_mode_t mode, const a_uint32_t weight[]); 149 150 151 HSL_LOCAL sw_error_t 152 shiva_qos_port_sch_mode_get(a_uint32_t dev_id, a_uint32_t port_id, 153 fal_sch_mode_t * mode, a_uint32_t weight[]); 154 155 156#endif 157 158#ifdef __cplusplus 159} 160#endif /* __cplusplus */ 161#endif /* _SHIVA_QOS_H_ */ 162/** 163 * @} 164 */ 165