From: Arnd Bergmann <arnd@arndb.de> To: Christoph Hellwig <hch@lst.de> Cc: Guo Ren <guoren@kernel.org>, Michal Simek <monstr@monstr.eu>, Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>, "the arch/x86 maintainers" <x86@kernel.org>, alpha <linux-alpha@vger.kernel.org>, "open list:SYNOPSYS ARC ARCHITECTURE" <linux-snps-arc@lists.infradead.org>, Linux ARM <linux-arm-kernel@lists.infradead.org>, "open list:QUALCOMM HEXAGON..." <linux-hexagon@vger.kernel.org>, linux-ia64@vger.kernel.org, linux-m68k <linux-m68k@lists.linux-m68k.org>, linux-mips@vger.kernel.org, "moderated list:NIOS2 ARCHITECTURE" <nios2-dev@lists.rocketboards.org>, openrisc@lists.librecores.org, Parisc List <linux-parisc@vger.kernel.org>, linux-riscv@lists.infradead.org, linux-s390 <linux-s390@vger.kernel.org>, Linux-sh list <linux-sh@vger.kernel.org>, sparclinux <sparclinux@vger.kernel.org>, linux-xtensa@linux-xtensa.org, linux-mtd <linux-mtd@lists.infradead.org>, linux-arch <linux-arch@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 10/21] asm-generic: ioremap_uc should behave the same with and without MMU Date: Mon, 11 Nov 2019 11:27:27 +0100 [thread overview] Message-ID: <CAK8P3a0rTvfPP2LUMw8EC0xz5gfZP5+NUkoaZBJrtYYfr6YRig@mail.gmail.com> (raw) In-Reply-To: <20191111101531.GA12294@lst.de> On Mon, Nov 11, 2019 at 11:15 AM Christoph Hellwig <hch@lst.de> wrote: > > On Mon, Nov 11, 2019 at 11:09:05AM +0100, Arnd Bergmann wrote: > > Maybe we could move the definition into the atyfb driver itself? > > > > As I understand it, the difference between ioremap()/ioremap_nocache() > > and ioremap_uc() only exists on pre-PAT x86-32 systems (i.e. 486, P5, > > Ppro, PII, K6, VIA C3), while on more modern systems (all non-x86, > > PentiumIII, Athlon, VIA C7) those three are meant to be synonyms > > anyway. > > That's not how I understood it. Based on the code and the UC- > explanation ioremap_uc always overrides the MTRR, which can still > be present on more modern x86 systems. As I understand, the point is that on PAT-enabled systems, the normal ioremap() *also* overrides the MTRR, citing from Documentation/x86/pat.rst: ==== ======= === ========================= ===================== MTRR Non-PAT PAT Linux ioremap value Effective memory type ==== ======= === ========================= ===================== PAT Non-PAT | PAT |PCD | ||PWT | ||| | WC 000 WB _PAGE_CACHE_MODE_WB WC | WC WC 001 WC _PAGE_CACHE_MODE_WC WC* | WC WC 010 UC- _PAGE_CACHE_MODE_UC_MINUS WC* | UC WC 011 UC _PAGE_CACHE_MODE_UC UC | UC ==== ======= === ========================= ===================== > In fact I remember a patch > floating around very recently adding another ioremap_uc caller in > some Atom platform device driver that works around buggy MTRR > tables. Also this series actually adds a new override and a few > callers for ia64 platform code, which works very similar to x86 > based on the comments in the code. That being said I'm not sure > the callers in ia64 are really required, but it was the safest thing > to do as part of this cleanup. Ok, fair enough. Let's just go with your version for now, if only to not hold your series up more. I'd still suggest we change atyfb to only use ioremap_uc() on i386 and maybe ia64. I can send a patch for that. Arnd
next prev parent reply other threads:[~2019-11-11 10:27 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20191029064834.23438-1-hch@lst.de> [not found] ` <20191029064834.23438-8-hch@lst.de> 2019-11-05 14:29 ` [PATCH 07/21] parisc: remove __ioremap Helge Deller [not found] ` <20191029064834.23438-18-hch@lst.de> 2019-11-07 15:29 ` [PATCH 17/21] lib: provide a simple generic ioremap implementation Palmer Dabbelt 2019-11-11 10:10 ` Arnd Bergmann 2019-11-07 20:47 ` generic-iomap tree for linux-next Christoph Hellwig 2019-11-08 2:20 ` Stephen Rothwell 2019-11-08 4:52 ` Stephen Rothwell 2019-11-08 5:14 ` Christoph Hellwig [not found] ` <20191029064834.23438-11-hch@lst.de> 2019-11-06 17:56 ` [PATCH 10/21] asm-generic: ioremap_uc should behave the same with and without MMU Palmer Dabbelt 2019-11-11 10:09 ` Arnd Bergmann 2019-11-11 10:15 ` Christoph Hellwig 2019-11-11 10:27 ` Arnd Bergmann [this message] 2019-11-11 10:29 ` Christoph Hellwig 2019-11-11 19:33 ` Arnd Bergmann [not found] ` <20191029064834.23438-13-hch@lst.de> 2019-11-07 15:29 ` [PATCH 12/21] arch: rely on asm-generic/io.h for default ioremap_* definitions Palmer Dabbelt 2019-11-11 10:10 ` Arnd Bergmann [not found] ` <20191029064834.23438-12-hch@lst.de> 2019-11-06 18:11 ` [PATCH 11/21] asm-generic: don't provide ioremap for CONFIG_MMU Palmer Dabbelt 2019-11-06 18:16 ` Geert Uytterhoeven 2019-11-06 18:28 ` Christoph Hellwig 2019-11-11 10:31 ` Arnd Bergmann 2019-11-11 10:29 ` Arnd Bergmann [not found] ` <20191029064834.23438-2-hch@lst.de> 2019-11-11 10:33 ` [PATCH 01/21] arm: remove ioremap_cached Arnd Bergmann [not found] ` <20191029064834.23438-4-hch@lst.de> 2019-11-11 10:36 ` [PATCH 03/21] ia64: rename ioremap_nocache to ioremap_uc Arnd Bergmann [not found] ` <20191029064834.23438-20-hch@lst.de> 2019-11-12 8:51 ` [PATCH 19/21] nds32: use generic ioremap Greentime Hu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAK8P3a0rTvfPP2LUMw8EC0xz5gfZP5+NUkoaZBJrtYYfr6YRig@mail.gmail.com \ --to=arnd@arndb.de \ --cc=deanbo422@gmail.com \ --cc=green.hu@gmail.com \ --cc=guoren@kernel.org \ --cc=gxt@pku.edu.cn \ --cc=hch@lst.de \ --cc=linux-alpha@vger.kernel.org \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-hexagon@vger.kernel.org \ --cc=linux-ia64@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-m68k@lists.linux-m68k.org \ --cc=linux-mips@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=linux-parisc@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=linux-s390@vger.kernel.org \ --cc=linux-sh@vger.kernel.org \ --cc=linux-snps-arc@lists.infradead.org \ --cc=linux-xtensa@linux-xtensa.org \ --cc=monstr@monstr.eu \ --cc=nios2-dev@lists.rocketboards.org \ --cc=openrisc@lists.librecores.org \ --cc=sparclinux@vger.kernel.org \ --cc=x86@kernel.org \ --subject='Re: [PATCH 10/21] asm-generic: ioremap_uc should behave the same with and without MMU' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).