|
@@ -6836,16 +6836,28 @@ static int ipa3_post_init(const struct ipa3_plat_drv_res *resource_p,
|
|
|
INIT_LIST_HEAD(&flt_tbl->head_flt_rule_list);
|
|
|
flt_tbl->in_sys[IPA_RULE_HASHABLE] =
|
|
|
!ipa3_ctx->ip4_flt_tbl_hash_lcl;
|
|
|
- flt_tbl->in_sys[IPA_RULE_NON_HASHABLE] =
|
|
|
+ /* For ETH client place Non-Hash FLT table in SRAM if allowed, for
|
|
|
+ all other EPs always place the table in DDR */
|
|
|
+ if (IPA_CLIENT_IS_ETH_PROD(i))
|
|
|
+ flt_tbl->in_sys[IPA_RULE_NON_HASHABLE] =
|
|
|
!ipa3_ctx->ip4_flt_tbl_nhash_lcl;
|
|
|
+ else
|
|
|
+ flt_tbl->in_sys[IPA_RULE_NON_HASHABLE] = true;
|
|
|
+
|
|
|
flt_tbl->rule_ids = &ipa3_ctx->flt_rule_ids[IPA_IP_v4];
|
|
|
|
|
|
flt_tbl = &ipa3_ctx->flt_tbl[i][IPA_IP_v6];
|
|
|
INIT_LIST_HEAD(&flt_tbl->head_flt_rule_list);
|
|
|
flt_tbl->in_sys[IPA_RULE_HASHABLE] =
|
|
|
!ipa3_ctx->ip6_flt_tbl_hash_lcl;
|
|
|
- flt_tbl->in_sys[IPA_RULE_NON_HASHABLE] =
|
|
|
+ /* For ETH client place Non-Hash FLT table in SRAM if allowed, for
|
|
|
+ all other EPs always place the table in DDR */
|
|
|
+ if (IPA_CLIENT_IS_ETH_PROD(i))
|
|
|
+ flt_tbl->in_sys[IPA_RULE_NON_HASHABLE] =
|
|
|
!ipa3_ctx->ip6_flt_tbl_nhash_lcl;
|
|
|
+ else
|
|
|
+ flt_tbl->in_sys[IPA_RULE_NON_HASHABLE] = true;
|
|
|
+
|
|
|
flt_tbl->rule_ids = &ipa3_ctx->flt_rule_ids[IPA_IP_v6];
|
|
|
}
|
|
|
|