From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91E3BC0650F for ; Tue, 30 Jul 2019 17:26:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 698D52089E for ; Tue, 30 Jul 2019 17:26:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730770AbfG3R0l (ORCPT ); Tue, 30 Jul 2019 13:26:41 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:52446 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726071AbfG3R0k (ORCPT ); Tue, 30 Jul 2019 13:26:40 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::d71]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 40E811265965D; Tue, 30 Jul 2019 10:26:39 -0700 (PDT) Date: Tue, 30 Jul 2019 10:26:38 -0700 (PDT) Message-Id: <20190730.102638.2201830580799063447.davem@davemloft.net> To: Jose.Abreu@synopsys.com Cc: netdev@vger.kernel.org, Joao.Pinto@synopsys.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, mcoquelin.stm32@gmail.com, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, jonathanh@nvidia.com Subject: Re: [PATCH net] net: stmmac: Sync RX Buffer upon allocation From: David Miller In-Reply-To: <3601e3ae4357d48b3294f42781d0f19095d1b00e.1564479382.git.joabreu@synopsys.com> References: <3601e3ae4357d48b3294f42781d0f19095d1b00e.1564479382.git.joabreu@synopsys.com> X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 30 Jul 2019 10:26:39 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jose Abreu Date: Tue, 30 Jul 2019 15:57:16 +0200 > With recent changes that introduced support for Page Pool in stmmac, Jon > reported that NFS boot was no longer working on an ARM64 based platform > that had the IP behind an IOMMU. > > As Page Pool API does not guarantee DMA syncing because of the use of > DMA_ATTR_SKIP_CPU_SYNC flag, we have to explicit sync the whole buffer upon > re-allocation because we are always re-using same pages. > > In fact, ARM64 code invalidates the DMA area upon two situations [1]: > - sync_single_for_cpu(): Invalidates if direction != DMA_TO_DEVICE > - sync_single_for_device(): Invalidates if direction == DMA_FROM_DEVICE > > So, as we must invalidate both the current RX buffer and the newly allocated > buffer we propose this fix. > > [1] arch/arm64/mm/cache.S > > Reported-by: Jon Hunter > Tested-by: Jon Hunter > Fixes: 2af6106ae949 ("net: stmmac: Introducing support for Page Pool") > Signed-off-by: Jose Abreu Applied.