[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210607062701.GB24060@lst.de>
Date: Mon, 7 Jun 2021 08:27:01 +0200
From: Christoph Hellwig <hch@....de>
To: Guo Ren <guoren@...nel.org>
Cc: Nick Kossifidis <mick@....forth.gr>,
Christoph Hellwig <hch@....de>,
Drew Fustini <drew@...gleboard.org>,
Anup Patel <anup.patel@....com>,
Palmer Dabbelt <palmerdabbelt@...gle.com>, wefu@...hat.com,
Wei Wu (吴伟) <lazyparser@...il.com>,
linux-riscv <linux-riscv@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arch <linux-arch@...r.kernel.org>,
linux-sunxi@...ts.linux.dev, Guo Ren <guoren@...ux.alibaba.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Benjamin Koch <snowball@...b.de>,
Matteo Croce <mcroce@...ux.microsoft.com>,
Wei Fu <tekkamanninja@...il.com>
Subject: Re: [PATCH RFC 0/3] riscv: Add DMA_COHERENT support
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.
Powered by blists - more mailing lists