Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2916714pxk; Sun, 20 Sep 2020 23:38:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzi/zISxtxRIsLz5MCoHmpy4LsV1aJdMPzq8GJGym/vsUJGRMmV6COkCpAdKNok8YLYYZV/ X-Received: by 2002:a05:6402:3c8:: with SMTP id t8mr49379480edw.266.1600670297666; Sun, 20 Sep 2020 23:38:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600670297; cv=none; d=google.com; s=arc-20160816; b=YOxweZbXsEdAjo97oP59VbSStw5i/cJXBLemupw6GsLD4ZemKjraZAeXOs9NyzEHrW rhiG+gIEroyQ17hGe4k0+HAGY30Ui9MBR4zDu9XSsLmBFfFFfYB1qALwKEhvD7Cylv44 twZ1jTTyzK1akAQuG3K1fHCEZEQjHgHdjDPjBmw86NqmgkEBiFLntAbJf1oMw1bvU91H D6YgMPuFWrwZa1JOyP88m1seBTS8J9My6rXIX/Ew4LeVMFwYm/MPcFzSvrsUnDOZLBBC AJwOeTqO91Enj4vltE4xd+C0V23gAMJ70nVCpaABfz2YODqiXA1uoVd3f8F4c9LPMN2h YxIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=+PrxAzx7ceZQnoLc2feeocCUwl2dBMci8OkFw2hd33w=; b=ObstqJQxCMEPUgz1JD1EgNi1HqZ+I7efExrovVlFMLpjASJ+oEAcJLVfv5roFcTZA6 xrfPF5vZLEb+a8UxnsZq5x6iQWhB3ybtXKg8JLKd98lp22ly8QPOIyxxwXrzvgE+VSEm VM/x+XcIenZXxmJEXKQDSeJqwW2WHGqC0/OV9yYuuj/1BfwotMRJidJdW55aNk2kuGUE zWAXc8biMEdOACx5GyCqjZd6+g/DkQOKEGV2cky/Sgh0NFP3IaMNUfLfQVkSu2M8Ak7s 27zFsGn+kwbvNri75qIuNeK1CBhKezhlhz59o0FiE25GH3V98FEhMMZdkd9x7n3Q031F pA6Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i3si8125195edj.574.2020.09.20.23.37.54; Sun, 20 Sep 2020 23:38:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726435AbgIUGgg (ORCPT + 99 others); Mon, 21 Sep 2020 02:36:36 -0400 Received: from verein.lst.de ([213.95.11.211]:38634 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726011AbgIUGge (ORCPT ); Mon, 21 Sep 2020 02:36:34 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id B25CE68AFE; Mon, 21 Sep 2020 08:36:28 +0200 (CEST) Date: Mon, 21 Sep 2020 08:36:28 +0200 From: Christoph Hellwig To: Mauro Carvalho Chehab , Thomas Bogendoerfer , "James E.J. Bottomley" , Joonyoung Shim , Seung-Woo Kim , Ben Skeggs , Marek Szyprowski , Tomasz Figa , Matt Porter , iommu@lists.linux-foundation.org Cc: alsa-devel@alsa-project.org, linux-samsung-soc@vger.kernel.org, linux-scsi@vger.kernel.org, linux-parisc@vger.kernel.org, linux-doc@vger.kernel.org, nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, Stefan Richter , netdev@vger.kernel.org, linux1394-devel@lists.sourceforge.net, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Subject: Re: a saner API for allocating DMA addressable pages v3 Message-ID: <20200921063628.GB18349@lst.de> References: <20200915155122.1768241-1-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200915155122.1768241-1-hch@lst.de> User-Agent: Mutt/1.5.17 (2007-11-01) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Any comments? Thomas: this should be identical to the git tree I gave you for mips testing, and you add your tested-by (and reviewd-by tags where applicable)? Helge: for parisc this should effectively be the same as the first version, but I've dropped the tested-by tags due to the reshuffle, and chance you could retest it? On Tue, Sep 15, 2020 at 05:51:04PM +0200, Christoph Hellwig wrote: > Hi all, > > this series replaced the DMA_ATTR_NON_CONSISTENT flag to dma_alloc_attrs > with a separate new dma_alloc_pages API, which is available on all > platforms. In addition to cleaning up the convoluted code path, this > ensures that other drivers that have asked for better support for > non-coherent DMA to pages with incurring bounce buffering over can finally > be properly supported. > > As a follow up I plan to move the implementation of the > DMA_ATTR_NO_KERNEL_MAPPING flag over to this framework as well, given > that is also is a fundamentally non coherent allocation. The replacement > for that flag would then return a struct page, as it is allowed to > actually return pages without a kernel mapping as the name suggested > (although most of the time they will actually have a kernel mapping..) > > In addition to the conversions of the existing non-coherent DMA users, > I've also added a patch to convert the firewire ohci driver to use > the new dma_alloc_pages API. > > The first patch is queued up for 5.9 in the media tree, but included here > for completeness. > > > A git tree is available here: > > git://git.infradead.org/users/hch/misc.git dma_alloc_pages > > Gitweb: > > http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma_alloc_pages > > > Changes since v2: > - fix up the patch reshuffle which wasn't quite correct > - fix up a few commit messages > > Changes since v1: > - rebased on the latests dma-mapping tree, which merged many of the > cleanups > - fix an argument passing typo in 53c700, caught by sparse > - rename a few macro arguments in 53c700 > - pass the right device to the DMA API in the lib82596 drivers > - fix memory ownershiptransfers in sgiseeq > - better document what a page in the direct kernel mapping means > - split into dma_alloc_pages that returns a struct page and is in the > direct mapping vs dma_alloc_noncoherent that can be vmapped > - conver the firewire ohci driver to dma_alloc_pages > > Diffstat: > _______________________________________________ > iommu mailing list > iommu@lists.linux-foundation.org > https://lists.linuxfoundation.org/mailman/listinfo/iommu ---end quoted text---