Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752580AbdGaPXH (ORCPT ); Mon, 31 Jul 2017 11:23:07 -0400 Received: from mail-it0-f49.google.com ([209.85.214.49]:35185 "EHLO mail-it0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752308AbdGaPVl (ORCPT ); Mon, 31 Jul 2017 11:21:41 -0400 MIME-Version: 1.0 In-Reply-To: <3df223b6-8ac5-b52f-f276-96c4a0dc7f23@gmail.com> References: <1501020372-19607-1-git-send-email-jon.mason@broadcom.com> <1501020372-19607-2-git-send-email-jon.mason@broadcom.com> <3df223b6-8ac5-b52f-f276-96c4a0dc7f23@gmail.com> From: Jon Mason Date: Mon, 31 Jul 2017 11:21:40 -0400 Message-ID: Subject: Re: [PATCH 1/3] ARM: dts: NSP: Add dma-coherent to relevant DT entries To: Florian Fainelli Cc: Rob Herring , Mark Rutland , BCM Kernel Feedback , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , linux-arm-kernel , open list Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5782 Lines: 157 On Fri, Jul 28, 2017 at 8:03 PM, Florian Fainelli wrote: > On 07/25/2017 03:06 PM, Jon Mason wrote: >> Cache related issues with DMA rings and performance issues related to >> caching are being caused by not properly setting the "dma-coherent" flag >> in the device tree entries. Adding it here to correct the issue. >> >> Signed-off-by: Jon Mason >> Fixes: 5fa1026a3e4d ("ARM: dts: NSP: Add PL330 support") >> Fixes: 3107fa5bcfb2 ("ARM: dts: NSP: Add SD/MMC support") >> Fixes: 13d04f20935c ("ARM: dts: NSP: Add AMAC entries") >> Fixes: 5aeda7bf8a1e ("ARM: dts: NSP: Add and enable amac2") >> Fixes: 17d517172300 ("ARM: dts: NSP: Add mailbox (PDC) to NSP") >> Fixes: 1d8ece6639e1 ("ARM: dts: NSP: Add EHCI/OHCI USB nodes to device tree") >> Fixes: bf2289bedef4 ("ARM: dts: NSP: Add Switch Register Access Block node") > > The SRAB block is not DMA capable, so this seems a bit superfluous here. I'll double check on that part as well. > Do you want to submit a patch that omits PL330 for now and adds it > eventually later so I can proceed with applying patches 2 & 3 for this > cycle? Yes, I'll do a v2 with those 2 portions removed, and double back to add (if necessary) once I've bottomed out internally. Thanks, Jon >> Fixes: 0f9f27a36d09 ("ARM: dts: NSP: Add I2C support to the DT") >> Fixes: 8dbcad020f2e ("ARM: dts: nsp: Add sata device tree entry") >> Fixes: 522199029fdc ("ARM: dts: NSP: Fix PCIE DT issue") >> --- >> arch/arm/boot/dts/bcm-nsp.dtsi | 14 ++++++++++++++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/arch/arm/boot/dts/bcm-nsp.dtsi b/arch/arm/boot/dts/bcm-nsp.dtsi >> index 7204d1def23d..c8d734d9f5fc 100644 >> --- a/arch/arm/boot/dts/bcm-nsp.dtsi >> +++ b/arch/arm/boot/dts/bcm-nsp.dtsi >> @@ -207,6 +207,7 @@ >> clocks = <&iprocslow>; >> clock-names = "apb_pclk"; >> #dma-cells = <1>; >> + dma-coherent; >> }; >> >> sdio: sdhci@21000 { >> @@ -215,6 +216,7 @@ >> interrupts = ; >> sdhci,auto-cmd12; >> clocks = <&lcpll0 BCM_NSP_LCPLL0_SDIO_CLK>; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -224,6 +226,7 @@ >> <0x110000 0x1000>; >> reg-names = "amac_base", "idm_base"; >> interrupts = ; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -233,6 +236,7 @@ >> <0x111000 0x1000>; >> reg-names = "amac_base", "idm_base"; >> interrupts = ; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -242,6 +246,7 @@ >> <0x112000 0x1000>; >> reg-names = "amac_base", "idm_base"; >> interrupts = ; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -252,6 +257,7 @@ >> #mbox-cells = <1>; >> brcm,rx-status-len = <32>; >> brcm,use-bcm-hdr; >> + dma-coherent; >> }; >> >> nand: nand@26000 { >> @@ -325,6 +331,7 @@ >> compatible = "generic-ehci"; >> reg = <0x2a000 0x100>; >> interrupts = ; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -332,6 +339,7 @@ >> compatible = "generic-ohci"; >> reg = <0x2b000 0x100>; >> interrupts = ; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -364,6 +372,7 @@ >> #address-cells = <1>; >> #size-cells = <0>; >> >> + dma-coherent; >> status = "disabled"; >> >> /* ports are defined in board DTS */ >> @@ -376,6 +385,7 @@ >> #size-cells = <0>; >> interrupts = ; >> clock-frequency = <100000>; >> + dma-coherent; >> status = "disabled"; >> }; >> >> @@ -446,6 +456,7 @@ >> interrupts = ; >> #address-cells = <1>; >> #size-cells = <0>; >> + dma-coherent; >> status = "disabled"; >> >> sata0: sata-port@0 { >> @@ -483,6 +494,7 @@ >> */ >> ranges = <0x82000000 0 0x08000000 0x08000000 0 0x8000000>; >> >> + dma-coherent; >> status = "disabled"; >> >> msi-parent = <&msi0>; >> @@ -519,6 +531,7 @@ >> */ >> ranges = <0x82000000 0 0x40000000 0x40000000 0 0x8000000>; >> >> + dma-coherent; >> status = "disabled"; >> >> msi-parent = <&msi1>; >> @@ -555,6 +568,7 @@ >> */ >> ranges = <0x82000000 0 0x48000000 0x48000000 0 0x8000000>; >> >> + dma-coherent; >> status = "disabled"; >> >> msi-parent = <&msi2>; >> > > > -- > Florian