From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 06/10] swiotlb: use swiotlb_map_page in swiotlb_map_sg_attrs Date: Tue, 20 Nov 2018 10:25:16 +0100 Message-ID: <20181120092516.GC7270@lst.de> References: <20181008080246.20543-1-hch@lst.de> <20181008080246.20543-7-hch@lst.de> <20181109074955.GA27489@lst.de> <20181114141311.GA26677@lst.de> <20181114161239.GA29462@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: John Stultz Cc: Christoph Hellwig , Will Deacon , Catalin Marinas , Robin Murphy , Konrad Rzeszutek Wilk , linux-arm-kernel , iommu@lists.linux-foundation.org, lkml , Valentin Schneider List-Id: iommu@lists.linux-foundation.org On Mon, Nov 19, 2018 at 03:22:13PM -0800, John Stultz wrote: > > + sg->dma_address = dma_addr; > > sg_dma_len(sg) = sg->length; > > } > > I know Robin has already replied with more detailed info, but just to > close the loop as I'm finally home, applying this patch didn't seem to > help with the IO hangs I'm seeing w/ HiKey960. If Robins observation is right this should fix the problem for you: diff --git a/include/linux/dma-direct.h b/include/linux/dma-direct.h index bd73e7a91410..1833f0c1fba0 100644 --- a/include/linux/dma-direct.h +++ b/include/linux/dma-direct.h @@ -5,7 +5,7 @@ #include #include -#define DIRECT_MAPPING_ERROR 0 +#define DIRECT_MAPPING_ERROR (~(dma_addr_t)0x0) #ifdef CONFIG_ARCH_HAS_PHYS_TO_DMA #include