From patchwork Wed Jun 7 07:54:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 13270120 X-Patchwork-Delegate: kuba@kernel.org Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49AA679F7 for ; Wed, 7 Jun 2023 07:54:48 +0000 (UTC) Received: from mail-qt1-x832.google.com (mail-qt1-x832.google.com [IPv6:2607:f8b0:4864:20::832]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EAEC8AA for ; Wed, 7 Jun 2023 00:54:46 -0700 (PDT) Received: by mail-qt1-x832.google.com with SMTP id d75a77b69052e-3f86b426371so36847361cf.2 for ; Wed, 07 Jun 2023 00:54:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1686124486; x=1688716486; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=ShfgLXpfqQqI3OlrtyH1zehmhMcHSWoyygIdkOp/ypo=; b=M/A5Ce+Wwu0DpO+we/LwDiDMGS3Xl77MgvBcB/OTUfh//atBcnYPX/9mINmZhYKl/v U40cXvlZXFfQIKhVfXyc9v6Edu/aaSdb+TaHiv8haprSGG/mP2w7WI7/UqbL5lVUiV9o F43T7X1Z95FRW+kjWjJXTOPaetYzOnsvZZkwQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686124486; x=1688716486; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ShfgLXpfqQqI3OlrtyH1zehmhMcHSWoyygIdkOp/ypo=; b=PGcNgTXtsQC1vQQ9V15KCTw3cJNzleFZdXI+S9yRf4de1ybIqa3BcI8d7mbWHOxv/W gKsKueqC3OwZxerttckANBFOoi6S3L2E+ZDccRrTrGs0E/Y6PxcKwgQBtHru7/Xvi4RY Oa7VUH+1EL7vVjIwaJjbDBuX52G2lnzhqtJ0Olo+WdTOn8WLnufYqqLyUd7r16SBnhUH vt18U8EONYXkF+Ukrw9N2yau0z/4gIUiCeSy7A2Wt43m9rnFom4hvOu0KNnxiwrvYbUz +xY+7CZ8EDMVct8spd4+LdqyKDXAOamvfYfqK1otDTgGJ22C8VErF912HsoHY5I26i+M 7uig== X-Gm-Message-State: AC+VfDxfRGjPXT5/KqfZBvN7Ys/RZq2tJh12bZqhbdTudPAViq/SASy0 XYA+pzEIFV9RgSUmCVaq/N8Kyw== X-Google-Smtp-Source: ACHHUZ7h/nwqbtKK8RilkYV1grkVhDcruwvI3nlNGmlqGz7ebFl9gxeK3RfSyw4aLv4n3lLRBYKe/g== X-Received: by 2002:ac8:7f4a:0:b0:3f7:f60c:7806 with SMTP id g10-20020ac87f4a000000b003f7f60c7806mr2949292qtk.12.1686124485716; Wed, 07 Jun 2023 00:54:45 -0700 (PDT) Received: from lvnvda5233.lvn.broadcom.net ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id cs12-20020ad44c4c000000b00626362f1bf1sm5850817qvb.63.2023.06.07.00.54.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jun 2023 00:54:45 -0700 (PDT) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, gospo@broadcom.com, Somnath Kotur , Pavan Chebbi Subject: [PATCH net 3/6] bnxt_en: Query default VLAN before VNIC setup on a VF Date: Wed, 7 Jun 2023 00:54:06 -0700 Message-Id: <20230607075409.228450-4-michael.chan@broadcom.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20230607075409.228450-1-michael.chan@broadcom.com> References: <20230607075409.228450-1-michael.chan@broadcom.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Patchwork-Delegate: kuba@kernel.org From: Somnath Kotur We need to call bnxt_hwrm_func_qcfg() on a VF to query the default VLAN that may be setup by the PF. If a default VLAN is enabled, the VF cannot support VLAN acceleration on the receive side and the VNIC must be setup to strip out the default VLAN tag. If a default VLAN is not enabled, the VF can support VLAN acceleration on the receive side. The VNIC should be set up to strip or not strip the VLAN based on the RX VLAN acceleration setting. Without this call to determine the default VLAN before calling bnxt_setup_vnic(), the VNIC may not be set up correctly. For example, bnxt_setup_vnic() may set up to strip the VLAN tag based on stale default VLAN information. If RX VLAN acceleration is not enabled, the VLAN tag will be incorrectly stripped and the RX data path will not work correctly. Fixes: cf6645f8ebc6 ("bnxt_en: Add function for VF driver to query default VLAN.") Reviewed-by: Pavan Chebbi Signed-off-by: Somnath Kotur Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 4aa490cb2fe0..2d39b43ee7cd 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -8813,6 +8813,9 @@ static int bnxt_init_chip(struct bnxt *bp, bool irq_re_init) goto err_out; } + if (BNXT_VF(bp)) + bnxt_hwrm_func_qcfg(bp); + rc = bnxt_setup_vnic(bp, 0); if (rc) goto err_out;