Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2082778imu; Wed, 28 Nov 2018 22:04:48 -0800 (PST) X-Google-Smtp-Source: AFSGD/WQ40kb4EAhesdLxB0YAGhoZGlDcnd5nVzNgXLjgPeMv/v4xauanww6Bq6n2A+wOVMbbf9T X-Received: by 2002:a62:c42:: with SMTP id u63mr184572pfi.73.1543471487908; Wed, 28 Nov 2018 22:04:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543471487; cv=none; d=google.com; s=arc-20160816; b=HAiKggsRRY87CRGn60p/jHwiD/fmPUJQRcTGz8FfMUS2L2ZhyCEl0A4zaRCwc4s3ip J1dJuDsscPYOImSn9OsAD9Yrpa8DY9IyoJyv/P3N9d+/EJO/SBjf8votZnqPhwPfIG3k eT4L41dq+58QTmoALYNXBZVRkQVwQTO1tq59OEqqf6sEY4ZfdKKu9ZtmWI2rLYqWv5hr TuJYn1R1FfEMRWt/OajRCOOm2quFFfTdsRpZKeB+qKMipS5Tp6gK02UVx4+DHJjVLE7Q N5MrZlTqMH25ppPBKzeAG5spqhCZ2O15bV6woIOA8PdR2fcwVNLo1FMwn4euPbknbmV0 x1ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=tRN8k2iKRPgwo7OATztAr2/XTWtKRABHp6m2/tpP3gw=; b=dfTPiG8qxr52nA8bTK72Q7teRubTnvEQ7Xov+k++1d7pefhkpUvSUvZS6E2mHntcJr BhMFtP4fvQ5MF5bS2K/kNEWm48bMQsJm1AOZkj3d4LHjezBghBf/ukL5SxsH+WZbdX8t Qpl2NRfkdWZmi7LV+V33rqkPWqt27gC9/LLRq47rKvlwm2v01ChSgBUjFmQfbqfXoW0H ReYZWI5XBsR2wrlLfVoISMk5KGoywz4u10OWZqEoCWQ8rg4/yPt14Z2lhx7DC4WtxE+k YtjzsPSgUcXfsgqXaTW+rHB5FO0kwsYI4jaM1KSHluJMlqnKLivX1gSur1ax2ZrSUHbk kHMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1UMVhvd0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n18si1054120pfj.30.2018.11.28.22.04.32; Wed, 28 Nov 2018 22:04:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1UMVhvd0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729508AbeK2RGK (ORCPT + 99 others); Thu, 29 Nov 2018 12:06:10 -0500 Received: from mail.kernel.org ([198.145.29.99]:42070 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727767AbeK2RGK (ORCPT ); Thu, 29 Nov 2018 12:06:10 -0500 Received: from sasha-vm.mshome.net (unknown [37.142.5.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8BEED2145D; Thu, 29 Nov 2018 06:01:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543471318; bh=rUIqfbusQgf3I/LPeL1BJajUF/Q2apMAaVUEO6bWM+8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1UMVhvd0VYvWdY5uyR8su/KlujNaIsp4mqlnhLi0uebuKL628ZbEVeZapjd/m8TW2 91WGexjTjlPm9ZChup47Wyn4ylIQeuKJCcIJ0UWaICWBCa51A1qT7PGNtjyCh5SFUA OLjACZK0jpdlM6YogGvIJ8KUiiE5MSmKJzvzzQD0= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Sudarsana Reddy Kalluru , Sudarsana Reddy Kalluru , Michal Kalderon , "David S . Miller" , Sasha Levin , netdev@vger.kernel.org Subject: [PATCH AUTOSEL 4.14 11/35] bnx2x: Assign unique DMAE channel number for FW DMAE transactions. Date: Thu, 29 Nov 2018 01:00:45 -0500 Message-Id: <20181129060110.159878-11-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181129060110.159878-1-sashal@kernel.org> References: <20181129060110.159878-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sudarsana Reddy Kalluru [ Upstream commit 77e461d14ed141253573eeeb4d34eccc51e38328 ] Driver assigns DMAE channel 0 for FW as part of START_RAMROD command. FW uses this channel for DMAE operations (e.g., TIME_SYNC implementation). Driver also uses the same channel 0 for DMAE operations for some of the PFs (e.g., PF0 on Port0). This could lead to concurrent access to the DMAE channel by FW and driver which is not legal. Hence need to assign unique DMAE id for FW. Currently following DMAE channels are used by the clients, MFW - OCBB/OCSD functionality uses DMAE channel 14/15 Driver 0-3 and 8-11 (for PF dmae operations) 4 and 12 (for stats requests) Assigning unique dmae_id '13' to the FW. Changes from previous version: ------------------------------ v2: Incorporated the review comments. Signed-off-by: Sudarsana Reddy Kalluru Signed-off-by: Michal Kalderon Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 7 +++++++ drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h index 828e2e56b75e..1b7f4342dab9 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h @@ -2187,6 +2187,13 @@ void bnx2x_igu_clear_sb_gen(struct bnx2x *bp, u8 func, u8 idu_sb_id, #define PMF_DMAE_C(bp) (BP_PORT(bp) * MAX_DMAE_C_PER_PORT + \ E1HVN_MAX) +/* Following is the DMAE channel number allocation for the clients. + * MFW: OCBB/OCSD implementations use DMAE channels 14/15 respectively. + * Driver: 0-3 and 8-11 (for PF dmae operations) + * 4 and 12 (for stats requests) + */ +#define BNX2X_FW_DMAE_C 13 /* Channel for FW DMAE operations */ + /* PCIE link and speed */ #define PCICFG_LINK_WIDTH 0x1f00000 #define PCICFG_LINK_WIDTH_SHIFT 20 diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c index 8baf9d3eb4b1..453bfd83a070 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c @@ -6149,6 +6149,7 @@ static inline int bnx2x_func_send_start(struct bnx2x *bp, rdata->sd_vlan_tag = cpu_to_le16(start_params->sd_vlan_tag); rdata->path_id = BP_PATH(bp); rdata->network_cos_mode = start_params->network_cos_mode; + rdata->dmae_cmd_id = BNX2X_FW_DMAE_C; rdata->vxlan_dst_port = cpu_to_le16(start_params->vxlan_dst_port); rdata->geneve_dst_port = cpu_to_le16(start_params->geneve_dst_port); -- 2.17.1