From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandre Courbot Subject: Re: [PATCH] instmem/gk20a: use DMA API CPU mapping Date: Thu, 12 Nov 2015 11:07:23 +0900 Message-ID: <5643F45B.5080402@nvidia.com> References: <1447229271-22901-1-git-send-email-acourbot@nvidia.com> <5643C607.60204@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5643C607.60204-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Ben Skeggs , Ben Skeggs , Dave Airlie Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Andrew Morton , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Guenter Roeck List-Id: nouveau.vger.kernel.org T24gMTEvMTIvMjAxNSAwNzo0OSBBTSwgQmVuIFNrZWdncyB3cm90ZToKPiAqIFBHUCBTaWduZWQg YnkgYW4gdW5rbm93biBrZXkKPgo+IE9uIDExLzExLzIwMTUgMDY6MDcgUE0sIEFsZXhhbmRyZSBD b3VyYm90IHdyb3RlOgo+PiBDb21taXQgNjljNDkzODI0OWZiICgiZHJtL25vdXZlYXUvaW5zdG1l bS9nazIwYTogdXNlIGRpcmVjdCBDUFUgYWNjZXNzIikKPj4gdHJpZWQgdG8gYmUgc21hcnQgd2hp bGUgdXNpbmcgdGhlIERNQS1BUEkgYnkgbWFuYWdpbmcgdGhlIENQVSBtYXBwaW5ncyBvZgo+PiBi dWZmZXJzIGFsbG9jYXRlZCB3aXRoIHRoZSBETUEtQVBJIGJ5IGl0c2VsZi4gSW4gZG9pbmcgc28s IGl0IHJlbGllZAo+PiBvbiBkbWFfdG9fcGh5cygpIHdoaWNoIGlzIGFuIGFyY2hpdGVjdHVyZS1w cml2YXRlIGZ1bmN0aW9uIG5vdAo+PiBhdmFpbGFibGUgZXZlcnl3aGVyZS4gVGhpcyBicm9rZSB0 aGUgYnVpbGQgb24gc2V2ZXJhbCBhcmNoaXRlY3R1cmVzLgo+Pgo+PiBTaW5jZSB0aGVyZSBpcyBu byByZWxpYWJsZSBhbmQgcG9ydGFibGUgd2F5IHRvIG9idGFpbiB0aGUgcGh5c2ljYWwKPj4gYWRk cmVzcyBvZiBhIERNQS1BUEkgYnVmZmVyLCBzdG9wIHRyeWluZyB0byBiZSBzbWFydCBhbmQganVz dCB1c2UgdGhlCj4+IENQVSBtYXBwaW5nIHRoYXQgdGhlIERNQS1BUEkgY2FuIHByb3ZpZGUuIFRo aXMgbWVhbnMgdGhhdCBidWZmZXJzIHdpbGwKPj4gYmUgQ1BVLW1hcHBlZCBmb3IgYWxsIHRoZWly IGxpZmUgYXMgb3Bwb3NlZCB0byB3aGVuIHdlIG5lZWQgdGhlbSwgYnV0Cj4+IGFueXdheSB1c2lu ZyB0aGUgRE1BLUFQSSBoZXJlIGlzIGEgZmFsbGJhY2sgZm9yIHdoZW4gbm8gSU9NTVUgaXMKPj4g YXZhaWxhYmxlIHNvIHdlIHNob3VsZCBub3QgZXhwZWN0IG9wdGltYWwgYmVoYXZpb3IuCj4+Cj4+ IFRoaXMgbWFrZXMgdGhlIElPTU1VIGFuZCBETUEtQVBJIGltcGxlbWVudGF0aW9ucyBvZiBpbnN0 bWVtIGRpdmVyZ2UKPj4gZW5vdWdoIHRoYXQgd2Ugc2hvdWxkIG1heWJlIHB1dCB0aGVtIGludG8g c2VwYXJhdGUgZmlsZXMuLi4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQWxleGFuZHJlIENvdXJib3Qg PGFjb3VyYm90QG52aWRpYS5jb20+Cj4+IC0tLQo+PiBCZW4vRGF2ZSwgc2luY2UgRGF2ZSdzIGZp eCBoYXMgcmVhY2hlZCBtYWlubGluZSBhbmQgYnVpbGRzIGFyZSBub3QKPj4gYnJva2VuIGFueW1v cmUsIHdlIGNhbiBwcm9jZWVkIG9uZSBvZiB0d28gd2F5czoKPj4KPj4gMSkgQmVuIG1lcmdlcyB0 aGlzIGZvciA0LjQgYW5kIGxldCBpdCBmbG93IGZvciAtcmMyCj4+IDIpIEkgc2VuZCBhbm90aGVy IGZpeCBhZ2FpbnN0IHRoZSBrZXJuZWwgdHJlZQo+IEkganVzdCBzcG9rZSB0byBEYXZlLCBhbmQg SSdsbCB0YWtlIHRoaXMgaW4gbXkgdHJlZSBmb3IgNC41IGlmCj4gZXZlcnl0aGluZyB3b3JrcyBm aW5lIHdpdGggdGhlIHRlbXBvcmFyeSBoYWNrIGZpeC4gIERvZXMgdGhhdCBzb3VuZCBPSwo+IHRv IHlvdT8KCkkgd291bGQgcmF0aGVyIGdldCByaWQgb2YgdGhpcyBpbGxpY2l0IGRtYV90b19waHlz KCkgcXVpY2tseSBzbyBvdGhlciAKcGVvcGxlIGRvbid0IHN0YXJ0IHRoaW5raW5nIGl0J3Mgb2sg dG8gdXNlIGluIGRyaXZlcnMvIChvciBzdGFydCAKdGhyb3dpbmcgc3RvbmVzIGF0IG1lKSwgYnV0 IHlvdXIgY2FsbC4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KTm91dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752668AbbKLCJB (ORCPT ); Wed, 11 Nov 2015 21:09:01 -0500 Received: from hqemgate14.nvidia.com ([216.228.121.143]:1120 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752340AbbKLCI7 (ORCPT ); Wed, 11 Nov 2015 21:08:59 -0500 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Wed, 11 Nov 2015 18:06:42 -0800 Subject: Re: [Nouveau] [PATCH] instmem/gk20a: use DMA API CPU mapping To: Ben Skeggs , Ben Skeggs , "Dave Airlie" References: <1447229271-22901-1-git-send-email-acourbot@nvidia.com> <5643C607.60204@gmail.com> CC: , , "Andrew Morton" , Guenter Roeck From: Alexandre Courbot Message-ID: <5643F45B.5080402@nvidia.com> Date: Thu, 12 Nov 2015 11:07:23 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <5643C607.60204@gmail.com> X-Originating-IP: [10.19.62.246] X-ClientProxiedBy: DRBGMAIL104.nvidia.com (10.18.16.23) To HKMAIL103.nvidia.com (10.18.16.12) Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/12/2015 07:49 AM, Ben Skeggs wrote: > * PGP Signed by an unknown key > > On 11/11/2015 06:07 PM, Alexandre Courbot wrote: >> Commit 69c4938249fb ("drm/nouveau/instmem/gk20a: use direct CPU access") >> tried to be smart while using the DMA-API by managing the CPU mappings of >> buffers allocated with the DMA-API by itself. In doing so, it relied >> on dma_to_phys() which is an architecture-private function not >> available everywhere. This broke the build on several architectures. >> >> Since there is no reliable and portable way to obtain the physical >> address of a DMA-API buffer, stop trying to be smart and just use the >> CPU mapping that the DMA-API can provide. This means that buffers will >> be CPU-mapped for all their life as opposed to when we need them, but >> anyway using the DMA-API here is a fallback for when no IOMMU is >> available so we should not expect optimal behavior. >> >> This makes the IOMMU and DMA-API implementations of instmem diverge >> enough that we should maybe put them into separate files... >> >> Signed-off-by: Alexandre Courbot >> --- >> Ben/Dave, since Dave's fix has reached mainline and builds are not >> broken anymore, we can proceed one of two ways: >> >> 1) Ben merges this for 4.4 and let it flow for -rc2 >> 2) I send another fix against the kernel tree > I just spoke to Dave, and I'll take this in my tree for 4.5 if > everything works fine with the temporary hack fix. Does that sound OK > to you? I would rather get rid of this illicit dma_to_phys() quickly so other people don't start thinking it's ok to use in drivers/ (or start throwing stones at me), but your call.