tomahawk2_ep_flexport.h (2071B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * $File: tomahawk2_ep_flexport.h 8 */ 9 10 11 #ifndef TOMAHAWK2_EP_FLEXPORT_H 12 #define TOMAHAWK2_EP_FLEXPORT_H 13 14 /* Transmit Start Count */ 15 typedef struct soc_th2_edb_xmit_start_count_s { 16 /* NOTE: DON'T ALTER FIELD ORDER */ 17 uint8 line_rate; /* Line-rate */ 18 uint8 oversub_3_2; /* 3:2 Oversub */ 19 uint8 oversub_2_1; /* 2:1 Oversub */ 20 } soc_th2_edb_xmit_start_count_t; 21 22 /* EP2MMU and Prebuffer core config */ 23 typedef struct soc_th2_ep_cfg_s { 24 /* NOTE: DON'T ALTER FIELD ORDER */ 25 int speed; 26 int egr_mmu_credit; /* Baseline */ 27 int egr_mmu_credit_max_freq; /* PFC Optimized */ 28 soc_th2_edb_xmit_start_count_t xmit_cnt_l2_latency; /* L2 Latency Mode */ 29 soc_th2_edb_xmit_start_count_t xmit_cnt_l3_latency; /* L3, Full Latency Modes */ 30 soc_th2_edb_xmit_start_count_t xmit_cnt_full_latency;/* L3, Full Latency Modes */ 31 } soc_th2_ep_core_cfg_t; 32 33 34 extern int soc_tomahawk2_flex_ep_port_down( 35 int unit, soc_port_schedule_state_t *port_schedule_state); 36 37 38 extern int 39 soc_tomahawk2_flex_ep_reconfigure_remove( 40 int unit, soc_port_schedule_state_t *port_schedule_state); 41 42 43 extern int 44 soc_tomahawk2_flex_ep_reconfigure_add( 45 int unit, soc_port_schedule_state_t *port_schedule_state); 46 47 48 extern int soc_tomahawk2_flex_ep_port_up( 49 int unit, soc_port_schedule_state_t *port_schedule_state); 50 51 52 extern int 53 soc_tomahawk2_ep_display_xmit_cnt( 54 int unit, soc_port_schedule_state_t *port_schedule_state); 55 56 57 extern int 58 soc_tomahawk2_ep_flexport_remove_ports_shim( 59 int unit, soc_port_schedule_state_t *port_schedule_state); 60 61 62 extern int 63 soc_tomahawk2_ep_flexport_add_ports_shim( 64 int unit, soc_port_schedule_state_t *port_schedule_state); 65 66 67 extern int 68 soc_tomahawk2_ep_flexport_enable_ports_shim( 69 int unit, soc_port_schedule_state_t *port_schedule_state); 70 71 72 #endif