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=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 1DE6EC4743F for ; Tue, 8 Jun 2021 15:00:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0667661183 for ; Tue, 8 Jun 2021 15:00:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233725AbhFHPCR (ORCPT ); Tue, 8 Jun 2021 11:02:17 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([185.58.85.151]:49688 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233716AbhFHPCP (ORCPT ); Tue, 8 Jun 2021 11:02:15 -0400 Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-162-9RBwFXs0Nk6I40uBzgaFIw-1; Tue, 08 Jun 2021 16:00:19 +0100 X-MC-Unique: 9RBwFXs0Nk6I40uBzgaFIw-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) by AcuMS.aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 8 Jun 2021 16:00:17 +0100 Received: from AcuMS.Aculab.com ([fe80::994c:f5c2:35d6:9b65]) by AcuMS.aculab.com ([fe80::994c:f5c2:35d6:9b65%12]) with mapi id 15.00.1497.018; Tue, 8 Jun 2021 16:00:17 +0100 From: David Laight To: 'Christoph Hellwig' , Guo Ren CC: Nick Kossifidis , Drew Fustini , Anup Patel , Palmer Dabbelt , "wefu@redhat.com" , =?utf-8?B?V2VpIFd1ICjlkLTkvJ8p?= , linux-riscv , "Linux Kernel Mailing List" , linux-arch , "linux-sunxi@lists.linux.dev" , Guo Ren , "Paul Walmsley" , Benjamin Koch , Matteo Croce , Wei Fu Subject: RE: [PATCH RFC 0/3] riscv: Add DMA_COHERENT support Thread-Topic: [PATCH RFC 0/3] riscv: Add DMA_COHERENT support Thread-Index: AQHXW2Yf+E+HbgFRkkm3Xv2DTkp7y6sKNaKQ Date: Tue, 8 Jun 2021 15:00:17 +0000 Message-ID: <2db975b5f24149b19191120b9f0f506b@AcuMS.aculab.com> References: <1621400656-25678-1-git-send-email-guoren@kernel.org> <20210519052048.GA24853@lst.de> <20210519064435.GA3076809@x1> <20210519065352.GA31590@lst.de> <29733b0931d9dd6a2f0b6919067c7efe@mailhost.ics.forth.gr> <20210607062701.GB24060@lst.de> In-Reply-To: <20210607062701.GB24060@lst.de> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogQ2hyaXN0b3BoIEhlbGx3aWcNCj4gU2VudDogMDcgSnVuZSAyMDIxIDA3OjI3DQo+IA0K PiBPbiBNb24sIEp1biAwNywgMjAyMSBhdCAxMToxOTowM0FNICswODAwLCBHdW8gUmVuIHdyb3Rl Og0KPiA+ID5Gcm9tIExpbnV4IG5vbi1jb2hlcmVuY3kgdmlldywgd2UgbmVlZDoNCj4gPiAgLSBO b24tY2FjaGUgKyBTdHJvbmcgT3JkZXIgUFRFIGF0dHJpYnV0ZXMgdG8gZGVhbCB3aXRoIGRyaXZl cnMnIERNQSBkZXNjcmlwdG9ycw0KPiA+ICAtIE5vbi1jYWNoZSArIHdlYWsgb3JkZXIgdG8gZGVh bCB3aXRoIGZyYW1lYnVmZmVyIGRyaXZlcnMNCj4gPiAgLSBDTU8gZG1hX3N5bmMgdG8gc3luYyBj YWNoZSB3aXRoIERNQSBkZXZpY2VzDQo+IA0KPiBUaGlzIGlzIG5vdCBzdHJpY3RseSB0cnVlLiAg QXQgdGhlIHZlcnkgbWluaW11bSB5b3Ugb25seSBuZWVkIGNhY2hlDQo+IGludmFsaWRhdGlvbiBh bmQgd3JpdGViYWNrIGluc3RydWN0aW9ucy4gIEZvciBleGFtcGxlIGVhcmx5IHBhcmlzYw0KPiBD UFVzIGFuZCBzb21lIG02OGtub21tdSBTT0NzIGhhdmUgbm8gc3VwcG9ydCBmb3IgdW5jYWNoZWQg YXJlYXMgYXQgYWxsLA0KPiBhbmQgTGludXggd29ya3MuICBCdXQgdG8gYmUgZmFpciB0aGlzIGlz IHZlcnkgcGFpbmZ1bCBhbmQgc3VwcG9ydHMgb25seQ0KPiB2ZXJ5IGxpbWl0ZWQgcGVyaXBoYWxz LiAgU28gZm9yIG1vZGVybiBmdWxsIExpbnV4IHN1cHBvcnQgc29tZSB1bmNhaGVkDQo+IG1lbW9y eSBpcyBhZHZpc2FibGUuICBCdXQgdGhhdCBkb2Vzbid0IGhhdmUgdG8gYmUgdXNpbmcgUFRFIGF0 dHJpYnV0ZXMuDQo+IEl0IGNvdWxkIGFsc28gYmUgcGh5c2ljYWwgbWVtb3J5IHJlZ2lvbnMgdGhh dCBhcmUgZWl0aGVyIHRvdGFsbHkgZml4ZWQNCj4gb3Igc29tZXdoYXQgZHluYW1pYy4NCg0KSXQg aXMgYWxtb3N0IGltcG9zc2libGUgdG8gaW50ZXJmYWNlIHRvIG1hbnkgZXRoZXJuZXQgY2hpcHMg d2l0aG91dA0KZWl0aGVyIGNvaGVyZW50IG9yIHVuY2FjaGVkIG1lbW9yeSBmb3IgdGhlIGRlc2Ny aXB0b3IgcmluZ3MuDQpUaGUgc3RhdHVzIGJpdHMgb24gdGhlIHRyYW5zbWl0IHJpbmcgYXJlIHBh cnRpY3VsYXJseSBwcm9ibGVtYXRpYy4NCg0KVGhlIHJlY2VpdmUgcmluZyBjYW4gYmUgZG9uZSB3 aXRoIHdyaXRlYmFjaytpbnZhbGlkYXRlIHByb3ZpZGVkIHlvdQ0KZmlsbCBhIGNhY2hlIGxpbmUg YXQgYSB0aW1lLg0KDQoJRGF2aWQNCg0KLQ0KUmVnaXN0ZXJlZCBBZGRyZXNzIExha2VzaWRlLCBC cmFtbGV5IFJvYWQsIE1vdW50IEZhcm0sIE1pbHRvbiBLZXluZXMsIE1LMSAxUFQsIFVLDQpSZWdp c3RyYXRpb24gTm86IDEzOTczODYgKFdhbGVzKQ0K 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=-3.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 42BE4C47082 for ; Tue, 8 Jun 2021 15:00:42 +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 1408F61185 for ; Tue, 8 Jun 2021 15:00:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1408F61185 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=ACULAB.COM Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=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.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=zN0rlagZRn4dOszFdYNDPaPk4wGTrHczH6Hi6afMdWI=; b=oOx9n6+y6NgLD8 bSRT5ydgMp1LA/f2cBx9+RbWvnxzdRcKTYZLKrUlUZm9Gg34CSDvcof0S8qaS4BnahuWjmiNF1970 q9Mxx1EG3+jYzEuFCqGJ00csgaTKyAkuD7idfBzdlIbCmN0i78wz5Ck94IPKjCfYzA+BPHhpeeiMW DNTy4c1HGlU5Cr0CY/KaZBxU3yTHgGfSmcMCIk5Pb58NlwuiupdwEv2Fgb7HS/DNrFsljIOk5zbge EnCUPAgBV8rz7oASzm51IdlwB5b8Gplq0/j04KDvd/NvKmoNJZcQczJeXBmcUckJj4eEoqlWaukBg LSCJs22+ifdn778JiVLg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqdDO-0094Na-9M; Tue, 08 Jun 2021 15:00:26 +0000 Received: from eu-smtp-delivery-151.mimecast.com ([185.58.85.151]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lqdDL-0094Kw-0K for linux-riscv@lists.infradead.org; Tue, 08 Jun 2021 15:00:24 +0000 Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-162-9RBwFXs0Nk6I40uBzgaFIw-1; Tue, 08 Jun 2021 16:00:19 +0100 X-MC-Unique: 9RBwFXs0Nk6I40uBzgaFIw-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) by AcuMS.aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 8 Jun 2021 16:00:17 +0100 Received: from AcuMS.Aculab.com ([fe80::994c:f5c2:35d6:9b65]) by AcuMS.aculab.com ([fe80::994c:f5c2:35d6:9b65%12]) with mapi id 15.00.1497.018; Tue, 8 Jun 2021 16:00:17 +0100 From: David Laight To: 'Christoph Hellwig' , Guo Ren CC: Nick Kossifidis , Drew Fustini , Anup Patel , Palmer Dabbelt , "wefu@redhat.com" , =?utf-8?B?V2VpIFd1ICjlkLTkvJ8p?= , linux-riscv , "Linux Kernel Mailing List" , linux-arch , "linux-sunxi@lists.linux.dev" , Guo Ren , "Paul Walmsley" , Benjamin Koch , Matteo Croce , Wei Fu Subject: RE: [PATCH RFC 0/3] riscv: Add DMA_COHERENT support Thread-Topic: [PATCH RFC 0/3] riscv: Add DMA_COHERENT support Thread-Index: AQHXW2Yf+E+HbgFRkkm3Xv2DTkp7y6sKNaKQ Date: Tue, 8 Jun 2021 15:00:17 +0000 Message-ID: <2db975b5f24149b19191120b9f0f506b@AcuMS.aculab.com> References: <1621400656-25678-1-git-send-email-guoren@kernel.org> <20210519052048.GA24853@lst.de> <20210519064435.GA3076809@x1> <20210519065352.GA31590@lst.de> <29733b0931d9dd6a2f0b6919067c7efe@mailhost.ics.forth.gr> <20210607062701.GB24060@lst.de> In-Reply-To: <20210607062701.GB24060@lst.de> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210608_080023_364738_53A97A8B X-CRM114-Status: GOOD ( 14.01 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org From: Christoph Hellwig > Sent: 07 June 2021 07:27 > > On Mon, Jun 07, 2021 at 11:19:03AM +0800, Guo Ren wrote: > > >From Linux non-coherency view, we need: > > - Non-cache + Strong Order PTE attributes to deal with drivers' DMA descriptors > > - Non-cache + weak order to deal with framebuffer drivers > > - CMO dma_sync to sync cache with DMA devices > > This is not strictly true. At the very minimum you only need cache > invalidation and writeback instructions. For example early parisc > CPUs and some m68knommu SOCs have no support for uncached areas at all, > and Linux works. But to be fair this is very painful and supports only > very limited periphals. So for modern full Linux support some uncahed > memory is advisable. But that doesn't have to be using PTE attributes. > It could also be physical memory regions that are either totally fixed > or somewhat dynamic. It is almost impossible to interface to many ethernet chips without either coherent or uncached memory for the descriptor rings. The status bits on the transmit ring are particularly problematic. The receive ring can be done with writeback+invalidate provided you fill a cache line at a time. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales) _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv