From patchwork Wed Apr 25 11:17:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Brodkin X-Patchwork-Id: 10362649 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 72D746038F for ; Wed, 25 Apr 2018 11:17:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 604D128F87 for ; Wed, 25 Apr 2018 11:17:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5494D28F99; Wed, 25 Apr 2018 11:17:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9A6D428F87 for ; Wed, 25 Apr 2018 11:17:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IeIu0zHW83X6zkERzgnyiomyZLl1Xj7w6e3b80jmzus=; b=nUimkZUm3fvgax N/8VsSYR/9bKwc+VKLMJwlGIBwv7N7PWuqPrswd69pDCb4POi3zj1Z/LOKNnIkP6xB84xppr6+ZbL RpE1JCz+yQbhPB7rx3xRGjWl0Vqy15c6xjmpiJSj6GWkyRdXarVZ0mkpDYcjfDqyniYvhU2T5LN7F 0MFJfUwkosvy7J0oFBElIt8I+Vb945EQE8OOJFCG+7imwKmrgG13FKprXWwmfcRnx4K/Z+Z7QrmvY 8qEEf5QSm1vg+Ww3YszyHz5L7QcAD/gmwrA/LfNn2affKi10ZIX4HF0S1NNH0TFQfOw/q4tErnyyi f1bHA/r7I1HlZ5wtnvdA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fBIQN-0002Rb-W3; Wed, 25 Apr 2018 11:17:24 +0000 Received: from smtprelay2.synopsys.com ([198.182.60.111] helo=smtprelay.synopsys.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fBIQJ-0002Ql-SE; Wed, 25 Apr 2018 11:17:21 +0000 Received: from mailhost.synopsys.com (mailhost1.synopsys.com [10.12.238.239]) by smtprelay.synopsys.com (Postfix) with ESMTP id E552D10C13E7; Wed, 25 Apr 2018 04:17:05 -0700 (PDT) Received: from US01WEHTC3.internal.synopsys.com (us01wehtc3.internal.synopsys.com [10.15.84.232]) by mailhost.synopsys.com (Postfix) with ESMTP id 8BAA55E1F; Wed, 25 Apr 2018 04:17:04 -0700 (PDT) Received: from DE02WEHTCB.internal.synopsys.com (10.225.19.94) by US01WEHTC3.internal.synopsys.com (10.15.84.232) with Microsoft SMTP Server (TLS) id 14.3.361.1; Wed, 25 Apr 2018 04:17:04 -0700 Received: from DE02WEMBXB.internal.synopsys.com ([fe80::95ce:118a:8321:a099]) by DE02WEHTCB.internal.synopsys.com ([::1]) with mapi id 14.03.0361.001; Wed, 25 Apr 2018 13:17:02 +0200 From: Alexey Brodkin To: "hch@lst.de" Subject: Re: [PATCH 06/22] arc: use generic dma_noncoherent_ops Thread-Topic: [PATCH 06/22] arc: use generic dma_noncoherent_ops Thread-Index: AQHT2H4VURtktiHrREGui6QsrcbxH6QJKXmAgAgR3wA= Date: Wed, 25 Apr 2018 11:17:01 +0000 Message-ID: <1524655020.5315.9.camel@synopsys.com> References: <20180420080313.18796-1-hch@lst.de> <20180420080313.18796-7-hch@lst.de> In-Reply-To: <20180420080313.18796-7-hch@lst.de> Accept-Language: en-US, ru-RU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.121.8.87] Content-ID: <213720B0788595488614ECA66BA22CC2@internal.synopsys.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180425_041720_212591_F31407FE X-CRM114-Status: GOOD ( 15.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linux-arch@vger.kernel.org" , "linux-xtensa@linux-xtensa.org" , "monstr@monstr.eu" , "linux-snps-arc@lists.infradead.org" , "linux-c6x-dev@linux-c6x.org" , "linux-parisc@vger.kernel.org" , "linux-sh@vger.kernel.org" , "linux-hexagon@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-m68k@lists.linux-m68k.org" , "openrisc@lists.librecores.org" , "green.hu@gmail.com" , "linux-alpha@vger.kernel.org" , "sparclinux@vger.kernel.org" , "nios2-dev@lists.rocketboards.org" , "deanbo422@gmail.com" , "linux-arm-kernel@lists.infradead.org" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP 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 > --- > 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------------------------------------ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --- 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------------------------------------ _______________________________________________