All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20170418110350.GA1941@red-moon>

diff --git a/a/1.txt b/N1/1.txt
index 00b3129..0dea9a5 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.
@@ -83,9 +68,4 @@ of any other non-posted writes ioremap requirements apart from config
 space.
 
 Thanks,
-Lorenzo
-
-_______________________________________________
-linux-arm-kernel mailing list
-linux-arm-kernel@lists.infradead.org
-http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
\ No newline at end of file
+Lorenzo
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index ca94252..8cf592a 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -64,30 +64,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"
 ]
 [
   "\0000:1\0"
@@ -101,37 +78,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",
@@ -142,25 +108,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",
@@ -181,12 +143,7 @@
   "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 00b3129..19888d3 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.
@@ -83,9 +68,4 @@ of any other non-posted writes ioremap requirements apart from config
 space.
 
 Thanks,
-Lorenzo
-
-_______________________________________________
-linux-arm-kernel mailing list
-linux-arm-kernel@lists.infradead.org
-http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
\ No newline at end of file
+Lorenzo
\ No newline at end of file
diff --git a/a/content_digest b/N2/content_digest
index ca94252..0a9d3e9 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -29,65 +29,16 @@
   "ref\0001492511808.25766.91.camel\@kernel.crashing.org\0"
 ]
 [
-  "From\0Lorenzo Pieralisi <lorenzo.pieralisi\@arm.com>\0"
+  "From\0lorenzo.pieralisi\@arm.com (Lorenzo Pieralisi)\0"
 ]
 [
-  "Subject\0Re: [PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\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"
 ]
 [
   "\0000:1\0"
@@ -101,37 +52,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",
@@ -142,25 +82,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",
@@ -181,12 +117,7 @@
   "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.