From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755978AbbBCOl2 (ORCPT ); Tue, 3 Feb 2015 09:41:28 -0500 Received: from pandora.arm.linux.org.uk ([78.32.30.218]:45331 "EHLO pandora.arm.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751725AbbBCOl0 (ORCPT ); Tue, 3 Feb 2015 09:41:26 -0500 Date: Tue, 3 Feb 2015 14:41:09 +0000 From: Russell King - ARM Linux To: Arnd Bergmann Cc: linux-arm-kernel@lists.infradead.org, Rob Clark , Sumit Semwal , LKML , "linux-media@vger.kernel.org" , DRI mailing list , Linaro MM SIG Mailman List , "linux-mm@kvack.org" , Linaro Kernel Mailman List , Tomasz Stanislawski , Robin Murphy , Marek Szyprowski , Daniel Vetter Subject: Re: [RFCv3 2/2] dma-buf: add helpers for sharing attacher constraints with dma-parms Message-ID: <20150203144109.GR8656@n2100.arm.linux.org.uk> References: <1422347154-15258-1-git-send-email-sumit.semwal@linaro.org> <20150203074856.GF14009@phenom.ffwll.local> <4689826.8DDCrX2ZhK@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4689826.8DDCrX2ZhK@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 03, 2015 at 03:17:27PM +0100, Arnd Bergmann wrote: > On Tuesday 03 February 2015 09:04:03 Rob Clark wrote: > > Since I'm stuck w/ an iommu, instead of built in mmu, my plan was to > > drop use of dma-mapping entirely (incl the current call to dma_map_sg, > > which I just need until we can use drm_cflush on arm), and > > attach/detach iommu domains directly to implement context switches. > > At that point, dma_addr_t really has no sensible meaning for me. > > I think what you see here is a quite common hardware setup and we really > lack the right abstraction for it at the moment. Everybody seems to > work around it with a mix of the dma-mapping API and the iommu API. > These are doing different things, and even though the dma-mapping API > can be implemented on top of the iommu API, they are not really compatible. I'd go as far as saying that the "DMA API on top of IOMMU" is more intended to be for a system IOMMU for the bus in question, rather than a device-level IOMMU. If an IOMMU is part of a device, then the device should handle it (maybe via an abstraction) and not via the DMA API. The DMA API should be handing the bus addresses to the device driver which the device's IOMMU would need to generate. (In other words, in this circumstance, the DMA API shouldn't give you the device internal address.) -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-we0-f178.google.com (mail-we0-f178.google.com [74.125.82.178]) by kanga.kvack.org (Postfix) with ESMTP id C430F6B0038 for ; Tue, 3 Feb 2015 09:41:32 -0500 (EST) Received: by mail-we0-f178.google.com with SMTP id k48so45334899wev.9 for ; Tue, 03 Feb 2015 06:41:32 -0800 (PST) Received: from pandora.arm.linux.org.uk (pandora.arm.linux.org.uk. [2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by mx.google.com with ESMTPS id n6si43282546wjx.24.2015.02.03.06.41.29 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 03 Feb 2015 06:41:30 -0800 (PST) Date: Tue, 3 Feb 2015 14:41:09 +0000 From: Russell King - ARM Linux Subject: Re: [RFCv3 2/2] dma-buf: add helpers for sharing attacher constraints with dma-parms Message-ID: <20150203144109.GR8656@n2100.arm.linux.org.uk> References: <1422347154-15258-1-git-send-email-sumit.semwal@linaro.org> <20150203074856.GF14009@phenom.ffwll.local> <4689826.8DDCrX2ZhK@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4689826.8DDCrX2ZhK@wuerfel> Sender: owner-linux-mm@kvack.org List-ID: To: Arnd Bergmann Cc: linux-arm-kernel@lists.infradead.org, Rob Clark , Sumit Semwal , LKML , "linux-media@vger.kernel.org" , DRI mailing list , Linaro MM SIG Mailman List , "linux-mm@kvack.org" , Linaro Kernel Mailman List , Tomasz Stanislawski , Robin Murphy , Marek Szyprowski , Daniel Vetter On Tue, Feb 03, 2015 at 03:17:27PM +0100, Arnd Bergmann wrote: > On Tuesday 03 February 2015 09:04:03 Rob Clark wrote: > > Since I'm stuck w/ an iommu, instead of built in mmu, my plan was to > > drop use of dma-mapping entirely (incl the current call to dma_map_sg, > > which I just need until we can use drm_cflush on arm), and > > attach/detach iommu domains directly to implement context switches. > > At that point, dma_addr_t really has no sensible meaning for me. > > I think what you see here is a quite common hardware setup and we really > lack the right abstraction for it at the moment. Everybody seems to > work around it with a mix of the dma-mapping API and the iommu API. > These are doing different things, and even though the dma-mapping API > can be implemented on top of the iommu API, they are not really compatible. I'd go as far as saying that the "DMA API on top of IOMMU" is more intended to be for a system IOMMU for the bus in question, rather than a device-level IOMMU. If an IOMMU is part of a device, then the device should handle it (maybe via an abstraction) and not via the DMA API. The DMA API should be handing the bus addresses to the device driver which the device's IOMMU would need to generate. (In other words, in this circumstance, the DMA API shouldn't give you the device internal address.) -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: linux@arm.linux.org.uk (Russell King - ARM Linux) Date: Tue, 3 Feb 2015 14:41:09 +0000 Subject: [RFCv3 2/2] dma-buf: add helpers for sharing attacher constraints with dma-parms In-Reply-To: <4689826.8DDCrX2ZhK@wuerfel> References: <1422347154-15258-1-git-send-email-sumit.semwal@linaro.org> <20150203074856.GF14009@phenom.ffwll.local> <4689826.8DDCrX2ZhK@wuerfel> Message-ID: <20150203144109.GR8656@n2100.arm.linux.org.uk> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Feb 03, 2015 at 03:17:27PM +0100, Arnd Bergmann wrote: > On Tuesday 03 February 2015 09:04:03 Rob Clark wrote: > > Since I'm stuck w/ an iommu, instead of built in mmu, my plan was to > > drop use of dma-mapping entirely (incl the current call to dma_map_sg, > > which I just need until we can use drm_cflush on arm), and > > attach/detach iommu domains directly to implement context switches. > > At that point, dma_addr_t really has no sensible meaning for me. > > I think what you see here is a quite common hardware setup and we really > lack the right abstraction for it at the moment. Everybody seems to > work around it with a mix of the dma-mapping API and the iommu API. > These are doing different things, and even though the dma-mapping API > can be implemented on top of the iommu API, they are not really compatible. I'd go as far as saying that the "DMA API on top of IOMMU" is more intended to be for a system IOMMU for the bus in question, rather than a device-level IOMMU. If an IOMMU is part of a device, then the device should handle it (maybe via an abstraction) and not via the DMA API. The DMA API should be handing the bus addresses to the device driver which the device's IOMMU would need to generate. (In other words, in this circumstance, the DMA API shouldn't give you the device internal address.) -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [RFCv3 2/2] dma-buf: add helpers for sharing attacher constraints with dma-parms Date: Tue, 3 Feb 2015 14:41:09 +0000 Message-ID: <20150203144109.GR8656@n2100.arm.linux.org.uk> References: <1422347154-15258-1-git-send-email-sumit.semwal@linaro.org> <20150203074856.GF14009@phenom.ffwll.local> <4689826.8DDCrX2ZhK@wuerfel> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.arm.linux.org.uk (pandora.arm.linux.org.uk [78.32.30.218]) by gabe.freedesktop.org (Postfix) with ESMTP id BBF526E602 for ; Tue, 3 Feb 2015 06:41:25 -0800 (PST) Content-Disposition: inline In-Reply-To: <4689826.8DDCrX2ZhK@wuerfel> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Arnd Bergmann Cc: Linaro Kernel Mailman List , Robin Murphy , LKML , DRI mailing list , Linaro MM SIG Mailman List , "linux-mm@kvack.org" , Marek Szyprowski , Tomasz Stanislawski , linux-arm-kernel@lists.infradead.org, "linux-media@vger.kernel.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBGZWIgMDMsIDIwMTUgYXQgMDM6MTc6MjdQTSArMDEwMCwgQXJuZCBCZXJnbWFubiB3 cm90ZToKPiBPbiBUdWVzZGF5IDAzIEZlYnJ1YXJ5IDIwMTUgMDk6MDQ6MDMgUm9iIENsYXJrIHdy b3RlOgo+ID4gU2luY2UgSSdtIHN0dWNrIHcvIGFuIGlvbW11LCBpbnN0ZWFkIG9mIGJ1aWx0IGlu IG1tdSwgbXkgcGxhbiB3YXMgdG8KPiA+IGRyb3AgdXNlIG9mIGRtYS1tYXBwaW5nIGVudGlyZWx5 IChpbmNsIHRoZSBjdXJyZW50IGNhbGwgdG8gZG1hX21hcF9zZywKPiA+IHdoaWNoIEkganVzdCBu ZWVkIHVudGlsIHdlIGNhbiB1c2UgZHJtX2NmbHVzaCBvbiBhcm0pLCBhbmQKPiA+IGF0dGFjaC9k ZXRhY2ggaW9tbXUgZG9tYWlucyBkaXJlY3RseSB0byBpbXBsZW1lbnQgY29udGV4dCBzd2l0Y2hl cy4KPiA+IEF0IHRoYXQgcG9pbnQsIGRtYV9hZGRyX3QgcmVhbGx5IGhhcyBubyBzZW5zaWJsZSBt ZWFuaW5nIGZvciBtZS4KPiAKPiBJIHRoaW5rIHdoYXQgeW91IHNlZSBoZXJlIGlzIGEgcXVpdGUg Y29tbW9uIGhhcmR3YXJlIHNldHVwIGFuZCB3ZSByZWFsbHkKPiBsYWNrIHRoZSByaWdodCBhYnN0 cmFjdGlvbiBmb3IgaXQgYXQgdGhlIG1vbWVudC4gRXZlcnlib2R5IHNlZW1zIHRvCj4gd29yayBh cm91bmQgaXQgd2l0aCBhIG1peCBvZiB0aGUgZG1hLW1hcHBpbmcgQVBJIGFuZCB0aGUgaW9tbXUg QVBJLgo+IFRoZXNlIGFyZSBkb2luZyBkaWZmZXJlbnQgdGhpbmdzLCBhbmQgZXZlbiB0aG91Z2gg dGhlIGRtYS1tYXBwaW5nIEFQSQo+IGNhbiBiZSBpbXBsZW1lbnRlZCBvbiB0b3Agb2YgdGhlIGlv bW11IEFQSSwgdGhleSBhcmUgbm90IHJlYWxseSBjb21wYXRpYmxlLgoKSSdkIGdvIGFzIGZhciBh cyBzYXlpbmcgdGhhdCB0aGUgIkRNQSBBUEkgb24gdG9wIG9mIElPTU1VIiBpcyBtb3JlCmludGVu ZGVkIHRvIGJlIGZvciBhIHN5c3RlbSBJT01NVSBmb3IgdGhlIGJ1cyBpbiBxdWVzdGlvbiwgcmF0 aGVyCnRoYW4gYSBkZXZpY2UtbGV2ZWwgSU9NTVUuCgpJZiBhbiBJT01NVSBpcyBwYXJ0IG9mIGEg ZGV2aWNlLCB0aGVuIHRoZSBkZXZpY2Ugc2hvdWxkIGhhbmRsZSBpdAoobWF5YmUgdmlhIGFuIGFi c3RyYWN0aW9uKSBhbmQgbm90IHZpYSB0aGUgRE1BIEFQSS4gIFRoZSBETUEgQVBJIHNob3VsZApi ZSBoYW5kaW5nIHRoZSBidXMgYWRkcmVzc2VzIHRvIHRoZSBkZXZpY2UgZHJpdmVyIHdoaWNoIHRo ZSBkZXZpY2UncwpJT01NVSB3b3VsZCBuZWVkIHRvIGdlbmVyYXRlLiAgKEluIG90aGVyIHdvcmRz LCBpbiB0aGlzIGNpcmN1bXN0YW5jZSwKdGhlIERNQSBBUEkgc2hvdWxkbid0IGdpdmUgeW91IHRo ZSBkZXZpY2UgaW50ZXJuYWwgYWRkcmVzcy4pCgotLSAKRlRUQyBicm9hZGJhbmQgZm9yIDAuOG1p bGUgbGluZTogY3VycmVudGx5IGF0IDEwLjVNYnBzIGRvd24gNDAwa2JwcyB1cAphY2NvcmRpbmcg dG8gc3BlZWR0ZXN0Lm5ldC4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK