From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD183C35247 for ; Mon, 3 Feb 2020 17:08:19 +0000 (UTC) Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A5C8C2080D for ; Mon, 3 Feb 2020 17:08:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A5C8C2080D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 39893204EA; Mon, 3 Feb 2020 17:08:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gU8KWIGtORdP; Mon, 3 Feb 2020 17:08:18 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by silver.osuosl.org (Postfix) with ESMTP id EE57A203DD; Mon, 3 Feb 2020 17:08:17 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id CBE56C1D81; Mon, 3 Feb 2020 17:08:17 +0000 (UTC) Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id ACEC1C0174 for ; Mon, 3 Feb 2020 17:08:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 9DEDB8632E for ; Mon, 3 Feb 2020 17:08:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nHfbFeXsjR9Q for ; Mon, 3 Feb 2020 17:08:14 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by hemlock.osuosl.org (Postfix) with ESMTPS id E7BC486303 for ; Mon, 3 Feb 2020 17:08:13 +0000 (UTC) Received: by verein.lst.de (Postfix, from userid 2407) id 3F48368BFE; Mon, 3 Feb 2020 18:08:09 +0100 (CET) Date: Mon, 3 Feb 2020 18:08:09 +0100 From: Christoph Hellwig To: Peter Ujfalusi Subject: Re: [PoC] arm: dma-mapping: direct: Apply dma_pfn_offset only when it is valid Message-ID: <20200203170809.GA19293@lst.de> References: <8eb68140-97b2-62ce-3e06-3761984aa5b1@ti.com> <20200114164332.3164-1-peter.ujfalusi@ti.com> <28ee3395-baed-8d59-8546-ab7765829cc8@ti.com> <4f0e307f-29a9-44cd-eeaa-3b999e03871c@arm.com> <75843c71-1718-8d61-5e3d-edba6e1b10bd@ti.com> <20200130075332.GA30735@lst.de> <20200130164010.GA6472@lst.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Cc: robh@kernel.org, vigneshr@ti.com, konrad.wilk@oracle.com, linux@armlinux.org.uk, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Robin Murphy , Christoph Hellwig , linux-arm-kernel@lists.infradead.org, rogerq@ti.com X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" T24gRnJpLCBKYW4gMzEsIDIwMjAgYXQgMDQ6MDA6MjBQTSArMDIwMCwgUGV0ZXIgVWpmYWx1c2kg d3JvdGU6Cj4gSSBzZWUuIE15IFBvQyBwYXRjaCB3YXMgbm90IHRvbyBvZmYgdGhlbiA7KQo+IFNv IHRoZSBwbGFuIGlzIHRvIGhhdmUgYSBnZW5lcmljIGltcGxlbWVudGF0aW9uIGZvciBhbGwgb2Yg dGhlCj4gYXJjaGl0ZWN0dXJlLCByaWdodD8KCtCGIGRvbid0IGtub3cgb2YgYSBjb25jcmV0ZSBw bGFuLCBidXQgdGhhdCdzIGRlZmludGl2ZWx5IHdoYXQgSSdkIGxpa2UKdG8gc2VlLgoKPiA+PiBU aGUgZG1hX3Bmbl9vZmZzZXQgaXMgX3N0aWxsXyBhcHBsaWVkIHRvIHRoZSBtYXNrIHdlIGFyZSB0 cnlpbmcgdG8gc2V0Cj4gPj4gKGFuZCB2YWxpZGF0ZSkgdmlhIGRtYS1kaXJlY3QuCj4gPiAKPiA+ IEFuZCBmb3IgdGhlIGdlbmVyYWwgY2FzZSB0aGF0IGlzIGV4YWN0bHkgdGhlIHJpZ2h0IHRoaW5n IHRvIGRvLCB3ZQo+ID4ganVzdCBuZWVkIHRvIGRlYWwgd2l0aCByZWFsbHkgb2RkIFpPTkVfRE1B IHBsYWNlbWVudHMgbGlrZSB5b3Vycy4KPiAKPiBJJ20gc3RpbGwgbm90IGNvbnZpbmNlZCwgdGhl IHBvaW50IG9mIHRoZSBETUEgbWFzaywgYXQgbGVhc3QgaG93IEkgc2VlCj4gaXQsIHRvIGNoZWNr IHRoYXQgdGhlIGRtYSBhZGRyZXNzIGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBkZXZpY2UgKERNQSwK PiBwZXJpcGhlcmFsIHdpdGggYnVpbHQgaW4gRE1BLCBldGMpLCBpdCBpcyBub3QgYWdhaW5zdCBw aHlzaWNhbCBhZGRyZXNzLgo+IERvaW5nIHBoeXNfdG9fZG1hKCkgb24gdGhlIG1hc2sgZnJvbSB0 aGUgZG1hX3NldF9tYXNrKCkgaXMganVzdCB3cm9uZy4KCldlIGhhdmUgYSB0cmFuc2xhdGlvbiBi ZXR3ZWVuIHRoZSBhZGRyZXNzZXMgdGhhdCB0aGUgZGV2aWNlIHNlZXMsIGFuZAp0aG9zZSB0aGF0 IHRoZSBDUFUgc2Vlcy4gIFRoZSBkZXZpY2UgY2FuIGFkZHJlc3MgTiBiaXRzIG9mIGFkZHJlc3Mg c3BhY2UKYXMgc2VlbiBmcm9tIHRoZSBkZXZpY2UuICBUaGUgYWRkcmVzc2VzIGVuY29kZWQgaW4g bWF4X3BmbiwKem9uZV9kbWFfYml0cyBvciB0aGUgaGFyY29kZWQgMzIgaW4gdGhlIHpvbmUgZG1h IDMyIGNhc2UgYXJlIENQVSBhZGRyZXNzLgpTbyBubywgd2UgY2FuJ3QgYmxpbmRseSBjb21wYXJl IHRob3NlLgoKCj4gPiBCdXQgdGhhdCB3aWxsIGNhdXNlIHlldCBhbm90aGVyIHJlZ3Jlc3Npb24g aW4gd2hhdCB3ZSBoYXZlIGp1c3QgZml4ZWQKPiA+IHdpdGggdXNpbmcgdGhlIGdlbmVyaWMgZGly ZWN0IG9wcywgYXQgd2hpY2ggcG9pbnRzIGl0IHR1cm5zIGludG8gd2hvCj4gPiBzY3JlYW1zIGxv dWRlci4KPiAKPiBIZWhlLCBJIHNlZS4KPiBJIGdlbnVpbmVseSBjdXJpb3VzIHdoeSBrMiBwbGF0 Zm9ybSB3b3JrZWQganVzdCBmaW5lIHdpdGggTFBBRSAoaXQgbmVlZHMKPiBpdCksIGJ1dCBndXlz IGhhZCBpc3N1ZXMgd2l0aCBMUEFFIG9uIGRyYTcvYW01Lgo+IFRoZSBmaXggZm9yIGRyYTcvYW01 IGJyb2tlIGsyLgo+IEFzIGZhciBhcyBJIGNhbiBzZWUgdGhlIG1haW4gKG9ubHkpIGRpZmZlcmVu Y2UgaXMgdGhhdCBrMiBoYXZlCj4gZG1hX3Bmbl9vZmZzZXQgPSAweDc4MDAwMCwgd2hpbGUgZHJh Ny9hbTUgaGF2ZSBpdCAwIChyZWFsbHkgZGlyZWN0IG1hcHBpbmcpLgoKSG93IG11Y2ggbWVtb3J5 IGRvZXMgdGhlIHBsYXRmb3JtIGhhdmU/ICBPbmNlIHlvdSBhcmUgYWJvdmUgMzItYml0cyB3b3J0 aApvZiBhZGRyZXNzIHNwYWNlIGRldmljZXMgd2l0aCBhIDMyLWJpdCBETUEgbWFzayBjYW4ndCBh ZGRyZXNzIGFsbCB0aGUKbWVtb3J5LiAgTm93IGlmIGsyIGZvciBleGFtcGxlIG9ubHkgaGFkIGxl c3MgdGhhbiA0RyBvZiBtZW1vcnksIGJ1dCBhdAphZGRyZXNzZXMgb3ZlciA0RywgYW5kIHRoZSBv ZmZzZXQgY29tcGVuc2F0ZXMgZm9yIHRoZSBvZmZzZXQgb2YgdGhlIERSQU0KaXQgd29ya3Mgd2l0 aG91dCBib3VuY2UgYnVmZmVyaW5nIGFuZCB0aHVzIGRpZG4ndCBuZWVkIHN3aW90bGIuICBCdXQg YW55CnBsYXRmb3JtIHRoYXQgaGFzIERSQU0gdGhhdCBpcyBub3QgYWRkcmVzc2FibGUgd2lsbCBu ZWVkIHN3aW90bGIuCgo+ID4gIAl1NjQgbWluX21hc2s7Cj4gPiAgCj4gPiArCWlmIChtYXNrID49 IERNQV9CSVRfTUFTSygzMikpCj4gPiArCQlyZXR1cm4gMTsKPiA+ICsKPiAKPiBSaWdodCwgc28g c2tpcHBpbmcgcGh5c190b19kbWEoKSBmb3IgdGhlIG1hc2sgYW5kIGJlbGlldmluZyB0aGF0IGl0 IHdpbGwKPiB3b3JrLi4KPiAKPiBJdCBkb2VzOiBhdWRpbyBhbmQgZG1hdGVzdCBtZW1jcHkgdGVz dHMgYXJlIGp1c3QgZmluZSB3aXRoIHRoaXMsIE1NQwo+IGFsc28gcHJvYmVkIHdpdGggQURNQSBl bmFibGVkLgo+IAo+IEFzIGZhciBhcyBJIGNhbiB0ZWxsIGl0IHdvcmtzIGFzIHdlbGwgYXMgZmFs bGluZyBiYWNrIHRvIHRoZSBvbGQgYXJtIG9wcwo+IGluIGNhc2Ugb2YgTFBBRSAmJiBkbWFfcGZu X29mZnNldCAhPSAwCj4gCj4gRndpdzoKPiBUZXN0ZWQtYnk6IFBldGVyIFVqZmFsdXNpIDxwZXRl ci51amZhbHVzaUB0aS5jb20+Cj4gCj4gV291bGQgeW91IGJlIGNvbWZvcnRhYmxlIHRvIHNlbmQg dGhpcyBwYXRjaCBmb3IgbWFpbmxpbmUgd2l0aAo+IEZpeGVzOiBhZDNjN2IxOGM1YjMgKCJhcm06 IHVzZSBzd2lvdGxiIGZvciBib3VuY2UgYnVmZmVyaW5nIG9uIExQQUUKPiBjb25maWdzIikKClRo YXQgaXMgdGhlIGJpZyBxdWVzdGlvbi4gIEkgZG9uJ3QgZmVlbCBvdmVybHkgY29tZm9ydGFibGUg YXMgSSd2ZSBiZWVuCnRyeWluZyB0byBnZXQgdGhpcyByaWdodCwgYnV0IHNvIGZhciBpdCBzZWVt cyBsaWtlIHRoZSBsZWFzdCBiYWQgb3B0aW9uLgpJJ2xsIHNlbmQgb3V0IGEgcHJvcGVyIHBhdGNo IHdpdGggdXBkYXRlZCBjb21tZW50cyBhbmQgd2lsbCBzZWUgd2hhdApwZW9wbGUgdGhpbmsuCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlvbW11IG1haWxp bmcgbGlzdAppb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxp bnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9pb21tdQ== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,URIBL_DBL_ABUSE_MALW,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8E3D8C3524D for ; Mon, 3 Feb 2020 17:08:20 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 606672080D for ; Mon, 3 Feb 2020 17:08:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="duG+zk5j" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 606672080D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qCy23Kn9uxB9fwGsEl+E7iPi5pdAXEa3hDGBatGrmvU=; b=duG+zk5jWfOjbq QVRN5n//95Zcj9dAfkmDtP9PorFYDtcmeJTCK4jxhIzGMoDtRVme3zfZ7WqoSqftqKKRLKEx1iqYr tiekBM5xqjqLdFVworSgkhZY4lv+P+nqALDD5LMnUx9g/RdFB7jBl7179/vn1btEAvShCmZjMoQ7a FICjSZvggQXJJV4igZDOfo0bm4Mp5mOfb+Dza/9/5Ma6zghy3LJEDk5EB0C8UxwlS3Qvwo2lnPHYT LW6NUYdvuuNVilbTugtVhZqPk3DITVDVRv9m+fu9YvAOxXDM96i+EcnPNipQkCDLrVT0LOBTrbraJ /YDFRrnvldza2DrG5SiA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iyfCr-00073g-J7; Mon, 03 Feb 2020 17:08:17 +0000 Received: from verein.lst.de ([213.95.11.211]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iyfCo-00072z-0u for linux-arm-kernel@lists.infradead.org; Mon, 03 Feb 2020 17:08:16 +0000 Received: by verein.lst.de (Postfix, from userid 2407) id 3F48368BFE; Mon, 3 Feb 2020 18:08:09 +0100 (CET) Date: Mon, 3 Feb 2020 18:08:09 +0100 From: Christoph Hellwig To: Peter Ujfalusi Subject: Re: [PoC] arm: dma-mapping: direct: Apply dma_pfn_offset only when it is valid Message-ID: <20200203170809.GA19293@lst.de> References: <8eb68140-97b2-62ce-3e06-3761984aa5b1@ti.com> <20200114164332.3164-1-peter.ujfalusi@ti.com> <28ee3395-baed-8d59-8546-ab7765829cc8@ti.com> <4f0e307f-29a9-44cd-eeaa-3b999e03871c@arm.com> <75843c71-1718-8d61-5e3d-edba6e1b10bd@ti.com> <20200130075332.GA30735@lst.de> <20200130164010.GA6472@lst.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200203_090814_365810_C2F92470 X-CRM114-Status: GOOD ( 20.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: robh@kernel.org, vigneshr@ti.com, konrad.wilk@oracle.com, linux@armlinux.org.uk, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Robin Murphy , Christoph Hellwig , linux-arm-kernel@lists.infradead.org, rogerq@ti.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBKYW4gMzEsIDIwMjAgYXQgMDQ6MDA6MjBQTSArMDIwMCwgUGV0ZXIgVWpmYWx1c2kg d3JvdGU6Cj4gSSBzZWUuIE15IFBvQyBwYXRjaCB3YXMgbm90IHRvbyBvZmYgdGhlbiA7KQo+IFNv IHRoZSBwbGFuIGlzIHRvIGhhdmUgYSBnZW5lcmljIGltcGxlbWVudGF0aW9uIGZvciBhbGwgb2Yg dGhlCj4gYXJjaGl0ZWN0dXJlLCByaWdodD8KCtCGIGRvbid0IGtub3cgb2YgYSBjb25jcmV0ZSBw bGFuLCBidXQgdGhhdCdzIGRlZmludGl2ZWx5IHdoYXQgSSdkIGxpa2UKdG8gc2VlLgoKPiA+PiBU aGUgZG1hX3Bmbl9vZmZzZXQgaXMgX3N0aWxsXyBhcHBsaWVkIHRvIHRoZSBtYXNrIHdlIGFyZSB0 cnlpbmcgdG8gc2V0Cj4gPj4gKGFuZCB2YWxpZGF0ZSkgdmlhIGRtYS1kaXJlY3QuCj4gPiAKPiA+ IEFuZCBmb3IgdGhlIGdlbmVyYWwgY2FzZSB0aGF0IGlzIGV4YWN0bHkgdGhlIHJpZ2h0IHRoaW5n IHRvIGRvLCB3ZQo+ID4ganVzdCBuZWVkIHRvIGRlYWwgd2l0aCByZWFsbHkgb2RkIFpPTkVfRE1B IHBsYWNlbWVudHMgbGlrZSB5b3Vycy4KPiAKPiBJJ20gc3RpbGwgbm90IGNvbnZpbmNlZCwgdGhl IHBvaW50IG9mIHRoZSBETUEgbWFzaywgYXQgbGVhc3QgaG93IEkgc2VlCj4gaXQsIHRvIGNoZWNr IHRoYXQgdGhlIGRtYSBhZGRyZXNzIGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBkZXZpY2UgKERNQSwK PiBwZXJpcGhlcmFsIHdpdGggYnVpbHQgaW4gRE1BLCBldGMpLCBpdCBpcyBub3QgYWdhaW5zdCBw aHlzaWNhbCBhZGRyZXNzLgo+IERvaW5nIHBoeXNfdG9fZG1hKCkgb24gdGhlIG1hc2sgZnJvbSB0 aGUgZG1hX3NldF9tYXNrKCkgaXMganVzdCB3cm9uZy4KCldlIGhhdmUgYSB0cmFuc2xhdGlvbiBi ZXR3ZWVuIHRoZSBhZGRyZXNzZXMgdGhhdCB0aGUgZGV2aWNlIHNlZXMsIGFuZAp0aG9zZSB0aGF0 IHRoZSBDUFUgc2Vlcy4gIFRoZSBkZXZpY2UgY2FuIGFkZHJlc3MgTiBiaXRzIG9mIGFkZHJlc3Mg c3BhY2UKYXMgc2VlbiBmcm9tIHRoZSBkZXZpY2UuICBUaGUgYWRkcmVzc2VzIGVuY29kZWQgaW4g bWF4X3BmbiwKem9uZV9kbWFfYml0cyBvciB0aGUgaGFyY29kZWQgMzIgaW4gdGhlIHpvbmUgZG1h IDMyIGNhc2UgYXJlIENQVSBhZGRyZXNzLgpTbyBubywgd2UgY2FuJ3QgYmxpbmRseSBjb21wYXJl IHRob3NlLgoKCj4gPiBCdXQgdGhhdCB3aWxsIGNhdXNlIHlldCBhbm90aGVyIHJlZ3Jlc3Npb24g aW4gd2hhdCB3ZSBoYXZlIGp1c3QgZml4ZWQKPiA+IHdpdGggdXNpbmcgdGhlIGdlbmVyaWMgZGly ZWN0IG9wcywgYXQgd2hpY2ggcG9pbnRzIGl0IHR1cm5zIGludG8gd2hvCj4gPiBzY3JlYW1zIGxv dWRlci4KPiAKPiBIZWhlLCBJIHNlZS4KPiBJIGdlbnVpbmVseSBjdXJpb3VzIHdoeSBrMiBwbGF0 Zm9ybSB3b3JrZWQganVzdCBmaW5lIHdpdGggTFBBRSAoaXQgbmVlZHMKPiBpdCksIGJ1dCBndXlz IGhhZCBpc3N1ZXMgd2l0aCBMUEFFIG9uIGRyYTcvYW01Lgo+IFRoZSBmaXggZm9yIGRyYTcvYW01 IGJyb2tlIGsyLgo+IEFzIGZhciBhcyBJIGNhbiBzZWUgdGhlIG1haW4gKG9ubHkpIGRpZmZlcmVu Y2UgaXMgdGhhdCBrMiBoYXZlCj4gZG1hX3Bmbl9vZmZzZXQgPSAweDc4MDAwMCwgd2hpbGUgZHJh Ny9hbTUgaGF2ZSBpdCAwIChyZWFsbHkgZGlyZWN0IG1hcHBpbmcpLgoKSG93IG11Y2ggbWVtb3J5 IGRvZXMgdGhlIHBsYXRmb3JtIGhhdmU/ICBPbmNlIHlvdSBhcmUgYWJvdmUgMzItYml0cyB3b3J0 aApvZiBhZGRyZXNzIHNwYWNlIGRldmljZXMgd2l0aCBhIDMyLWJpdCBETUEgbWFzayBjYW4ndCBh ZGRyZXNzIGFsbCB0aGUKbWVtb3J5LiAgTm93IGlmIGsyIGZvciBleGFtcGxlIG9ubHkgaGFkIGxl c3MgdGhhbiA0RyBvZiBtZW1vcnksIGJ1dCBhdAphZGRyZXNzZXMgb3ZlciA0RywgYW5kIHRoZSBv ZmZzZXQgY29tcGVuc2F0ZXMgZm9yIHRoZSBvZmZzZXQgb2YgdGhlIERSQU0KaXQgd29ya3Mgd2l0 aG91dCBib3VuY2UgYnVmZmVyaW5nIGFuZCB0aHVzIGRpZG4ndCBuZWVkIHN3aW90bGIuICBCdXQg YW55CnBsYXRmb3JtIHRoYXQgaGFzIERSQU0gdGhhdCBpcyBub3QgYWRkcmVzc2FibGUgd2lsbCBu ZWVkIHN3aW90bGIuCgo+ID4gIAl1NjQgbWluX21hc2s7Cj4gPiAgCj4gPiArCWlmIChtYXNrID49 IERNQV9CSVRfTUFTSygzMikpCj4gPiArCQlyZXR1cm4gMTsKPiA+ICsKPiAKPiBSaWdodCwgc28g c2tpcHBpbmcgcGh5c190b19kbWEoKSBmb3IgdGhlIG1hc2sgYW5kIGJlbGlldmluZyB0aGF0IGl0 IHdpbGwKPiB3b3JrLi4KPiAKPiBJdCBkb2VzOiBhdWRpbyBhbmQgZG1hdGVzdCBtZW1jcHkgdGVz dHMgYXJlIGp1c3QgZmluZSB3aXRoIHRoaXMsIE1NQwo+IGFsc28gcHJvYmVkIHdpdGggQURNQSBl bmFibGVkLgo+IAo+IEFzIGZhciBhcyBJIGNhbiB0ZWxsIGl0IHdvcmtzIGFzIHdlbGwgYXMgZmFs bGluZyBiYWNrIHRvIHRoZSBvbGQgYXJtIG9wcwo+IGluIGNhc2Ugb2YgTFBBRSAmJiBkbWFfcGZu X29mZnNldCAhPSAwCj4gCj4gRndpdzoKPiBUZXN0ZWQtYnk6IFBldGVyIFVqZmFsdXNpIDxwZXRl ci51amZhbHVzaUB0aS5jb20+Cj4gCj4gV291bGQgeW91IGJlIGNvbWZvcnRhYmxlIHRvIHNlbmQg dGhpcyBwYXRjaCBmb3IgbWFpbmxpbmUgd2l0aAo+IEZpeGVzOiBhZDNjN2IxOGM1YjMgKCJhcm06 IHVzZSBzd2lvdGxiIGZvciBib3VuY2UgYnVmZmVyaW5nIG9uIExQQUUKPiBjb25maWdzIikKClRo YXQgaXMgdGhlIGJpZyBxdWVzdGlvbi4gIEkgZG9uJ3QgZmVlbCBvdmVybHkgY29tZm9ydGFibGUg YXMgSSd2ZSBiZWVuCnRyeWluZyB0byBnZXQgdGhpcyByaWdodCwgYnV0IHNvIGZhciBpdCBzZWVt cyBsaWtlIHRoZSBsZWFzdCBiYWQgb3B0aW9uLgpJJ2xsIHNlbmQgb3V0IGEgcHJvcGVyIHBhdGNo IHdpdGggdXBkYXRlZCBjb21tZW50cyBhbmQgd2lsbCBzZWUgd2hhdApwZW9wbGUgdGhpbmsuCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 407DEC35247 for ; Mon, 3 Feb 2020 17:08:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1ED6B2080D for ; Mon, 3 Feb 2020 17:08:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728368AbgBCRIN (ORCPT ); Mon, 3 Feb 2020 12:08:13 -0500 Received: from verein.lst.de ([213.95.11.211]:56981 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727708AbgBCRIN (ORCPT ); Mon, 3 Feb 2020 12:08:13 -0500 Received: by verein.lst.de (Postfix, from userid 2407) id 3F48368BFE; Mon, 3 Feb 2020 18:08:09 +0100 (CET) Date: Mon, 3 Feb 2020 18:08:09 +0100 From: Christoph Hellwig To: Peter Ujfalusi Cc: Christoph Hellwig , robh@kernel.org, vigneshr@ti.com, konrad.wilk@oracle.com, linux@armlinux.org.uk, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Robin Murphy , linux-arm-kernel@lists.infradead.org, rogerq@ti.com Subject: Re: [PoC] arm: dma-mapping: direct: Apply dma_pfn_offset only when it is valid Message-ID: <20200203170809.GA19293@lst.de> References: <8eb68140-97b2-62ce-3e06-3761984aa5b1@ti.com> <20200114164332.3164-1-peter.ujfalusi@ti.com> <28ee3395-baed-8d59-8546-ab7765829cc8@ti.com> <4f0e307f-29a9-44cd-eeaa-3b999e03871c@arm.com> <75843c71-1718-8d61-5e3d-edba6e1b10bd@ti.com> <20200130075332.GA30735@lst.de> <20200130164010.GA6472@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jan 31, 2020 at 04:00:20PM +0200, Peter Ujfalusi wrote: > I see. My PoC patch was not too off then ;) > So the plan is to have a generic implementation for all of the > architecture, right? І don't know of a concrete plan, but that's defintively what I'd like to see. > >> The dma_pfn_offset is _still_ applied to the mask we are trying to set > >> (and validate) via dma-direct. > > > > And for the general case that is exactly the right thing to do, we > > just need to deal with really odd ZONE_DMA placements like yours. > > I'm still not convinced, the point of the DMA mask, at least how I see > it, to check that the dma address can be handled by the device (DMA, > peripheral with built in DMA, etc), it is not against physical address. > Doing phys_to_dma() on the mask from the dma_set_mask() is just wrong. We have a translation between the addresses that the device sees, and those that the CPU sees. The device can address N bits of address space as seen from the device. The addresses encoded in max_pfn, zone_dma_bits or the harcoded 32 in the zone dma 32 case are CPU address. So no, we can't blindly compare those. > > But that will cause yet another regression in what we have just fixed > > with using the generic direct ops, at which points it turns into who > > screams louder. > > Hehe, I see. > I genuinely curious why k2 platform worked just fine with LPAE (it needs > it), but guys had issues with LPAE on dra7/am5. > The fix for dra7/am5 broke k2. > As far as I can see the main (only) difference is that k2 have > dma_pfn_offset = 0x780000, while dra7/am5 have it 0 (really direct mapping). How much memory does the platform have? Once you are above 32-bits worth of address space devices with a 32-bit DMA mask can't address all the memory. Now if k2 for example only had less than 4G of memory, but at addresses over 4G, and the offset compensates for the offset of the DRAM it works without bounce buffering and thus didn't need swiotlb. But any platform that has DRAM that is not addressable will need swiotlb. > > u64 min_mask; > > > > + if (mask >= DMA_BIT_MASK(32)) > > + return 1; > > + > > Right, so skipping phys_to_dma() for the mask and believing that it will > work.. > > It does: audio and dmatest memcpy tests are just fine with this, MMC > also probed with ADMA enabled. > > As far as I can tell it works as well as falling back to the old arm ops > in case of LPAE && dma_pfn_offset != 0 > > Fwiw: > Tested-by: Peter Ujfalusi > > Would you be comfortable to send this patch for mainline with > Fixes: ad3c7b18c5b3 ("arm: use swiotlb for bounce buffering on LPAE > configs") That is the big question. I don't feel overly comfortable as I've been trying to get this right, but so far it seems like the least bad option. I'll send out a proper patch with updated comments and will see what people think.