Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp261743pxx; Thu, 29 Oct 2020 01:51:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxOVF6Cm/2PEMStLQIlKtZymTAtN3dCFTlhZj4hh5sa84jmDeX4zwznqnKfvj+fUBFcr0Lm X-Received: by 2002:a50:e881:: with SMTP id f1mr2901497edn.58.1603961495453; Thu, 29 Oct 2020 01:51:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603961495; cv=none; d=google.com; s=arc-20160816; b=BmKaYkYTzMmo9mN2xBrGsIqdrjXCMCNZO3IrhNXltPUHbPj59aVReRFIKao+o/XElf T1B4yjb5/Apwpj0kggoEV3aS7eaQfkS91O7xGFw4J6IAPr6guxK+TMoZXnJQlvjfM2pe ayTD810EvOm0UObkHjlDrSoqU/RETsYIVXAOimO1J9hvwaaBfzamQaArZE9/mdScJvKs pAITgK6Bfw3SOnSQdBpgnVcQZ69djsZNKL1Do3k+J5GVlN+mfvduDNB6abaiE9BpHiQV ypUJXuDreRumEmRa4N2iwYKAdUDJtA3znj2B1PO4Y1arexD978tvEVwoE86W9TNcf/IT 35Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WYIPc+mZEl1wnC4lFX/q5K0azbyOC/eMDopX7eznjsY=; b=mWjC8F/SzaTLD7KyZFyx06Qv3l4/shCnrT5CowQyCLVB3tAZmtmGqQVNN5THhPNxVA XgGheeqDlmCe7gu3FE6Kg/6W1CGBbPl4fgB41ZraaJS1Z05OpcXDnJgbzHkTpZ/qB0yH gWi0QIW3/xtyzDGxV+tfDcENzc5C2hUZvdr0qMi4aNc7w1nNWcZ4rYWqIHKRzAqFfJVv ABFTVuiPQSQxM5vp/wxMemZSAWBd1iDniiFq7JQLuNexffOlodbFR/FAV5rt6ia64byy ISoGKPG4Ezm65P4nVzhvz2wN4v64+VLsRG7a8jtGeHKW4lN4E0yGWZi1twhDDaK0msWC DxOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b="IjwVf/Xv"; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=marvell.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h90si1511905edd.326.2020.10.29.01.51.12; Thu, 29 Oct 2020 01:51:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b="IjwVf/Xv"; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=marvell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727731AbgJ2CBR (ORCPT + 99 others); Wed, 28 Oct 2020 22:01:17 -0400 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:7378 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727860AbgJ1Vte (ORCPT ); Wed, 28 Oct 2020 17:49:34 -0400 Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 09SEo9b2016957; Wed, 28 Oct 2020 07:51:01 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=WYIPc+mZEl1wnC4lFX/q5K0azbyOC/eMDopX7eznjsY=; b=IjwVf/XvAf2L/1AML0pC/L569pzmdkpeD61KO1vN2/pGfbjHXGJTE7vpnq3OtsZSYkAu bMAFqFuupcyKbYc6lyIRQh/NvKCMHHkhPhTv+kCB+HONpmbFvPlL2bOlbeLMA2rIhaXc stnvHIyD8yFwdDMNNX+8aMFsyJWpmM2Hdw2qm2tI//nbUJmOeK88sMUKFFs97SDM1ZYQ 0axx8/ZSmCwgebI6sl/8lhYceV1H4NADIGSAuUddjloK1zF1bf83Y8h/+GAMvqINjKWC uiRNx/mNAxquHPCswZ5geRfkLyN7l9/sPvg3v23p9VwW2GPzC2iKczdih/Ppv6Mgp7WE LQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 34chmn8832-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 28 Oct 2020 07:51:00 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 28 Oct 2020 07:51:00 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 28 Oct 2020 07:50:59 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 28 Oct 2020 07:50:59 -0700 Received: from hyd1schalla-dt.marvell.com (hyd1schalla-dt.marvell.com [10.29.8.39]) by maili.marvell.com (Postfix) with ESMTP id B25713F7041; Wed, 28 Oct 2020 07:50:55 -0700 (PDT) From: Srujana Challa To: , CC: , , , , , , , , Srujana Challa Subject: [PATCH v8,net-next,01/12] octeontx2-pf: move lmt flush to include/linux/soc Date: Wed, 28 Oct 2020 20:20:04 +0530 Message-ID: <20201028145015.19212-2-schalla@marvell.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201028145015.19212-1-schalla@marvell.com> References: <20201028145015.19212-1-schalla@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312,18.0.737 definitions=2020-10-28_07:2020-10-28,2020-10-28 signatures=0 Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On OcteonTX2 platform CPT instruction enqueue and NIX packet send are only possible via LMTST operations which uses LDEOR instruction. This patch moves lmt flush function from OcteonTX2 nic driver to include/linux/soc since it will be used by OcteonTX2 CPT and NIC driver for LMTST. Signed-off-by: Suheil Chandran Signed-off-by: Srujana Challa --- MAINTAINERS | 2 ++ .../marvell/octeontx2/nic/otx2_common.h | 13 +-------- include/linux/soc/marvell/octeontx2/asm.h | 29 +++++++++++++++++++ 3 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 include/linux/soc/marvell/octeontx2/asm.h diff --git a/MAINTAINERS b/MAINTAINERS index f281f8077de0..bfb7f3e45d33 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10476,6 +10476,7 @@ M: Srujana Challa L: linux-crypto@vger.kernel.org S: Maintained F: drivers/crypto/marvell/ +F: include/linux/soc/marvell/octeontx2/ MARVELL GIGABIT ETHERNET DRIVERS (skge/sky2) M: Mirko Lindner @@ -10548,6 +10549,7 @@ M: hariprasad L: netdev@vger.kernel.org S: Supported F: drivers/net/ethernet/marvell/octeontx2/nic/ +F: include/linux/soc/marvell/octeontx2/ MARVELL OCTEONTX2 RVU ADMIN FUNCTION DRIVER M: Sunil Goutham diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h index d6253f2a414d..2e8288445dcb 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include "otx2_reg.h" @@ -421,21 +422,9 @@ static inline u64 otx2_atomic64_add(u64 incr, u64 *ptr) return result; } -static inline u64 otx2_lmt_flush(uint64_t addr) -{ - u64 result = 0; - - __asm__ volatile(".cpu generic+lse\n" - "ldeor xzr,%x[rf],[%[rs]]" - : [rf]"=r"(result) - : [rs]"r"(addr)); - return result; -} - #else #define otx2_write128(lo, hi, addr) #define otx2_atomic64_add(incr, ptr) ({ *ptr += incr; }) -#define otx2_lmt_flush(addr) ({ 0; }) #endif /* Alloc pointer from pool/aura */ diff --git a/include/linux/soc/marvell/octeontx2/asm.h b/include/linux/soc/marvell/octeontx2/asm.h new file mode 100644 index 000000000000..ae2279fe830a --- /dev/null +++ b/include/linux/soc/marvell/octeontx2/asm.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0-only + * Copyright (C) 2020 Marvell. + */ + +#ifndef __SOC_OTX2_ASM_H +#define __SOC_OTX2_ASM_H + +#if defined(CONFIG_ARM64) +/* + * otx2_lmt_flush is used for LMT store operation. + * On octeontx2 platform CPT instruction enqueue and + * NIX packet send are only possible via LMTST + * operations and it uses LDEOR instruction targeting + * the coprocessor address. + */ +#define otx2_lmt_flush(ioaddr) \ +({ \ + u64 result = 0; \ + __asm__ volatile(".cpu generic+lse\n" \ + "ldeor xzr, %x[rf], [%[rs]]" \ + : [rf]"=r" (result) \ + : [rs]"r" (ioaddr)); \ + (result); \ +}) +#else +#define otx2_lmt_flush(ioaddr) ({ 0; }) +#endif + +#endif /* __SOC_OTX2_ASM_H */ -- 2.28.0