From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: Re: [PATCH net] nfp: use full 40 bits of the NSP buffer address Date: Sun, 25 Mar 2018 07:28:06 -0700 Message-ID: <20180325072806.05713b51@cakuba.netronome.com> References: <20180324024222.20134-1-jakub.kicinski@netronome.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, oss-drivers@netronome.com, Dirk van der Merwe To: davem@davemloft.net Return-path: Received: from mail-pl0-f66.google.com ([209.85.160.66]:36985 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752629AbeCYO2J (ORCPT ); Sun, 25 Mar 2018 10:28:09 -0400 Received: by mail-pl0-f66.google.com with SMTP id w12-v6so10327397plp.4 for ; Sun, 25 Mar 2018 07:28:09 -0700 (PDT) In-Reply-To: <20180324024222.20134-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: On Fri, 23 Mar 2018 19:42:22 -0700, Jakub Kicinski wrote: > From: Dirk van der Merwe > > The NSP default buffer is a piece of NFP memory where additional > command data can be placed. Its format has been copied from > host buffer, but the PCIe selection bits do not make sense in > this case. If those get masked out from a NFP address - writes > to random place in the chip memory may be issued and crash the > device. > > This has never been an issue because the buffer used to be > allocated in memory with less-than-38-bit-long address but that > is about to change. > > Signed-off-by: Dirk van der Merwe > Signed-off-by: Jakub Kicinski > --- > drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c > index 39abac678b71..b54ab02f5b33 100644 > --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c > +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c > @@ -71,8 +71,7 @@ > /* CPP address to retrieve the data from */ > #define NSP_BUFFER 0x10 > #define NSP_BUFFER_CPP GENMASK_ULL(63, 40) > -#define NSP_BUFFER_PCIE GENMASK_ULL(39, 38) > -#define NSP_BUFFER_ADDRESS GENMASK_ULL(37, 0) > +#define NSP_BUFFER_ADDRESS GENMASK_ULL(39, 0) self-nack, this is changing a shared define for all bufs, adding a new define of NFP buf will be cleaner.