From patchwork Mon Sep 19 07:58:05 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 671596 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3scyvF1nSzz9sdg for ; Mon, 19 Sep 2016 17:58:49 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b=A9bj7qTE; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752881AbcISH6p (ORCPT ); Mon, 19 Sep 2016 03:58:45 -0400 Received: from mail-pf0-f181.google.com ([209.85.192.181]:35468 "EHLO mail-pf0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760256AbcISH6a (ORCPT ); Mon, 19 Sep 2016 03:58:30 -0400 Received: by mail-pf0-f181.google.com with SMTP id z123so48337550pfz.2 for ; Mon, 19 Sep 2016 00:58:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tAG8Y4QEXTNrNPZJLYGpGGjZ6pIfwIz1GDF+3yXa3+A=; b=A9bj7qTE6wWQ1+MatB0p5TO4Ma2GeJTlSVJtwgPkh8slq+U9AjMA0ZJVjdHZTMq37H S+5i85B9JzdD2NJqWwHfYjxYYsZlH5GuMuzrW9NxNSpPm/2MovKsH65r4lJbKjXNiqq0 xTm+SGhbeoF0FNMizfRO15N+RGZRNGSBvXhWg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tAG8Y4QEXTNrNPZJLYGpGGjZ6pIfwIz1GDF+3yXa3+A=; b=DnrqQ0O0cAB9Htjeln9n13RPTSdzPzy0trehedxrvKyaNScFDySMg8oXUfFFZQPY/t c28RXCeg8N82A5S7Jb+c4deEprbHxVLCexeftEYNRy6k9/abNrlM+TvTc04KmbCj/vmZ cBm9zV6V6pep/wJoMgM8yruMD3odg82AoBxQBL694GEzU01iywooAj0tCfB2Urkz9qEG DfkIIffws0QFN4QMMMPLh6+dzXHiEEJw0xIU+lRIQz/GDC0Gmk/sdbpjqzuw8yta8twl FyfzqQQAGF9wkwG06cUH/MA47h+Bx0I2airxtCBL9KSyaMbl1jc/lLLayLc+aHVrThd6 0RTg== X-Gm-Message-State: AE9vXwN/afiUgN0nf+xkAmxdGh8dCPUP3Z67/rdat4u4rD+tBbKHnvF3Isau05Vi2gzvexTL X-Received: by 10.98.72.157 with SMTP id q29mr16097745pfi.44.1474271909134; Mon, 19 Sep 2016 00:58:29 -0700 (PDT) Received: from localhost.broadcom.com (5520-maca-inet1-outside.broadcom.com. [216.31.211.11]) by smtp.gmail.com with ESMTPSA id wr8sm29065588pab.44.2016.09.19.00.58.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Sep 2016 00:58:28 -0700 (PDT) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next 06/10] bnxt_en: Re-arrange bnxt_hwrm_func_qcaps(). Date: Mon, 19 Sep 2016 03:58:05 -0400 Message-Id: <1474271889-8229-7-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1474271889-8229-1-git-send-email-michael.chan@broadcom.com> References: <1474271889-8229-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Re-arrange the code so that the generation of the random MAC address for the VF is at the end of the function. The next patch will add one more step to call bnxt_approve_mac() to get the firmware to approve the random MAC address. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index f0a9d23..b1dcece 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -4161,6 +4161,11 @@ int bnxt_hwrm_func_qcaps(struct bnxt *bp) if (rc) goto hwrm_func_qcaps_exit; + bp->tx_push_thresh = 0; + if (resp->flags & + cpu_to_le32(FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED)) + bp->tx_push_thresh = BNXT_TX_PUSH_THRESH; + if (BNXT_PF(bp)) { struct bnxt_pf_info *pf = &bp->pf; @@ -4192,12 +4197,6 @@ int bnxt_hwrm_func_qcaps(struct bnxt *bp) struct bnxt_vf_info *vf = &bp->vf; vf->fw_fid = le16_to_cpu(resp->fid); - memcpy(vf->mac_addr, resp->mac_address, ETH_ALEN); - if (is_valid_ether_addr(vf->mac_addr)) - /* overwrite netdev dev_adr with admin VF MAC */ - memcpy(bp->dev->dev_addr, vf->mac_addr, ETH_ALEN); - else - random_ether_addr(bp->dev->dev_addr); vf->max_rsscos_ctxs = le16_to_cpu(resp->max_rsscos_ctx); vf->max_cp_rings = le16_to_cpu(resp->max_cmpl_rings); @@ -4209,14 +4208,16 @@ int bnxt_hwrm_func_qcaps(struct bnxt *bp) vf->max_l2_ctxs = le16_to_cpu(resp->max_l2_ctxs); vf->max_vnics = le16_to_cpu(resp->max_vnics); vf->max_stat_ctxs = le16_to_cpu(resp->max_stat_ctx); + + memcpy(vf->mac_addr, resp->mac_address, ETH_ALEN); + if (is_valid_ether_addr(vf->mac_addr)) + /* overwrite netdev dev_adr with admin VF MAC */ + memcpy(bp->dev->dev_addr, vf->mac_addr, ETH_ALEN); + else + random_ether_addr(bp->dev->dev_addr); #endif } - bp->tx_push_thresh = 0; - if (resp->flags & - cpu_to_le32(FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED)) - bp->tx_push_thresh = BNXT_TX_PUSH_THRESH; - hwrm_func_qcaps_exit: mutex_unlock(&bp->hwrm_cmd_lock); return rc;