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 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 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 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 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 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 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 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 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 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 106