From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from newverein.lst.de (verein.lst.de [213.95.11.211]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41wJ0n55WhzF2FK for ; Wed, 22 Aug 2018 16:43:52 +1000 (AEST) Date: Wed, 22 Aug 2018 08:45:31 +0200 From: Christoph Hellwig To: Benjamin Herrenschmidt Cc: Christoph Hellwig , Paul Mackerras , Michael Ellerman , Tony Luck , Fenghua Yu , linuxppc-dev@lists.ozlabs.org, iommu@lists.linux-foundation.org, linux-ia64@vger.kernel.org, Robin Murphy , Konrad Rzeszutek Wilk Subject: Re: [PATCH 08/20] powerpc/dma: remove the unused dma_nommu_ops export Message-ID: <20180822064531.GA19284@lst.de> References: <20180730163824.10064-1-hch@lst.de> <20180730163824.10064-9-hch@lst.de> <20180731121625.GA29793@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Thu, Aug 09, 2018 at 10:01:16AM +1000, Benjamin Herrenschmidt wrote: > On Tue, 2018-07-31 at 14:16 +0200, Christoph Hellwig wrote: > > It turns out cxl actually uses it. So for now skip this patch, > > although random code in drivers messing with dma ops will need to > > be sorted out sooner or later. > > CXL devices are "special", they bypass the classic iommu in favor of > allowing the device to operate using the main processor page tables > using an MMU context (so basically the device can use userspace > addresses directly), akin to ATS. > > I think the code currently uses the nommu ops as a way to do a simple > kernel mapping for kernel drivers using CXL (not userspace stuff) > though. Its still a horrible idea to have this in drivers/, we need some core API to mediate this behavior. Also if the device supports using virtual addresses dma_nommu_ops seems wrong as it won't do the right thing for e.g. vmalloc addresses not mapped into the kernel linear mapping (which I guess can't currently happen on powerpc, but still..)