iqs_tune.h (1893B)
1 /* 2 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 3 * 4 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 5 */ 6 /** \file bcm_int/dnx/tune/iqs_tune.h 7 * Tuning for ingress queue scheduler. 8 * 9 * Reserved.$ 10 */ 11 12 #ifndef _DNX_IQS_TUNE_H_INCLUDED_ 13 /* 14 * { 15 */ 16 #define _DNX_IQS_TUNE_H_INCLUDED_ 17 18 #ifndef BCM_DNX_SUPPORT 19 #error "This file is for use by DNX (JR2) family only!" 20 #endif 21 22 #include <bcm/cosq.h> 23 #include <shared/shrextend/shrextend_error.h> 24 25 /** 26 * \brief - Getting the recommended values for credit request profile. 27 * This set of thresholds could be assign to credit request profile by API bcm_cosq_delay_tolerance_level_set() 28 * 29 * \param [in] unit - Unit-ID 30 * \param [in] preset_attr - profile attributes used to calculate the recommended thresholds 31 * \param [out] delay_tolerance - the recommended thresholds 32 * 33 * \return 34 * shr_error_e 35 * \remark 36 * * None 37 * \see 38 * * None 39 */ 40 shr_error_e dnx_tune_iqs_delay_tolerance_preset_get( 41 int unit, 42 bcm_cosq_delay_tolerance_preset_attr_t * preset_attr, 43 bcm_cosq_delay_tolerance_t * delay_tolerance); 44 45 /** 46 * \brief - 47 * Convert rate to required credit resolution 48 * 49 * \param [in] unit - Unit-ID 50 * \param [in] bw_level - level # 51 * \param [out] credit_resolution - required credit resolution 52 * 53 * \return 54 * See shr_error_e 55 * \remark 56 * * None 57 * \see 58 * * None 59 */ 60 shr_error_e dnx_tune_iqs_bw_level_to_credit_resolution_get( 61 int unit, 62 int bw_level, 63 int *credit_resolution); 64 65 /** 66 * \brief - Tune Ingress Queue Scheduler: 67 * Enable and configures credit watchdog mechanism 68 * 69 * \param [in] unit - Unit-ID 70 * 71 * \return 72 * shr_error_e 73 * \remark 74 * * None 75 * \see 76 * * None 77 */ 78 shr_error_e dnx_tune_iqs_init( 79 int unit); 80 81 /** } */ 82 #endif /*_DNX_IQS_TUNE_H_INCLUDED_*/