diff for duplicates of <20170418110350.GA1941@red-moon> diff --git a/a/1.txt b/N1/1.txt index 98de2da..7f4ae89 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -3,37 +3,26 @@ On Tue, Apr 18, 2017 at 08:36:48PM +1000, Benjamin Herrenschmidt wrote: > > I can add a defined(pgprot_nonposted) to pci_remap_iospace() if that's > > not too ugly (I suspect Bjorn is thrilled about it :)), that plus > > the Kconfig option for ioremap_nopost() should complete this series. -> > = - +> > > > int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr) > > { -> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonpos= -ted) -> > =A0=A0=A0=A0=A0=A0=A0=A0unsigned long vaddr =3D (unsigned long)PCI_IOBA= -SE + res->start; -> > = - -> > =A0=A0=A0=A0=A0=A0=A0=A0if (!(res->flags & IORESOURCE_IO)) -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL; -> > = - -> > =A0=A0=A0=A0=A0=A0=A0=A0if (res->end > IO_SPACE_LIMIT) -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL -> > =A0=A0=A0=A0=A0=A0=A0=A0return ioremap_page_range(vaddr, vaddr + resour= -ce_size(res), phys_addr, -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 pgprot_nonposted(PAGE_KERNEL)); +> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonposted) +> > unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start; +> > +> > if (!(res->flags & IORESOURCE_IO)) +> > return -EINVAL; +> > +> > if (res->end > IO_SPACE_LIMIT) +> > return -EINVAL +> > return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr, +> > pgprot_nonposted(PAGE_KERNEL)); > > #else -> > =A0=A0=A0=A0=A0=A0=A0=A0/* this architecture does not have memory mappe= -d I/O space, -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 so this function should never be called = -*/ -> > =A0=A0=A0=A0=A0=A0=A0=A0WARN_ONCE(1, "This architecture does not suppor= -t memory mapped I/O\n"); -> > =A0=A0=A0=A0=A0=A0=A0=A0return -ENODEV; +> > /* this architecture does not have memory mapped I/O space, +> > so this function should never be called */ +> > WARN_ONCE(1, "This architecture does not support memory mapped I/O\n"); +> > return -ENODEV; > > #endif -> = - +> > The above would effectively disable mmap'ing of IO space for any > architecture that doesn't have pgprot_nonposted... so everybody except > ARM. Thus breaking a number of systems that have been working fine for @@ -44,25 +33,21 @@ what I would actually break (and I am not sure at all how well PCI IO space is tested on ARM/ARM64 machines anyway). > I fail to see the point.... -> = - +> > I think you are giving the whole non-posted stuff way more importance > than it deserves. It's originally a kludge Intel did to PCI because it > well with their synchronous IO space, which was itself a remnant of > pre-history that should have long died. -> = - +> > In the specific case of PCI (again I'm not talking about the general > case of pgprot/ioremap_nonposted), we have routinely been "violating" > that rule, at least on the CPU -> PCI Bridge path (the PCI bridge > itself tends to respect it though I've seen exceptions) for decades > without any adverse effect. -> = - +> > I don't think there's much code (if any) out there which actually > relies on the non-posted characteristics of IO space. -> = - +> > I don't care *that* much mind you, we dropped IO space on PCI with > POWER8, but it would break stuff on existing older machines such as > PowerMacs for no good reason. @@ -84,8 +69,3 @@ space. Thanks, Lorenzo - -_______________________________________________ -linux-arm-kernel mailing list -linux-arm-kernel@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N1/content_digest index afa8c45..3486139 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -35,30 +35,7 @@ Catalin Marinas <catalin.marinas@arm.com> Matt Turner <mattst88@gmail.com> Haavard Skinnemoen <hskinnemoen@gmail.com> - Fenghua Yu <fenghua.yu@intel.com> - James Hogan <james.hogan@imgtec.com> - Chris Metcalf <cmetcalf@mellanox.com> - Arnd Bergmann <arnd@arndb.de> - Heiko Carstens <heiko.carstens@de.ibm.com> - Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> - Mikael Starvik <starvik@axis.com> - Ivan Kokshaysky <ink@jurassic.park.msu.ru> - Bjorn Helgaas <bhelgaas@google.com> - Stafford Horne <shorne@gmail.com> - linux-arm-kernel@lists.infradead.org - Richard Henderson <rth@twiddle.net> - Chris Zankel <chris@zankel.net> - Michal Simek <monstr@monstr.eu> - Tony Luck <tony.luck@intel.com> - Vineet Gupta <vgupta@synopsys.com> - linux-kernel@vger.kernel.org - Ralf Baechle <ralf@linux-mips.org> - Richard Kuo <rkuo@codeaurora.org> - Niklas Cassel <nks@flawful.org> - Luis R. Rodriguez <mcgrof@kernel.org> - Martin Schwidefsky <schwidefsky@de.ibm.com> - Ley Foon Tan <lftan@altera.com> - " David S. Miller <davem@davemloft.net>\0" + " Fenghua Yu <fenghua>\0" "\00:1\0" "b\0" "On Tue, Apr 18, 2017 at 08:36:48PM +1000, Benjamin Herrenschmidt wrote:\n" @@ -66,37 +43,26 @@ "> > I can add a defined(pgprot_nonposted) to pci_remap_iospace() if that's\n" "> > not too ugly (I suspect Bjorn is thrilled about it :)), that plus\n" "> > the Kconfig option for ioremap_nopost() should complete this series.\n" - "> > =\n" - "\n" + "> > \n" "> > int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)\n" "> > {\n" - "> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonpos=\n" - "ted)\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0unsigned long vaddr =3D (unsigned long)PCI_IOBA=\n" - "SE + res->start;\n" - "> > =\n" - "\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0if (!(res->flags & IORESOURCE_IO))\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL;\n" - "> > =\n" - "\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0if (res->end > IO_SPACE_LIMIT)\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0return ioremap_page_range(vaddr, vaddr + resour=\n" - "ce_size(res), phys_addr,\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n" - "=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 pgprot_nonposted(PAGE_KERNEL));\n" + "> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonposted)\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;\n" + "> > \n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (!(res->flags & IORESOURCE_IO))\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return -EINVAL;\n" + "> > \n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (res->end > IO_SPACE_LIMIT)\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return -EINVAL\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr,\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 pgprot_nonposted(PAGE_KERNEL));\n" "> > #else\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0/* this architecture does not have memory mappe=\n" - "d I/O space,\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 so this function should never be called =\n" - "*/\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0WARN_ONCE(1, \"This architecture does not suppor=\n" - "t memory mapped I/O\\n\");\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0return -ENODEV;\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240/* this architecture does not have memory mapped I/O space,\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 so this function should never be called */\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240WARN_ONCE(1, \"This architecture does not support memory mapped I/O\\n\");\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return -ENODEV;\n" "> > #endif\n" - "> =\n" - "\n" + "> \n" "> The above would effectively disable mmap'ing of IO space for any\n" "> architecture that doesn't have pgprot_nonposted... so everybody except\n" "> ARM. Thus breaking a number of systems that have been working fine for\n" @@ -107,25 +73,21 @@ "space is tested on ARM/ARM64 machines anyway).\n" "\n" "> I fail to see the point....\n" - "> =\n" - "\n" + "> \n" "> I think you are giving the whole non-posted stuff way more importance\n" "> than it deserves. It's originally a kludge Intel did to PCI because it\n" "> well with their synchronous IO space, which was itself a remnant of\n" "> pre-history that should have long died.\n" - "> =\n" - "\n" + "> \n" "> In the specific case of PCI (again I'm not talking about the general\n" "> case of pgprot/ioremap_nonposted), we have routinely been \"violating\"\n" "> that rule, at least on the CPU -> PCI Bridge path (the PCI bridge\n" "> itself tends to respect it though I've seen exceptions) for decades\n" "> without any adverse effect.\n" - "> =\n" - "\n" + "> \n" "> I don't think there's much code (if any) out there which actually\n" "> relies on the non-posted characteristics of IO space.\n" - "> =\n" - "\n" + "> \n" "> I don't care *that* much mind you, we dropped IO space on PCI with\n" "> POWER8, but it would break stuff on existing older machines such as\n" "> PowerMacs for no good reason.\n" @@ -146,11 +108,6 @@ "space.\n" "\n" "Thanks,\n" - "Lorenzo\n" - "\n" - "_______________________________________________\n" - "linux-arm-kernel mailing list\n" - "linux-arm-kernel@lists.infradead.org\n" - http://lists.infradead.org/mailman/listinfo/linux-arm-kernel + Lorenzo -5391d7b9ecdf4e4a355e59859ffd81b849dd11532580d0a797bdad9514a64e1a +5ccbcf1cad40bc820d9c7a54a67f81572aa43d6250895a260b92dc4fccbef484
diff --git a/a/1.txt b/N2/1.txt index 98de2da..59d4426 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -3,37 +3,26 @@ On Tue, Apr 18, 2017 at 08:36:48PM +1000, Benjamin Herrenschmidt wrote: > > I can add a defined(pgprot_nonposted) to pci_remap_iospace() if that's > > not too ugly (I suspect Bjorn is thrilled about it :)), that plus > > the Kconfig option for ioremap_nopost() should complete this series. -> > = - +> > > > int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr) > > { -> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonpos= -ted) -> > =A0=A0=A0=A0=A0=A0=A0=A0unsigned long vaddr =3D (unsigned long)PCI_IOBA= -SE + res->start; -> > = - -> > =A0=A0=A0=A0=A0=A0=A0=A0if (!(res->flags & IORESOURCE_IO)) -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL; -> > = - -> > =A0=A0=A0=A0=A0=A0=A0=A0if (res->end > IO_SPACE_LIMIT) -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL -> > =A0=A0=A0=A0=A0=A0=A0=A0return ioremap_page_range(vaddr, vaddr + resour= -ce_size(res), phys_addr, -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 pgprot_nonposted(PAGE_KERNEL)); +> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonposted) +> > ????????unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start; +> > +> > ????????if (!(res->flags & IORESOURCE_IO)) +> > ????????????????return -EINVAL; +> > +> > ????????if (res->end > IO_SPACE_LIMIT) +> > ????????????????return -EINVAL +> > ????????return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr, +> > ????????????????????????????????? pgprot_nonposted(PAGE_KERNEL)); > > #else -> > =A0=A0=A0=A0=A0=A0=A0=A0/* this architecture does not have memory mappe= -d I/O space, -> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 so this function should never be called = -*/ -> > =A0=A0=A0=A0=A0=A0=A0=A0WARN_ONCE(1, "This architecture does not suppor= -t memory mapped I/O\n"); -> > =A0=A0=A0=A0=A0=A0=A0=A0return -ENODEV; +> > ????????/* this architecture does not have memory mapped I/O space, +> > ?????????? so this function should never be called */ +> > ????????WARN_ONCE(1, "This architecture does not support memory mapped I/O\n"); +> > ????????return -ENODEV; > > #endif -> = - +> > The above would effectively disable mmap'ing of IO space for any > architecture that doesn't have pgprot_nonposted... so everybody except > ARM. Thus breaking a number of systems that have been working fine for @@ -44,25 +33,21 @@ what I would actually break (and I am not sure at all how well PCI IO space is tested on ARM/ARM64 machines anyway). > I fail to see the point.... -> = - +> > I think you are giving the whole non-posted stuff way more importance > than it deserves. It's originally a kludge Intel did to PCI because it > well with their synchronous IO space, which was itself a remnant of > pre-history that should have long died. -> = - +> > In the specific case of PCI (again I'm not talking about the general > case of pgprot/ioremap_nonposted), we have routinely been "violating" > that rule, at least on the CPU -> PCI Bridge path (the PCI bridge > itself tends to respect it though I've seen exceptions) for decades > without any adverse effect. -> = - +> > I don't think there's much code (if any) out there which actually > relies on the non-posted characteristics of IO space. -> = - +> > I don't care *that* much mind you, we dropped IO space on PCI with > POWER8, but it would break stuff on existing older machines such as > PowerMacs for no good reason. @@ -84,8 +69,3 @@ space. Thanks, Lorenzo - -_______________________________________________ -linux-arm-kernel mailing list -linux-arm-kernel@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N2/content_digest index afa8c45..33e7111 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -8,57 +8,10 @@ "ref\01492044780.7236.87.camel@kernel.crashing.org\0" "ref\020170418085732.GA23882@red-moon\0" "ref\01492511808.25766.91.camel@kernel.crashing.org\0" - "From\0Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>\0" - "Subject\0Re: [PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0" + "From\0lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)\0" + "Subject\0[PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0" "Date\0Tue, 18 Apr 2017 12:03:50 +0100\0" - "To\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0" - "Cc\0Jonas Bonn <jonas@southpole.se>" - Rich Felker <dalias@libc.org> - linux-pci@vger.kernel.org - Will Deacon <will.deacon@arm.com> - James E.J. Bottomley <jejb@parisc-linux.org> - David Howells <dhowells@redhat.com> - Max Filippov <jcmvbkbc@gmail.com> - Paul Mackerras <paulus@samba.org> - Huacai Chen <chenhc@lemote.com> - Guan Xuetao <gxt@mprc.pku.edu.cn> - Thomas Gleixner <tglx@linutronix.de> - Hans-Christian Egtvedt <egtvedt@samfundet.no> - linux-arch@vger.kernel.org - Jesper Nilsson <jesper.nilsson@axis.com> - Yoshinori Sato <ysato@users.sourceforge.jp> - Michael Ellerman <mpe@ellerman.id.au> - Helge Deller <deller@gmx.de> - Russell King - ARM Linux <linux@armlinux.org.uk> - Ingo Molnar <mingo@redhat.com> - Geert Uytterhoeven <geert@linux-m68k.org> - Catalin Marinas <catalin.marinas@arm.com> - Matt Turner <mattst88@gmail.com> - Haavard Skinnemoen <hskinnemoen@gmail.com> - Fenghua Yu <fenghua.yu@intel.com> - James Hogan <james.hogan@imgtec.com> - Chris Metcalf <cmetcalf@mellanox.com> - Arnd Bergmann <arnd@arndb.de> - Heiko Carstens <heiko.carstens@de.ibm.com> - Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> - Mikael Starvik <starvik@axis.com> - Ivan Kokshaysky <ink@jurassic.park.msu.ru> - Bjorn Helgaas <bhelgaas@google.com> - Stafford Horne <shorne@gmail.com> - linux-arm-kernel@lists.infradead.org - Richard Henderson <rth@twiddle.net> - Chris Zankel <chris@zankel.net> - Michal Simek <monstr@monstr.eu> - Tony Luck <tony.luck@intel.com> - Vineet Gupta <vgupta@synopsys.com> - linux-kernel@vger.kernel.org - Ralf Baechle <ralf@linux-mips.org> - Richard Kuo <rkuo@codeaurora.org> - Niklas Cassel <nks@flawful.org> - Luis R. Rodriguez <mcgrof@kernel.org> - Martin Schwidefsky <schwidefsky@de.ibm.com> - Ley Foon Tan <lftan@altera.com> - " David S. Miller <davem@davemloft.net>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Tue, Apr 18, 2017 at 08:36:48PM +1000, Benjamin Herrenschmidt wrote:\n" @@ -66,37 +19,26 @@ "> > I can add a defined(pgprot_nonposted) to pci_remap_iospace() if that's\n" "> > not too ugly (I suspect Bjorn is thrilled about it :)), that plus\n" "> > the Kconfig option for ioremap_nopost() should complete this series.\n" - "> > =\n" - "\n" + "> > \n" "> > int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)\n" "> > {\n" - "> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonpos=\n" - "ted)\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0unsigned long vaddr =3D (unsigned long)PCI_IOBA=\n" - "SE + res->start;\n" - "> > =\n" - "\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0if (!(res->flags & IORESOURCE_IO))\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL;\n" - "> > =\n" - "\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0if (res->end > IO_SPACE_LIMIT)\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0return -EINVAL\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0return ioremap_page_range(vaddr, vaddr + resour=\n" - "ce_size(res), phys_addr,\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=\n" - "=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 pgprot_nonposted(PAGE_KERNEL));\n" + "> > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonposted)\n" + "> > ????????unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;\n" + "> > \n" + "> > ????????if (!(res->flags & IORESOURCE_IO))\n" + "> > ????????????????return -EINVAL;\n" + "> > \n" + "> > ????????if (res->end > IO_SPACE_LIMIT)\n" + "> > ????????????????return -EINVAL\n" + "> > ????????return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr,\n" + "> > ????????????????????????????????? pgprot_nonposted(PAGE_KERNEL));\n" "> > #else\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0/* this architecture does not have memory mappe=\n" - "d I/O space,\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 so this function should never be called =\n" - "*/\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0WARN_ONCE(1, \"This architecture does not suppor=\n" - "t memory mapped I/O\\n\");\n" - "> > =A0=A0=A0=A0=A0=A0=A0=A0return -ENODEV;\n" + "> > ????????/* this architecture does not have memory mapped I/O space,\n" + "> > ?????????? so this function should never be called */\n" + "> > ????????WARN_ONCE(1, \"This architecture does not support memory mapped I/O\\n\");\n" + "> > ????????return -ENODEV;\n" "> > #endif\n" - "> =\n" - "\n" + "> \n" "> The above would effectively disable mmap'ing of IO space for any\n" "> architecture that doesn't have pgprot_nonposted... so everybody except\n" "> ARM. Thus breaking a number of systems that have been working fine for\n" @@ -107,25 +49,21 @@ "space is tested on ARM/ARM64 machines anyway).\n" "\n" "> I fail to see the point....\n" - "> =\n" - "\n" + "> \n" "> I think you are giving the whole non-posted stuff way more importance\n" "> than it deserves. It's originally a kludge Intel did to PCI because it\n" "> well with their synchronous IO space, which was itself a remnant of\n" "> pre-history that should have long died.\n" - "> =\n" - "\n" + "> \n" "> In the specific case of PCI (again I'm not talking about the general\n" "> case of pgprot/ioremap_nonposted), we have routinely been \"violating\"\n" "> that rule, at least on the CPU -> PCI Bridge path (the PCI bridge\n" "> itself tends to respect it though I've seen exceptions) for decades\n" "> without any adverse effect.\n" - "> =\n" - "\n" + "> \n" "> I don't think there's much code (if any) out there which actually\n" "> relies on the non-posted characteristics of IO space.\n" - "> =\n" - "\n" + "> \n" "> I don't care *that* much mind you, we dropped IO space on PCI with\n" "> POWER8, but it would break stuff on existing older machines such as\n" "> PowerMacs for no good reason.\n" @@ -146,11 +84,6 @@ "space.\n" "\n" "Thanks,\n" - "Lorenzo\n" - "\n" - "_______________________________________________\n" - "linux-arm-kernel mailing list\n" - "linux-arm-kernel@lists.infradead.org\n" - http://lists.infradead.org/mailman/listinfo/linux-arm-kernel + Lorenzo -5391d7b9ecdf4e4a355e59859ffd81b849dd11532580d0a797bdad9514a64e1a +50d3465428b146463d9f451911d43addfd4d4dbcca30728893705601187bbbd2
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.