@@ -4268,7 +4268,7 @@ static int bnxt_alloc_vnic_attributes(struct bnxt *bp)
42684268 goto out ;
42694269 }
42704270vnic_skip_grps :
4271- if ((bp -> flags & BNXT_FLAG_NEW_RSS_CAP ) &&
4271+ if ((bp -> rss_cap & BNXT_RSS_CAP_NEW_RSS_CAP ) &&
42724272 !(vnic -> flags & BNXT_VNIC_RSS_FLAG ))
42734273 continue ;
42744274
@@ -5765,7 +5765,8 @@ static int bnxt_hwrm_vnic_qcaps(struct bnxt *bp)
57655765 int rc ;
57665766
57675767 bp -> hw_ring_stats_size = sizeof (struct ctx_hw_stats );
5768- bp -> flags &= ~(BNXT_FLAG_NEW_RSS_CAP | BNXT_FLAG_ROCE_MIRROR_CAP );
5768+ bp -> flags &= ~BNXT_FLAG_ROCE_MIRROR_CAP ;
5769+ bp -> rss_cap &= ~BNXT_RSS_CAP_NEW_RSS_CAP ;
57695770 if (bp -> hwrm_spec_code < 0x10600 )
57705771 return 0 ;
57715772
@@ -5780,7 +5781,7 @@ static int bnxt_hwrm_vnic_qcaps(struct bnxt *bp)
57805781
57815782 if (!(bp -> flags & BNXT_FLAG_CHIP_P5_PLUS ) &&
57825783 (flags & VNIC_QCAPS_RESP_FLAGS_RSS_DFLT_CR_CAP ))
5783- bp -> flags |= BNXT_FLAG_NEW_RSS_CAP ;
5784+ bp -> rss_cap |= BNXT_RSS_CAP_NEW_RSS_CAP ;
57845785 if (flags &
57855786 VNIC_QCAPS_RESP_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_CAP )
57865787 bp -> flags |= BNXT_FLAG_ROCE_MIRROR_CAP ;
@@ -5793,7 +5794,7 @@ static int bnxt_hwrm_vnic_qcaps(struct bnxt *bp)
57935794 !(bp -> fw_cap & BNXT_FW_CAP_EXT_HW_STATS_SUPPORTED )))
57945795 bp -> fw_cap |= BNXT_FW_CAP_VLAN_RX_STRIP ;
57955796 if (flags & VNIC_QCAPS_RESP_FLAGS_RSS_HASH_TYPE_DELTA_CAP )
5796- bp -> fw_cap |= BNXT_FW_CAP_RSS_HASH_TYPE_DELTA ;
5797+ bp -> rss_cap |= BNXT_RSS_CAP_RSS_HASH_TYPE_DELTA ;
57975798 bp -> max_tpa_v2 = le16_to_cpu (resp -> max_aggs_supported );
57985799 if (bp -> max_tpa_v2 ) {
57995800 if (BNXT_CHIP_P5 (bp ))
@@ -6456,7 +6457,7 @@ __bnxt_hwrm_reserve_pf_rings(struct bnxt *bp, int tx_rings, int rx_rings,
64566457 req -> num_cmpl_rings = cpu_to_le16 (cp_rings );
64576458 req -> num_hw_ring_grps = cpu_to_le16 (ring_grps );
64586459 req -> num_rsscos_ctxs = cpu_to_le16 (1 );
6459- if (!(bp -> flags & BNXT_FLAG_NEW_RSS_CAP ) &&
6460+ if (!(bp -> rss_cap & BNXT_RSS_CAP_NEW_RSS_CAP ) &&
64606461 bnxt_rfs_supported (bp ))
64616462 req -> num_rsscos_ctxs =
64626463 cpu_to_le16 (ring_grps + 1 );
@@ -9133,7 +9134,7 @@ static int bnxt_alloc_rfs_vnics(struct bnxt *bp)
91339134
91349135 vnic = & bp -> vnic_info [vnic_id ];
91359136 vnic -> flags |= BNXT_VNIC_RFS_FLAG ;
9136- if (bp -> flags & BNXT_FLAG_NEW_RSS_CAP )
9137+ if (bp -> rss_cap & BNXT_RSS_CAP_NEW_RSS_CAP )
91379138 vnic -> flags |= BNXT_VNIC_RFS_NEW_RSS_FLAG ;
91389139 rc = bnxt_hwrm_vnic_alloc (bp , vnic_id , ring_id , 1 );
91399140 if (rc ) {
@@ -9227,7 +9228,7 @@ static int bnxt_init_chip(struct bnxt *bp, bool irq_re_init)
92279228 rc = bnxt_setup_vnic (bp , 0 );
92289229 if (rc )
92299230 goto err_out ;
9230- if (bp -> fw_cap & BNXT_FW_CAP_RSS_HASH_TYPE_DELTA )
9231+ if (bp -> rss_cap & BNXT_RSS_CAP_RSS_HASH_TYPE_DELTA )
92319232 bnxt_hwrm_update_rss_hash_cfg (bp );
92329233
92339234 if (bp -> flags & BNXT_FLAG_RFS ) {
@@ -11555,7 +11556,7 @@ static bool bnxt_rfs_supported(struct bnxt *bp)
1155511556 return false;
1155611557 if (BNXT_PF (bp ) && !BNXT_CHIP_TYPE_NITRO_A0 (bp ))
1155711558 return true;
11558- if (bp -> flags & BNXT_FLAG_NEW_RSS_CAP )
11559+ if (bp -> rss_cap & BNXT_RSS_CAP_NEW_RSS_CAP )
1155911560 return true;
1156011561 return false;
1156111562}
@@ -11576,7 +11577,7 @@ static bool bnxt_rfs_capable(struct bnxt *bp)
1157611577 max_rss_ctxs = bnxt_get_max_func_rss_ctxs (bp );
1157711578
1157811579 /* RSS contexts not a limiting factor */
11579- if (bp -> flags & BNXT_FLAG_NEW_RSS_CAP )
11580+ if (bp -> rss_cap & BNXT_RSS_CAP_NEW_RSS_CAP )
1158011581 max_rss_ctxs = max_vnics ;
1158111582 if (vnics > max_vnics || vnics > max_rss_ctxs ) {
1158211583 if (bp -> rx_nr_rings > 1 )
@@ -12697,15 +12698,15 @@ static int bnxt_fw_init_one_p2(struct bnxt *bp)
1269712698
1269812699static void bnxt_set_dflt_rss_hash_type (struct bnxt * bp )
1269912700{
12700- bp -> flags &= ~BNXT_FLAG_UDP_RSS_CAP ;
12701+ bp -> rss_cap &= ~BNXT_RSS_CAP_UDP_RSS_CAP ;
1270112702 bp -> rss_hash_cfg = VNIC_RSS_CFG_REQ_HASH_TYPE_IPV4 |
1270212703 VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV4 |
1270312704 VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6 |
1270412705 VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV6 ;
12705- if (bp -> fw_cap & BNXT_FW_CAP_RSS_HASH_TYPE_DELTA )
12706+ if (bp -> rss_cap & BNXT_RSS_CAP_RSS_HASH_TYPE_DELTA )
1270612707 bp -> rss_hash_delta = bp -> rss_hash_cfg ;
1270712708 if (BNXT_CHIP_P4_PLUS (bp ) && bp -> hwrm_spec_code >= 0x10501 ) {
12708- bp -> flags |= BNXT_FLAG_UDP_RSS_CAP ;
12709+ bp -> rss_cap |= BNXT_RSS_CAP_UDP_RSS_CAP ;
1270912710 bp -> rss_hash_cfg |= VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV4 |
1271012711 VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV6 ;
1271112712 }
0 commit comments