Branch data Line data Source code
1 : : /* SPDX-License-Identifier: BSD-3-Clause 2 : : * Copyright(C) 2022 Marvell. 3 : : */ 4 : : #ifndef _ROC_FEATURES_H_ 5 : : #define _ROC_FEATURES_H_ 6 : : 7 : : static inline bool 8 : : roc_feature_sso_has_stash(void) 9 : : { 10 [ # # ]: 0 : return (roc_model_is_cn10kb() | roc_model_is_cn10ka_b0()) ? true : false; 11 : : } 12 : : 13 : : static inline bool 14 : : roc_feature_nix_has_inl_ipsec_mseg(void) 15 : : { 16 [ # # # # : 0 : return (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()); # # # # # # # # ] 17 : : } 18 : : 19 : : static inline bool 20 : : roc_feature_nix_has_drop_re_mask(void) 21 : : { 22 [ # # # # : 0 : return (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()); # # ] 23 : : } 24 : : 25 : : static inline bool 26 : : roc_feature_nix_has_inl_rq_mask(void) 27 : : { 28 [ # # # # : 0 : return (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()); # # # # # # # # ] 29 : : } 30 : : 31 : : static inline bool 32 : : roc_feature_nix_has_own_meta_aura(void) 33 : : { 34 [ # # # # : 0 : return (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()); # # ] 35 : : } 36 : : 37 : : static inline bool 38 : : roc_feature_nix_has_late_bp(void) 39 : : { 40 [ # # # # : 0 : return (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()); # # # # # # # # # # # # # # # # # # # # ] 41 : : } 42 : : 43 : : static inline bool 44 : : roc_feature_nix_has_reass(void) 45 : : { 46 : : return roc_model_is_cn10ka(); 47 : : } 48 : : 49 : : static inline bool 50 : : roc_feature_nix_has_cqe_stash(void) 51 : : { 52 : : return roc_model_is_cn10ka_b0(); 53 : : } 54 : : 55 : : static inline bool 56 : : roc_feature_nix_has_rxchan_multi_bpid(void) 57 : : { 58 [ # # # # : 0 : if (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()) # # # # # # # # ] 59 : : return true; 60 : : return false; 61 : : } 62 : : 63 : : static inline bool 64 : : roc_feature_nix_has_age_drop_stats(void) 65 : : { 66 [ # # # # : 0 : return (roc_model_is_cn10kb() || roc_model_is_cn10ka_b0()); # # ] 67 : : } 68 : : 69 : : static inline bool 70 : : roc_feature_nix_has_macsec(void) 71 : : { 72 : : return roc_model_is_cn10kb(); 73 : : } 74 : : 75 : : static inline bool 76 : : roc_feature_bphy_has_macsec(void) 77 : : { 78 : : return roc_model_is_cnf10kb(); 79 : : } 80 : : 81 : : static inline bool 82 : : roc_feature_nix_has_inl_ipsec(void) 83 : : { 84 : : return !roc_model_is_cnf10kb(); 85 : : } 86 : : 87 : : static inline bool 88 : : roc_feature_nix_has_rx_inject(void) 89 : : { 90 [ # # # # : 0 : return (roc_model_is_cn10ka_b0() || roc_model_is_cn10kb()); # # ] 91 : : } 92 : : 93 : : static inline bool 94 : : roc_feature_nix_has_second_pass_drop(void) 95 : : { 96 : : return 0; 97 : : } 98 : : 99 : : static inline bool 100 : : roc_feature_dpi_has_priority(void) 101 : : { 102 : : return roc_model_is_cn10k(); 103 : : } 104 : : 105 : : #endif