openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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_*/