From patchwork Sat Jul 30 00:33:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iyappan Subramanian X-Patchwork-Id: 654233 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 3s1RRk0j2Yz9t1v for ; Sat, 30 Jul 2016 10:34:10 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=apm.com header.i=@apm.com header.b=IjW4Z0lp; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753823AbcG3Ady (ORCPT ); Fri, 29 Jul 2016 20:33:54 -0400 Received: from mail-pf0-f178.google.com ([209.85.192.178]:34603 "EHLO mail-pf0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753549AbcG3Ad3 (ORCPT ); Fri, 29 Jul 2016 20:33:29 -0400 Received: by mail-pf0-f178.google.com with SMTP id p64so37120574pfb.1 for ; Fri, 29 Jul 2016 17:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apm.com; s=apm; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=azeVOq6g3nTSfaVszddT5tM8xsSgGvOACwNX/AkAres=; b=IjW4Z0lpUNQiNGzUmGlOtc1+KJpxh+1PVv65IJFX3IXirg1uXGBAmB1LFP5vWcxmHe C2lSSsouEpbStyzkKbYY2QzqVohUGHMwk0ENCWIQoTSespitM0VF3puADsVU/xmOUKPl TvWt1xov5Dpd88hfCj9/Kdd9hFLPpwQEiwgbU= 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=azeVOq6g3nTSfaVszddT5tM8xsSgGvOACwNX/AkAres=; b=VdS1AjeTxavnosXkJncqrloHhx1VzqRTKqxVNulABPIxHJSDD9O3vhhxNaSLHzBesd 3ScgbcGn9E/+Ybg5ThT/DGxKyfYI6PNQ7t4Ra7FjoHPlXnAnLAXqs4PvWLPOnbJeYtSm mBraQFksO5kusfvYGCzVrut36cjghISHX0KfKQvlo1Jiib8H9qwxF7IkV4hd69BwgkeX gyerBb9LJ0xwyE9IJioG1Oy9ku9rNWYEzZ8Ub2C8fp2Q2FQXEdTA5hmttcMhjRFRXyDj H4dkyYbXaLohqjhn3Hi43qhdldKqDxhj1D8yfkvuvW/7cfhAvNkvX8A5/NCrfHvWeBmN krYA== X-Gm-Message-State: AEkoout+IYVi8yJ2kvRX01suIsehpRRWAPpT+lkMHnuDM78mpTYtXOLs7HbsDeI0NfujnSHY X-Received: by 10.98.11.133 with SMTP id 5mr72853454pfl.160.1469838808992; Fri, 29 Jul 2016 17:33:28 -0700 (PDT) Received: from isubrama-dev.amcc.com ([206.80.4.98]) by smtp.gmail.com with ESMTPSA id o2sm27724157pfg.10.2016.07.29.17.33.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 Jul 2016 17:33:28 -0700 (PDT) From: Iyappan Subramanian To: davem@davemloft.net, netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, patches@apm.com, linux@armlinux.org.uk, Iyappan Subramanian , Quan Nguyen Subject: [PATCH net-next 05/10] drivers: net: xgene: Fix RSS indirection table fields Date: Fri, 29 Jul 2016 17:33:58 -0700 Message-Id: <1469838843-19943-6-git-send-email-isubramanian@apm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1469838843-19943-1-git-send-email-isubramanian@apm.com> References: <1469838843-19943-1-git-send-email-isubramanian@apm.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch fixes FPSel and NxtFPSel fields length to 5-bit value. Signed-off-by: Quan Nguyen Signed-off-by: Iyappan Subramanian Tested-by: Fushen Chen --- drivers/net/ethernet/apm/xgene/xgene_enet_cle.c | 17 ++++++++++++----- drivers/net/ethernet/apm/xgene/xgene_enet_cle.h | 10 +++++++--- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c index 472c0fb..23d72af 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.c @@ -32,12 +32,19 @@ static void xgene_cle_sband_to_hw(u8 frag, enum xgene_cle_prot_version ver, SET_VAL(SB_HDRLEN, len); } -static void xgene_cle_idt_to_hw(u32 dstqid, u32 fpsel, +static void xgene_cle_idt_to_hw(struct xgene_enet_pdata *pdata, + u32 dstqid, u32 fpsel, u32 nfpsel, u32 *idt_reg) { - *idt_reg = SET_VAL(IDT_DSTQID, dstqid) | - SET_VAL(IDT_FPSEL, fpsel) | - SET_VAL(IDT_NFPSEL, nfpsel); + if (pdata->enet_id == XGENE_ENET1) { + *idt_reg = SET_VAL(IDT_DSTQID, dstqid) | + SET_VAL(IDT_FPSEL1, fpsel) | + SET_VAL(IDT_NFPSEL1, nfpsel); + } else { + *idt_reg = SET_VAL(IDT_DSTQID, dstqid) | + SET_VAL(IDT_FPSEL, fpsel) | + SET_VAL(IDT_NFPSEL, nfpsel); + } } static void xgene_cle_dbptr_to_hw(struct xgene_enet_pdata *pdata, @@ -344,7 +351,7 @@ static int xgene_cle_set_rss_idt(struct xgene_enet_pdata *pdata) nfpsel = 0; idt_reg = 0; - xgene_cle_idt_to_hw(dstqid, fpsel, nfpsel, &idt_reg); + xgene_cle_idt_to_hw(pdata, dstqid, fpsel, nfpsel, &idt_reg); ret = xgene_cle_dram_wr(&pdata->cle, &idt_reg, 1, i, RSS_IDT, CLE_CMD_WR); if (ret) diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.h b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.h index 33c5f6b..9ac9f8e 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_cle.h +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_cle.h @@ -196,9 +196,13 @@ enum xgene_cle_ptree_dbptrs { #define IDT_DSTQID_POS 0 #define IDT_DSTQID_LEN 12 #define IDT_FPSEL_POS 12 -#define IDT_FPSEL_LEN 4 -#define IDT_NFPSEL_POS 16 -#define IDT_NFPSEL_LEN 4 +#define IDT_FPSEL_LEN 5 +#define IDT_NFPSEL_POS 17 +#define IDT_NFPSEL_LEN 5 +#define IDT_FPSEL1_POS 12 +#define IDT_FPSEL1_LEN 4 +#define IDT_NFPSEL1_POS 16 +#define IDT_NFPSEL1_LEN 4 struct xgene_cle_ptree_branch { bool valid;