From: Alexey Brodkin <Alexey.Brodkin@synopsys.com> To: "hch@lst.de" <hch@lst.de> Cc: "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>, "linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>, "monstr@monstr.eu" <monstr@monstr.eu>, "linux-snps-arc@lists.infradead.org" <linux-snps-arc@lists.infradead.org>, "linux-c6x-dev@linux-c6x.org" <linux-c6x-dev@linux-c6x.org>, "linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>, "linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>, "linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-m68k@lists.linux-m68k.org" <linux-m68k@lists.linux-m68k.org>, "openrisc@lists.librecores.org" <openrisc@lists.librecores.org>, "green.hu@gmail.com" <green.hu@gmail.com>, "linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>, "sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>, "nios2-dev@lists.rocketboards.org" <nios> Subject: Re: [PATCH 06/22] arc: use generic dma_noncoherent_ops Date: Wed, 25 Apr 2018 11:17:01 +0000 [thread overview] Message-ID: <1524655020.5315.9.camel@synopsys.com> (raw) In-Reply-To: <20180420080313.18796-7-hch@lst.de> Hi Christoph, On Fri, 2018-04-20 at 10:02 +0200, Christoph Hellwig wrote: > Switch to the generic noncoherent direct mapping implementation. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > arch/arc/Kconfig | 4 + > arch/arc/include/asm/Kbuild | 1 + > arch/arc/include/asm/dma-mapping.h | 21 ----- > arch/arc/mm/dma.c | 141 +++-------------------------- > 4 files changed, 19 insertions(+), 148 deletions(-) > delete mode 100644 arch/arc/include/asm/dma-mapping.h > [snip] > @@ -135,7 +134,7 @@ static int arc_dma_mmap(struct device *dev, struct vm_area_struct *vma, > * CPU accesses page via normal paddr, thus needs to explicitly made > * consistent before each use > */ > -static void _dma_cache_sync(phys_addr_t paddr, size_t size, > +static void _dma_cache_sync(struct device *dev, phys_addr_t paddr size_t size, > enum dma_data_direction dir) Seems like there's a missing comma: ----------------------------------->8------------------------------------ --- a/arch/arc/mm/dma.c +++ b/arch/arc/mm/dma.c @@ -134,7 +134,7 @@ int arch_dma_mmap(struct device *dev, struct vm_area_struct *vma, * CPU accesses page via normal paddr, thus needs to explicitly made * consistent before each use */ -static void _dma_cache_sync(struct device *dev, phys_addr_t paddr size_t size, +static void _dma_cache_sync(struct device *dev, phys_addr_t paddr, size_t size, enum dma_data_direction dir) { switch (dir) { ----------------------------------->8------------------------------------ Which is actually strange as I would expect ARC code to be built by bots. Anyways with above fix I do see problems with both USB and Ethernet controllers on ARC HSDK board. ----------------------------------->8------------------------------------ usb 1-1: new high-speed USB device number 2 using ehci-platform usb 1-1: device descriptor read/64, error -32 usb 1-1: device descriptor read/64, error -32 usb 1-1: new high-speed USB device number 3 using ehci-platform usb 1-1: device descriptor read/64, error -32 usb 1-1: device descriptor read/64, error -32 usb usb1-port1: attempt power cycle usb 1-1: new high-speed USB device number 4 using ehci-platform usb 1-1: device not accepting address 4, error -32 usb 1-1: new high-speed USB device number 5 using ehci-platform usb 1-1: device not accepting address 5, error -32 ... # wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.0.0.tar.bz2 Connecting to ftp.denx.de (81.169.202.6:21) wget: can't connect to remote host (81.169.202.6): No route to host ----------------------------------->8------------------------------------ Will all patches from the series reverted (i.e. with your base-line) all issues go away. I'll need to spend more time on checking what's actually wrong. -Alexey P.S. Note to my ARC colleagues - it's required to disable IO Coherency to get DMA ops really used, it could be obviously done with: ----------------------------------->8------------------------------------ --- a/arch/arc/mm/cache.c +++ b/arch/arc/mm/cache.c @@ -27,7 +27,7 @@ static int l2_line_sz; static int ioc_exists; -int slc_enable = 1, ioc_enable = 1; +int slc_enable = 1, ioc_enable = 0; unsigned long perip_base = ARC_UNCACHED_ADDR_SPACE; /* legacy value for boot */ unsigned long perip_end = 0xFFFFFFFF; /* legacy value */ ----------------------------------->8------------------------------------
WARNING: multiple messages have this Message-ID (diff)
From: Alexey Brodkin <Alexey.Brodkin@synopsys.com> To: "hch@lst.de" <hch@lst.de> Cc: "deanbo422@gmail.com" <deanbo422@gmail.com>, "linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "nios2-dev@lists.rocketboards.org" <nios2-dev@lists.rocketboards.org>, "linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>, "linux-m68k@lists.linux-m68k.org" <linux-m68k@lists.linux-m68k.org>, "linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>, "linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>, "linux-snps-arc@lists.infradead.org" <linux-snps-arc@lists.infradead.org>, "green.hu@gmail.com" <green.hu@gmail.com>, "openrisc@lists.librecores.org" <openrisc@lists.librecores.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "monstr@monstr.eu" <monstr@monstr.eu>, "linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>, "linux-c6x-dev@linux-c6x.org" <linux-c6x-dev@linux-c6x.org>, "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>, "sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org> Subject: Re: [PATCH 06/22] arc: use generic dma_noncoherent_ops Date: Wed, 25 Apr 2018 11:17:01 +0000 [thread overview] Message-ID: <1524655020.5315.9.camel@synopsys.com> (raw) Message-ID: <20180425111701.GELzgSdbXwl4KE8BGQn2idqPsrf1-xxMoDGUQutOdgk@z> (raw) In-Reply-To: <20180420080313.18796-7-hch@lst.de> Hi Christoph, On Fri, 2018-04-20 at 10:02 +0200, Christoph Hellwig wrote: > Switch to the generic noncoherent direct mapping implementation. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > arch/arc/Kconfig | 4 + > arch/arc/include/asm/Kbuild | 1 + > arch/arc/include/asm/dma-mapping.h | 21 ----- > arch/arc/mm/dma.c | 141 +++-------------------------- > 4 files changed, 19 insertions(+), 148 deletions(-) > delete mode 100644 arch/arc/include/asm/dma-mapping.h > [snip] > @@ -135,7 +134,7 @@ static int arc_dma_mmap(struct device *dev, struct vm_area_struct *vma, > * CPU accesses page via normal paddr, thus needs to explicitly made > * consistent before each use > */ > -static void _dma_cache_sync(phys_addr_t paddr, size_t size, > +static void _dma_cache_sync(struct device *dev, phys_addr_t paddr size_t size, > enum dma_data_direction dir) Seems like there's a missing comma: ----------------------------------->8------------------------------------ --- a/arch/arc/mm/dma.c +++ b/arch/arc/mm/dma.c @@ -134,7 +134,7 @@ int arch_dma_mmap(struct device *dev, struct vm_area_struct *vma, * CPU accesses page via normal paddr, thus needs to explicitly made * consistent before each use */ -static void _dma_cache_sync(struct device *dev, phys_addr_t paddr size_t size, +static void _dma_cache_sync(struct device *dev, phys_addr_t paddr, size_t size, enum dma_data_direction dir) { switch (dir) { ----------------------------------->8------------------------------------ Which is actually strange as I would expect ARC code to be built by bots. Anyways with above fix I do see problems with both USB and Ethernet controllers on ARC HSDK board. ----------------------------------->8------------------------------------ usb 1-1: new high-speed USB device number 2 using ehci-platform usb 1-1: device descriptor read/64, error -32 usb 1-1: device descriptor read/64, error -32 usb 1-1: new high-speed USB device number 3 using ehci-platform usb 1-1: device descriptor read/64, error -32 usb 1-1: device descriptor read/64, error -32 usb usb1-port1: attempt power cycle usb 1-1: new high-speed USB device number 4 using ehci-platform usb 1-1: device not accepting address 4, error -32 usb 1-1: new high-speed USB device number 5 using ehci-platform usb 1-1: device not accepting address 5, error -32 ... # wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.0.0.tar.bz2 Connecting to ftp.denx.de (81.169.202.6:21) wget: can't connect to remote host (81.169.202.6): No route to host ----------------------------------->8------------------------------------ Will all patches from the series reverted (i.e. with your base-line) all issues go away. I'll need to spend more time on checking what's actually wrong. -Alexey P.S. Note to my ARC colleagues - it's required to disable IO Coherency to get DMA ops really used, it could be obviously done with: ----------------------------------->8------------------------------------ --- a/arch/arc/mm/cache.c +++ b/arch/arc/mm/cache.c @@ -27,7 +27,7 @@ static int l2_line_sz; static int ioc_exists; -int slc_enable = 1, ioc_enable = 1; +int slc_enable = 1, ioc_enable = 0; unsigned long perip_base = ARC_UNCACHED_ADDR_SPACE; /* legacy value for boot */ unsigned long perip_end = 0xFFFFFFFF; /* legacy value */ ----------------------------------->8------------------------------------
next prev parent reply other threads:[~2018-04-25 11:17 UTC|newest] Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-20 8:02 (unknown), Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 01/22] dma-debug: move initialization to common code Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 10:23 ` Robin Murphy 2018-04-20 10:23 ` Robin Murphy 2018-04-24 7:35 ` Christoph Hellwig 2018-04-24 7:35 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 02/22] dma-mapping: simplify Kconfig dependencies Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 03/22] dma-mapping: provide a generic dma-noncoherent implementation Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 04/22] alpha: use dma_direct_ops for jensen Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 05/22] alpha: simplify get_arch_dma_ops Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 06/22] arc: use generic dma_noncoherent_ops Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-25 11:17 ` Alexey Brodkin [this message] 2018-04-25 11:17 ` Alexey Brodkin 2018-04-26 6:45 ` hch 2018-04-26 6:45 ` hch 2018-04-26 8:25 ` hch 2018-04-26 8:25 ` hch 2018-04-20 8:02 ` [PATCH 07/22] arm-nommu: " Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:02 ` [PATCH 08/22] c6x: " Christoph Hellwig 2018-04-20 8:02 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 09/22] hexagon: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 10/22] m68k: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 11/22] microblaze: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 12/22] microblaze: remove the consistent_sync and consistent_sync_page Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 13/22] nds32: use generic dma_noncoherent_ops Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-23 6:49 ` Greentime Hu 2018-04-23 6:49 ` Greentime Hu 2018-04-23 8:09 ` Michael Schmitz 2018-04-23 11:03 ` Greentime Hu 2018-04-24 19:16 ` Christoph Hellwig 2018-04-24 19:16 ` Christoph Hellwig 2018-04-25 1:43 ` Greentime Hu 2018-04-25 1:43 ` Greentime Hu 2018-04-25 6:40 ` Christoph Hellwig 2018-04-25 6:40 ` Christoph Hellwig 2018-04-25 12:25 ` Greentime Hu 2018-04-25 12:25 ` Greentime Hu 2018-04-26 6:42 ` Christoph Hellwig 2018-04-26 6:42 ` Christoph Hellwig 2018-04-26 8:06 ` Greentime Hu 2018-04-26 8:06 ` Greentime Hu 2018-04-26 8:24 ` Christoph Hellwig 2018-04-26 8:24 ` Christoph Hellwig 2018-04-26 9:39 ` Greentime Hu 2018-04-26 9:39 ` Greentime Hu 2018-04-20 8:03 ` [PATCH 14/22] nios2: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 15/22] openrisc: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 16/22] sh: simplify get_arch_dma_ops Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 17/22] sh: introduce a sh_cacheop_vaddr helper Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 18/22] sh: use dma_direct_ops for the CONFIG_DMA_COHERENT case Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 19/22] sh: use generic dma_noncoherent_ops Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 20/22] xtensa: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 21/22] sparc: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-20 8:03 ` [PATCH 22/22] parisc: " Christoph Hellwig 2018-04-20 8:03 ` Christoph Hellwig 2018-04-21 17:43 ` Helge Deller 2018-04-21 17:43 ` Helge Deller 2018-04-21 21:52 ` James Bottomley 2018-04-21 21:52 ` James Bottomley 2018-04-25 7:21 ` Christoph Hellwig 2018-04-25 7:21 ` Christoph Hellwig 2018-04-25 21:07 ` Helge Deller 2018-04-25 21:07 ` Helge Deller 2018-04-21 21:42 ` James Bottomley 2018-04-21 21:42 ` James Bottomley 2018-04-24 8:20 ` Christoph Hellwig 2018-04-24 8:20 ` Christoph Hellwig
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1524655020.5315.9.camel@synopsys.com \ --to=alexey.brodkin@synopsys.com \ --cc=green.hu@gmail.com \ --cc=hch@lst.de \ --cc=linux-alpha@vger.kernel.org \ --cc=linux-arch@vger.kernel.org \ --cc=linux-c6x-dev@linux-c6x.org \ --cc=linux-hexagon@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-m68k@lists.linux-m68k.org \ --cc=linux-parisc@vger.kernel.org \ --cc=linux-sh@vger.kernel.org \ --cc=linux-snps-arc@lists.infradead.org \ --cc=linux-xtensa@linux-xtensa.org \ --cc=monstr@monstr.eu \ --cc=openrisc@lists.librecores.org \ --cc=sparclinux@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).