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,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 26040C4360C for ; Thu, 26 Sep 2019 10:46:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 072F4222C5 for ; Thu, 26 Sep 2019 10:46:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726089AbfIZKqV (ORCPT ); Thu, 26 Sep 2019 06:46:21 -0400 Received: from foss.arm.com ([217.140.110.172]:45326 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725802AbfIZKqV (ORCPT ); Thu, 26 Sep 2019 06:46:21 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 567981576; Thu, 26 Sep 2019 03:46:20 -0700 (PDT) Received: from [192.168.1.124] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BE7E83F67D; Thu, 26 Sep 2019 03:46:18 -0700 (PDT) Subject: Re: [RFC PATCH] xen/gntdev: Stop abusing DT of_dma_configure API To: Oleksandr Andrushchenko , Julien Grall , Rob Herring , Boris Ostrovsky Cc: "linux-kernel@vger.kernel.org" , Nicolas Saenz Julienne , Juergen Gross , Stefano Stabellini , "xen-devel@lists.xenproject.org" , Oleksandr Andrushchenko References: <20190925215006.12056-1-robh@kernel.org> <1ae7f42e-bf93-b335-b543-653fae5cf49f@epam.com> From: Robin Murphy Message-ID: <28440326-ed76-b014-c1b8-02125c3214b9@arm.com> Date: Thu, 26 Sep 2019 11:46:04 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 In-Reply-To: <1ae7f42e-bf93-b335-b543-653fae5cf49f@epam.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-09-26 11:17 am, Oleksandr Andrushchenko wrote: > > On 9/26/19 12:49 PM, Julien Grall wrote: >> Hi Rob, >> >> >> On 9/25/19 10:50 PM, Rob Herring wrote: >>> As the comment says, this isn't a DT based device. of_dma_configure() >>> is going to stop allowing a NULL DT node, so this needs to be fixed. >> >> And this can't work on arch not selecting CONFIG_OF and can select >> CONFIG_XEN_GRANT_DMA_ALLOC. >> >> We are lucky enough on x86 because, AFAICT, arch_setup_dma_ops is just >> a nop. >> > No luck is needed as [1] does nothing for those platforms not using > CONFIG_OF >>> >>> Not sure exactly what setup besides arch_setup_dma_ops is needed... >> >> We probably want to update dma_mask, coherent_dma_mask and >> dma_pfn_offset. >> >> Also, while look at of_configure_dma, I noticed that we consider the >> DMA will not be coherent for the grant-table. Oleksandr, do you know >> why they can't be coherent? > The main and the only reason to use of_configure_dma is that if we don't > then we > are about to stay with dma_dummy_ops [2]. It effectively means that > operations on dma-bufs > will end up returning errors, like [3], [4], thus not making it possible > for Xen PV DRM and DMA > part of gntdev driver to do what we need (dma-bufs in our use-cases > allow zero-copying > while using graphics buffers and many more). > > I didn't find any better way of achieving that, but of_configure_dma... > If there is any better solution which will not break the existing > functionality then > I will definitely change the drivers so we do not abuse DT ) > Before that, please keep in mind that merging this RFC will break Xen PV > DRM + > DMA buf support in gntdev... > Hope we can work out some acceptable solution, so everyone is happy As I mentioned elsewhere, the recent dma-direct rework means that dma_dummy_ops are now only explicitly installed for the ACPI error case, so - much as I may dislike it - you should get regular (direct/SWIOTLB) ops by default again. Coherency is trickier - if the guest is allocating buffers for the PV device, which may be shared directly with hardware by the host driver, then the coherency of the PV device should really reflect that of the underlying hardware to avoid potential problems. There are some cases where the stage 2 attributes alone wouldn't be enough to correct a mismatch. Robin. 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 031E2C432C2 for ; Thu, 26 Sep 2019 10:46:43 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 CD6B2207E0 for ; Thu, 26 Sep 2019 10:46:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CD6B2207E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iDRHz-0002pi-8i; Thu, 26 Sep 2019 10:46:23 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iDRHx-0002pP-Go for xen-devel@lists.xenproject.org; Thu, 26 Sep 2019 10:46:21 +0000 X-Inumbo-ID: e03d2628-e04a-11e9-bf31-bc764e2007e4 Received: from foss.arm.com (unknown [217.140.110.172]) by localhost (Halon) with ESMTP id e03d2628-e04a-11e9-bf31-bc764e2007e4; Thu, 26 Sep 2019 10:46:20 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 567981576; Thu, 26 Sep 2019 03:46:20 -0700 (PDT) Received: from [192.168.1.124] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BE7E83F67D; Thu, 26 Sep 2019 03:46:18 -0700 (PDT) To: Oleksandr Andrushchenko , Julien Grall , Rob Herring , Boris Ostrovsky References: <20190925215006.12056-1-robh@kernel.org> <1ae7f42e-bf93-b335-b543-653fae5cf49f@epam.com> From: Robin Murphy Message-ID: <28440326-ed76-b014-c1b8-02125c3214b9@arm.com> Date: Thu, 26 Sep 2019 11:46:04 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 In-Reply-To: <1ae7f42e-bf93-b335-b543-653fae5cf49f@epam.com> Content-Language: en-GB Subject: Re: [Xen-devel] [RFC PATCH] xen/gntdev: Stop abusing DT of_dma_configure API X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Stefano Stabellini , Oleksandr Andrushchenko , "linux-kernel@vger.kernel.org" , "xen-devel@lists.xenproject.org" , Nicolas Saenz Julienne Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMjAxOS0wOS0yNiAxMToxNyBhbSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4g Cj4gT24gOS8yNi8xOSAxMjo0OSBQTSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+PiBIaSBSb2IsCj4+ Cj4+Cj4+IE9uIDkvMjUvMTkgMTA6NTAgUE0sIFJvYiBIZXJyaW5nIHdyb3RlOgo+Pj4gQXMgdGhl IGNvbW1lbnQgc2F5cywgdGhpcyBpc24ndCBhIERUIGJhc2VkIGRldmljZS4gb2ZfZG1hX2NvbmZp Z3VyZSgpCj4+PiBpcyBnb2luZyB0byBzdG9wIGFsbG93aW5nIGEgTlVMTCBEVCBub2RlLCBzbyB0 aGlzIG5lZWRzIHRvIGJlIGZpeGVkLgo+Pgo+PiBBbmQgdGhpcyBjYW4ndCB3b3JrIG9uIGFyY2gg bm90IHNlbGVjdGluZyBDT05GSUdfT0YgYW5kIGNhbiBzZWxlY3QKPj4gQ09ORklHX1hFTl9HUkFO VF9ETUFfQUxMT0MuCj4+Cj4+IFdlIGFyZSBsdWNreSBlbm91Z2ggb24geDg2IGJlY2F1c2UsIEFG QUlDVCwgYXJjaF9zZXR1cF9kbWFfb3BzIGlzIGp1c3QKPj4gYSBub3AuCj4+Cj4gTm8gbHVjayBp cyBuZWVkZWQgYXMgWzFdIGRvZXMgbm90aGluZyBmb3IgdGhvc2UgcGxhdGZvcm1zIG5vdCB1c2lu Zwo+IENPTkZJR19PRgo+Pj4KPj4+IE5vdCBzdXJlIGV4YWN0bHkgd2hhdCBzZXR1cCBiZXNpZGVz IGFyY2hfc2V0dXBfZG1hX29wcyBpcyBuZWVkZWQuLi4KPj4KPj4gV2UgcHJvYmFibHkgd2FudCB0 byB1cGRhdGUgZG1hX21hc2ssIGNvaGVyZW50X2RtYV9tYXNrIGFuZAo+PiBkbWFfcGZuX29mZnNl dC4KPj4KPj4gQWxzbywgd2hpbGUgbG9vayBhdCBvZl9jb25maWd1cmVfZG1hLCBJIG5vdGljZWQg dGhhdCB3ZSBjb25zaWRlciB0aGUKPj4gRE1BIHdpbGwgbm90IGJlIGNvaGVyZW50IGZvciB0aGUg Z3JhbnQtdGFibGUuIE9sZWtzYW5kciwgZG8geW91IGtub3cKPj4gd2h5IHRoZXkgY2FuJ3QgYmUg Y29oZXJlbnQ/Cj4gVGhlIG1haW4gYW5kIHRoZSBvbmx5IHJlYXNvbiB0byB1c2Ugb2ZfY29uZmln dXJlX2RtYSBpcyB0aGF0IGlmIHdlIGRvbid0Cj4gdGhlbiB3ZQo+IGFyZSBhYm91dCB0byBzdGF5 IHdpdGggZG1hX2R1bW15X29wcyBbMl0uIEl0IGVmZmVjdGl2ZWx5IG1lYW5zIHRoYXQKPiBvcGVy YXRpb25zIG9uIGRtYS1idWZzCj4gd2lsbCBlbmQgdXAgcmV0dXJuaW5nIGVycm9ycywgbGlrZSBb M10sIFs0XSwgdGh1cyBub3QgbWFraW5nIGl0IHBvc3NpYmxlCj4gZm9yIFhlbiBQViBEUk0gYW5k IERNQQo+IHBhcnQgb2YgZ250ZGV2IGRyaXZlciB0byBkbyB3aGF0IHdlIG5lZWQgKGRtYS1idWZz IGluIG91ciB1c2UtY2FzZXMKPiBhbGxvdyB6ZXJvLWNvcHlpbmcKPiB3aGlsZSB1c2luZyBncmFw aGljcyBidWZmZXJzIGFuZCBtYW55IG1vcmUpLgo+IAo+IEkgZGlkbid0IGZpbmQgYW55IGJldHRl ciB3YXkgb2YgYWNoaWV2aW5nIHRoYXQsIGJ1dCBvZl9jb25maWd1cmVfZG1hLi4uCj4gSWYgdGhl cmUgaXMgYW55IGJldHRlciBzb2x1dGlvbiB3aGljaCB3aWxsIG5vdCBicmVhayB0aGUgZXhpc3Rp bmcKPiBmdW5jdGlvbmFsaXR5IHRoZW4KPiBJIHdpbGwgZGVmaW5pdGVseSBjaGFuZ2UgdGhlIGRy aXZlcnMgc28gd2UgZG8gbm90IGFidXNlIERUICkKPiBCZWZvcmUgdGhhdCwgcGxlYXNlIGtlZXAg aW4gbWluZCB0aGF0IG1lcmdpbmcgdGhpcyBSRkMgd2lsbCBicmVhayBYZW4gUFYKPiBEUk0gKwo+ IERNQSBidWYgc3VwcG9ydCBpbiBnbnRkZXYuLi4KPiBIb3BlIHdlIGNhbiB3b3JrIG91dCBzb21l IGFjY2VwdGFibGUgc29sdXRpb24sIHNvIGV2ZXJ5b25lIGlzIGhhcHB5CgpBcyBJIG1lbnRpb25l ZCBlbHNld2hlcmUsIHRoZSByZWNlbnQgZG1hLWRpcmVjdCByZXdvcmsgbWVhbnMgdGhhdCAKZG1h X2R1bW15X29wcyBhcmUgbm93IG9ubHkgZXhwbGljaXRseSBpbnN0YWxsZWQgZm9yIHRoZSBBQ1BJ IGVycm9yIGNhc2UsIApzbyAtIG11Y2ggYXMgSSBtYXkgZGlzbGlrZSBpdCAtIHlvdSBzaG91bGQg Z2V0IHJlZ3VsYXIgKGRpcmVjdC9TV0lPVExCKSAKb3BzIGJ5IGRlZmF1bHQgYWdhaW4uCgpDb2hl cmVuY3kgaXMgdHJpY2tpZXIgLSBpZiB0aGUgZ3Vlc3QgaXMgYWxsb2NhdGluZyBidWZmZXJzIGZv ciB0aGUgUFYgCmRldmljZSwgd2hpY2ggbWF5IGJlIHNoYXJlZCBkaXJlY3RseSB3aXRoIGhhcmR3 YXJlIGJ5IHRoZSBob3N0IGRyaXZlciwgCnRoZW4gdGhlIGNvaGVyZW5jeSBvZiB0aGUgUFYgZGV2 aWNlIHNob3VsZCByZWFsbHkgcmVmbGVjdCB0aGF0IG9mIHRoZSAKdW5kZXJseWluZyBoYXJkd2Fy ZSB0byBhdm9pZCBwb3RlbnRpYWwgcHJvYmxlbXMuIFRoZXJlIGFyZSBzb21lIGNhc2VzIAp3aGVy ZSB0aGUgc3RhZ2UgMiBhdHRyaWJ1dGVzIGFsb25lIHdvdWxkbid0IGJlIGVub3VnaCB0byBjb3Jy ZWN0IGEgbWlzbWF0Y2guCgpSb2Jpbi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=