preemption.h (2804B)
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 #ifndef _BCM_INT_PREEMPTION_H 8 #define _BCM_INT_PREEMPTION_H 9 10 #include <bcm/port.h> 11 12 #if defined(BCM_PREEMPTION_SUPPORT) 13 extern int 14 bcmi_esw_preemption_mac_config_set(int unit, bcm_port_t port, 15 bcm_port_preempt_control_t type, 16 uint32 arg); 17 extern int 18 bcmi_esw_preemption_hold_request_mode_set(int unit, bcm_port_t port, 19 uint32 arg); 20 extern int 21 bcmi_esw_preemption_queue_bitmap_set(int unit, bcm_port_t port, 22 uint32 arg); 23 extern int 24 bcmi_esw_preemption_capability_set(int unit, bcm_port_t port, 25 uint32 arg); 26 extern int 27 bcmi_esw_preemption_frag_config_tx_set(int unit, bcm_port_t port, 28 int is_final, uint32 arg); 29 extern int 30 bcmi_esw_preemption_mac_config_get(int unit, bcm_port_t port, 31 bcm_port_preempt_control_t type, 32 uint32* arg); 33 extern int 34 bcmi_esw_preemption_hold_request_mode_get(int unit, bcm_port_t port, 35 uint32* arg); 36 extern int 37 bcmi_esw_preemption_queue_bitmap_get(int unit, bcm_port_t port, 38 uint32* arg); 39 extern int 40 bcmi_esw_preemption_capability_get(int unit, bcm_port_t port, 41 uint32* arg); 42 extern int 43 bcmi_esw_preemption_frag_config_tx_get(int unit, bcm_port_t port, 44 int is_final, uint32* arg); 45 extern int 46 bcmi_esw_preemption_status_tx_get(int unit, bcm_port_t port, 47 uint32* value); 48 extern int 49 bcmi_esw_preemption_status_verify_get(int unit, bcm_port_t port, 50 uint32* value); 51 extern void 52 bcmi_esw_preemption_linkscan_cb(int unit, bcm_port_t port, 53 bcm_port_info_t *info); 54 extern void 55 bcmi_esw_preemption_linkscan_update(int unit, 56 bcm_port_t port, 57 bcm_port_info_t *portInfo); 58 extern int 59 bcmi_esw_preemption_init(int unit); 60 61 extern void 62 bcmi_esw_preemption_cleanup(int unit); 63 #ifdef BCM_WARM_BOOT_SUPPORT 64 extern int 65 bcmi_esw_preemption_sync(int unit, soc_scache_handle_t scache_handle); 66 67 extern int 68 bcmi_esw_preemption_wb_alloc(int unit, soc_scache_handle_t scache_handle); 69 70 extern int 71 bcmi_esw_preemption_recover(int unit, soc_scache_handle_t scache_handle); 72 #endif /* BCM_WARM_BOOT_SUPPORT */ 73 74 #endif /* BCM_PREEMPTION_SUPPORT */ 75 #endif /* !_BCM_INT_PREEMPTION_H */