1#ifndef _RTL8367C_ASICDRV_SCHEDULING_H_ 2#define _RTL8367C_ASICDRV_SCHEDULING_H_ 3 4#include <rtl8367c_asicdrv.h> 5 6#define RTL8367C_QWEIGHTMAX 0x7F 7#define RTL8367C_PORT_QUEUE_METER_INDEX_MAX 7 8 9/* enum for queue type */ 10enum QUEUETYPE 11{ 12 QTYPE_STRICT = 0, 13 QTYPE_WFQ, 14}; 15extern ret_t rtl8367c_setAsicLeakyBucketParameter(rtk_uint32 tick, rtk_uint32 token); 16extern ret_t rtl8367c_getAsicLeakyBucketParameter(rtk_uint32 *tick, rtk_uint32 *token); 17extern ret_t rtl8367c_setAsicAprMeter(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 apridx); 18extern ret_t rtl8367c_getAsicAprMeter(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 *apridx); 19extern ret_t rtl8367c_setAsicPprMeter(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 ppridx); 20extern ret_t rtl8367c_getAsicPprMeter(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 *ppridx); 21extern ret_t rtl8367c_setAsicAprEnable(rtk_uint32 port, rtk_uint32 aprEnable); 22extern ret_t rtl8367c_getAsicAprEnable(rtk_uint32 port, rtk_uint32 *aprEnable); 23extern ret_t rtl8367c_setAsicPprEnable(rtk_uint32 port, rtk_uint32 pprEnable); 24extern ret_t rtl8367c_getAsicPprEnable(rtk_uint32 port, rtk_uint32 *pprEnable); 25 26extern ret_t rtl8367c_setAsicWFQWeight(rtk_uint32, rtk_uint32 queueid, rtk_uint32 weight ); 27extern ret_t rtl8367c_getAsicWFQWeight(rtk_uint32, rtk_uint32 queueid, rtk_uint32 *weight ); 28extern ret_t rtl8367c_setAsicWFQBurstSize(rtk_uint32 burstsize); 29extern ret_t rtl8367c_getAsicWFQBurstSize(rtk_uint32 *burstsize); 30 31extern ret_t rtl8367c_setAsicQueueType(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 queueType); 32extern ret_t rtl8367c_getAsicQueueType(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 *queueType); 33extern ret_t rtl8367c_setAsicQueueRate(rtk_uint32 port, rtk_uint32 qid, rtk_uint32 ppridx, rtk_uint32 apridx ); 34extern ret_t rtl8367c_getAsicQueueRate(rtk_uint32 port, rtk_uint32 qid, rtk_uint32* ppridx, rtk_uint32* apridx ); 35extern ret_t rtl8367c_setAsicPortEgressRate(rtk_uint32 port, rtk_uint32 rate); 36extern ret_t rtl8367c_getAsicPortEgressRate(rtk_uint32 port, rtk_uint32 *rate); 37extern ret_t rtl8367c_setAsicPortEgressRateIfg(rtk_uint32 ifg); 38extern ret_t rtl8367c_getAsicPortEgressRateIfg(rtk_uint32 *ifg); 39 40#endif /*_RTL8367C_ASICDRV_SCHEDULING_H_*/ 41 42