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

tdm_td3_methods.h (6634B)


      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  * All Rights Reserved.$
      7  *
      8  * TDM function prototypes for BCM56870
      9  */
     10 
     11 #ifndef TDM_TD3_PREPROCESSOR_PROTOTYPES_H
     12 #define TDM_TD3_PREPROCESSOR_PROTOTYPES_H
     13 
     14 #ifdef _TDM_STANDALONE
     15 	#include <tdm_td3_soc.h>
     16 #else
     17 	#include <soc/tdm/trident3/tdm_td3_soc.h>
     18 #endif
     19 
     20 
     21 /* Chip executive polymorphic functions 
     22         tdm_td3_main_init
     23         tdm_td3_main_transcription
     24         tdm_td3_main_ingress
     25         tdm_td3_filter
     26         tdm_td3_parse_tdm_tbl
     27         tdm_td3_chk
     28         tdm_td3_main_free
     29         tdm_td3_main_corereq
     30         tdm_td3_main_post
     31 */
     32 
     33 /* Core executive polymorphic functions 
     34         tdm_td3_proc_cal
     35         tdm_td3_shim_get_port_pm
     36 */
     37 
     38 /* main */
     39 LINKER_DECL int  tdm_td3_main_corereq(tdm_mod_t *_tdm);
     40 LINKER_DECL int  tdm_td3_main_ingress_pipe(tdm_mod_t *_tdm);
     41 LINKER_DECL int  tdm_td3_main_ingress(tdm_mod_t *_tdm);
     42 LINKER_DECL int  tdm_td3_main_transcription(tdm_mod_t *_tdm);
     43 LINKER_DECL int  tdm_td3_main_init(tdm_mod_t *_tdm);
     44 LINKER_DECL int  tdm_td3_main_chk(tdm_mod_t *_tdm);
     45 LINKER_DECL int  tdm_td3_main_post(tdm_mod_t *_tdm);
     46 LINKER_DECL int  tdm_td3_main_free(tdm_mod_t *_tdm);
     47 
     48 /* proc */
     49 LINKER_DECL int  tdm_td3_proc_cal_ancl(tdm_mod_t *_tdm);
     50 LINKER_DECL int  tdm_td3_proc_cal_idle(tdm_mod_t *_tdm);
     51 LINKER_DECL int  tdm_td3_proc_cal_lr(tdm_mod_t *_tdm);
     52 LINKER_DECL int  tdm_td3_proc_cal(tdm_mod_t *_tdm);
     53 
     54 /* filter */
     55 LINKER_DECL int  tdm_td3_filter_chk_slot_shift_cond(int slot, int dir, int cal_len, int *cal_main, tdm_mod_t *_tdm);
     56 LINKER_DECL void tdm_td3_filter_calc_jitter(int speed, int cal_len, int *space_min, int *space_max);
     57 LINKER_DECL int  tdm_td3_filter_lr_jitter(tdm_mod_t *_tdm, int min_speed);
     58 LINKER_DECL int  tdm_td3_filter_lr(tdm_mod_t *_tdm);
     59 LINKER_DECL int  tdm_td3_filter(tdm_mod_t *_tdm);
     60 
     61 /* ovsb */
     62 LINKER_DECL int  tdm_td3_ovsb_apply_constraints_init(tdm_mod_t *_tdm);
     63 LINKER_DECL int  tdm_td3_ovsb_apply_constraints_flex(tdm_mod_t *_tdm);
     64 LINKER_DECL int  tdm_td3_ovsb_sel_grp_4_prt(tdm_mod_t *_tdm, int port_token);
     65 LINKER_DECL int  tdm_td3_ovsb_gen_os_grps_init(tdm_mod_t *_tdm);
     66 LINKER_DECL int  tdm_td3_ovsb_gen_os_grps_flex(tdm_mod_t *_tdm);
     67 LINKER_DECL int  tdm_td3_ovsb_gen_os_grps(tdm_mod_t *_tdm);
     68 LINKER_DECL int  tdm_td3_ovsb_gen_pkt_shaper_init(tdm_mod_t *_tdm);
     69 LINKER_DECL int  tdm_td3_ovsb_gen_pkt_shaper_flex(tdm_mod_t *_tdm);
     70 LINKER_DECL int  tdm_td3_ovsb_gen_pkt_shaper(tdm_mod_t *_tdm);
     71 LINKER_DECL int  tdm_td3_ovsb_gen_pm2pblk_map(tdm_mod_t *_tdm);
     72 LINKER_DECL int  tdm_td3_ovsb_consolidate_spipe(tdm_mod_t *_tdm, int spipe);
     73 LINKER_DECL int  tdm_td3_vbs_scheduler_ovs(tdm_mod_t *_tdm);
     74 
     75 /* parse */
     76 LINKER_DECL void tdm_td3_print_pipe_config(tdm_mod_t *_tdm);
     77 LINKER_DECL void tdm_td3_print_pipe_cal(tdm_mod_t *_tdm);
     78 LINKER_DECL int  tdm_td3_print_lr_cal(tdm_mod_t *_tdm, int cal_id);
     79 LINKER_DECL int  tdm_td3_parse_mgmt(tdm_mod_t *_tdm, int cal_id);
     80 LINKER_DECL int  tdm_td3_parse_acc_idb(tdm_mod_t *_tdm, int cal_id);
     81 LINKER_DECL int  tdm_td3_parse_acc_mmu(tdm_mod_t *_tdm, int cal_id);
     82 LINKER_DECL int  tdm_td3_parse_ancl(tdm_mod_t *_tdm, int cal_id);
     83 LINKER_DECL int  tdm_td3_parse_tdm_tbl(tdm_mod_t *_tdm);
     84 
     85 /* check */
     86 LINKER_DECL int  tdm_td3_chk_get_speed_slots_5G(enum port_speed_e port_speed);
     87 LINKER_DECL int  tdm_td3_chk_get_pipe_token_cnt(tdm_mod_t *_tdm, int cal_id, int port_token);
     88 LINKER_DECL int  tdm_td3_chk_struct_os_ratio(tdm_mod_t *_tdm, int cal_id, int os_ratio_limit);
     89 LINKER_DECL int  tdm_td3_chk_struct(tdm_mod_t *_tdm);
     90 LINKER_DECL int  tdm_td3_chk_transcription(tdm_mod_t *_tdm);
     91 LINKER_DECL int  tdm_td3_chk_sister(tdm_mod_t *_tdm);
     92 LINKER_DECL int  tdm_td3_chk_same(tdm_mod_t *_tdm);
     93 LINKER_DECL int  tdm_td3_chk_bandwidth_ancl(tdm_mod_t *_tdm);
     94 LINKER_DECL int  tdm_td3_chk_bandwidth_lr_pipe(tdm_mod_t *_tdm, int cal_id);
     95 LINKER_DECL int  tdm_td3_chk_bandwidth_os_pipe(tdm_mod_t *_tdm, int cal_id);
     96 LINKER_DECL int  tdm_td3_chk_bandwidth_lr(tdm_mod_t *_tdm);
     97 LINKER_DECL int  tdm_td3_chk_bandwidth_os(tdm_mod_t *_tdm);
     98 LINKER_DECL int  tdm_td3_chk_bandwidth(tdm_mod_t *_tdm);
     99 LINKER_DECL int  tdm_td3_chk_jitter_cmic(tdm_mod_t *_tdm, int cal_id);
    100 LINKER_DECL int  tdm_td3_chk_jitter_lr_pipe(tdm_mod_t *_tdm, int cal_id);
    101 LINKER_DECL int  tdm_td3_chk_jitter_lr(tdm_mod_t *_tdm);
    102 LINKER_DECL int  tdm_td3_chk_os_halfpipe(tdm_mod_t *_tdm, int cal_id);
    103 LINKER_DECL int  tdm_td3_chk_os_pkt_sched(tdm_mod_t *_tdm, int cal_id);
    104 LINKER_DECL int  tdm_td3_chk(tdm_mod_t *_tdm);
    105 
    106 /* shim */
    107 LINKER_DECL int  tdm_td3_shim_get_port_pm(tdm_mod_t *_tdm);
    108 LINKER_DECL int  tdm_td3_shim_get_pipe_ethernet(tdm_mod_t *_tdm);
    109 
    110 /* common */
    111 LINKER_DECL int  tdm_td3_cmn_chk_port_is_fp(tdm_mod_t *_tdm, int port_token);
    112 LINKER_DECL int  tdm_td3_cmn_chk_port_is_lr(tdm_mod_t *_tdm, int port_token);
    113 LINKER_DECL int  tdm_td3_cmn_chk_port_is_os(tdm_mod_t *_tdm, int port_token);
    114 LINKER_DECL int  tdm_td3_cmn_chk_port_is_hg(tdm_mod_t *_tdm, int port_token);
    115 LINKER_DECL int  tdm_td3_cmn_chk_port_is_mgmt(tdm_mod_t *_tdm, int port_token);
    116 LINKER_DECL int  tdm_td3_cmn_get_port_pm(tdm_mod_t *_tdm, int port_token);
    117 LINKER_DECL int  tdm_td3_cmn_get_port_speed(tdm_mod_t *_tdm, int port_token);
    118 LINKER_DECL int  tdm_td3_cmn_get_port_speed_eth(tdm_mod_t *_tdm, int port_token);
    119 LINKER_DECL int  tdm_td3_cmn_get_port_state(tdm_mod_t *_tdm, int port_token);
    120 LINKER_DECL int  tdm_td3_cmn_get_same_port_dist(int slot, int dir, int *cal_main, int cal_len);
    121 LINKER_DECL int  tdm_td3_cmn_get_speed_lanes(int port_speed);
    122 LINKER_DECL int  tdm_td3_cmn_get_speed_slots(int port_speed);
    123 LINKER_DECL int  tdm_td3_cmn_get_port_slots(tdm_mod_t *_tdm, int port_token);
    124 LINKER_DECL void tdm_td3_cmn_get_speed_jitter(int port_speed, int cal_len, int *space_min, int *space_max);
    125 LINKER_DECL void tdm_td3_cmn_get_pipe_port_range(int cal_id, int *phy_lo, int *phy_hi);
    126 LINKER_DECL void tdm_td3_cmn_get_pipe_port_lo_hi(tdm_mod_t *_tdm, int *phy_lo, int *phy_hi);
    127 LINKER_DECL void tdm_td3_cmn_get_pipe_pm_lo_hi(tdm_mod_t *_tdm, int *pm_lo, int *pm_hi);
    128 LINKER_DECL int  tdm_td3_cmn_get_pipe_ethernet(tdm_mod_t *_tdm, int cal_id);
    129 LINKER_DECL int  tdm_td3_cmn_get_pipe_higig(tdm_mod_t *_tdm, int cal_id);
    130 LINKER_DECL int  tdm_td3_cmn_get_pipe_cal_len_max(tdm_mod_t *_tdm, int cal_id);
    131 LINKER_DECL int  tdm_td3_cmn_get_pipe_cal_len(tdm_mod_t *_tdm, int cal_id);
    132 LINKER_DECL tdm_calendar_t *tdm_td3_cmn_get_pipe_cal(tdm_mod_t *_tdm);
    133 LINKER_DECL tdm_calendar_t *tdm_td3_cmn_get_pipe_cal_prev(tdm_mod_t *_tdm);
    134 
    135 
    136 #endif /* TDM_TD3_PREPROCESSOR_PROTOTYPES_H */