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

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