From patchwork Mon Jul 24 16:34:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 792884 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="DA+BLRjg"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xGRnL0yxTz9s3T for ; Tue, 25 Jul 2017 02:35:34 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755065AbdGXQfc (ORCPT ); Mon, 24 Jul 2017 12:35:32 -0400 Received: from mail-qk0-f182.google.com ([209.85.220.182]:34326 "EHLO mail-qk0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754033AbdGXQev (ORCPT ); Mon, 24 Jul 2017 12:34:51 -0400 Received: by mail-qk0-f182.google.com with SMTP id t2so58628953qkc.1 for ; Mon, 24 Jul 2017 09:34:51 -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=98+vvkb41N+QtGWBS5SGDjPP+505dyG+8NPM6rUBTdM=; b=DA+BLRjgNShX5iX7fSr3sh0RLyBGcS+09Dj5mT3sjacP6vtCvGzzkOxkWjcB0F9l79 ezxBrfmqf9QAcY+yC8xB0EZ8sOHR68xNVbRkOwk9GTpKY2xxMME+00SDEOVN4SI8R5O1 yetMRq1wnj0D7vKQmSOqvdQQZ12oHF65EpNNo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=98+vvkb41N+QtGWBS5SGDjPP+505dyG+8NPM6rUBTdM=; b=Tv94IHeazqa32GFZyAu5YkgDM0gol95/L5SVGcgcRcQGLboTY7g/yHciB4dRrzG4Z3 R04o7Fj/y4mB0+8AJNa/geD6zqNW1htF4NwtpfBMUWZMAYy7Og2yvd5NqhISE0yubnzT LKC84/zsJHNWVifZqhrswL40gtKL/iECkG/+engQH5469OfT7RNo1cOdxTKrYWqxNCLp byRUP8pLXJDeiV8ABxoBZtT3bVL9IBDgRIy+NQyayvirq3hfIl53xJqRI4OrC4g2x5+t a2hl+gaqOOIPi/iDq8DFparmYSdAKSpIiQmMDZsKGWrBPFBs7dP0678p9zraCLT37yb3 iG7w== X-Gm-Message-State: AIVw113tPI/tmMylWucC+NiQnb6FiASaajwZi949/ag5RTxo62j5jfpn LarepUgbq9twa3Wfn1o= X-Received: by 10.233.232.212 with SMTP id a203mr21735514qkg.261.1500914091007; Mon, 24 Jul 2017 09:34:51 -0700 (PDT) Received: from localhost.dhcp.broadcom.net ([192.19.255.250]) by smtp.gmail.com with ESMTPSA id n13sm6737434qti.69.2017.07.24.09.34.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Jul 2017 09:34:50 -0700 (PDT) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next 07/10] bnxt_en: Set ETS min_bw parameter for older firmware. Date: Mon, 24 Jul 2017 12:34:26 -0400 Message-Id: <1500914069-15724-8-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1500914069-15724-1-git-send-email-michael.chan@broadcom.com> References: <1500914069-15724-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 In addition to the ETS weight, older firmware also requires the min_bw parameter to be set for it to work properly. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 6 ++++++ drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c index c014589..aa1f3a2 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c @@ -93,6 +93,12 @@ static int bnxt_hwrm_queue_cos2bw_cfg(struct bnxt *bp, struct ieee_ets *ets, cos2bw.tsa = QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_ETS; cos2bw.bw_weight = ets->tc_tx_bw[i]; + /* older firmware requires min_bw to be set to the + * same weight value in percent. + */ + cos2bw.min_bw = + cpu_to_le32((ets->tc_tx_bw[i] * 100) | + BW_VALUE_UNIT_PERCENT1_100); } memcpy(data, &cos2bw.queue_id, sizeof(cos2bw) - 4); if (i == 0) { diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h index ecd0a5e..d2e0af9 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h @@ -26,6 +26,7 @@ struct bnxt_cos2bw_cfg { u8 queue_id; __le32 min_bw; __le32 max_bw; +#define BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29) u8 tsa; u8 pri_lvl; u8 bw_weight;