diff for duplicates of <1492511808.25766.91.camel@kernel.crashing.org> diff --git a/a/1.txt b/N1/1.txt index 37218a6..6890695 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,64 +1,49 @@ -On Tue, 2017-04-18 at 09:57 +0100, Lorenzo Pieralisi 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_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 -> /* 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 -years. - -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. - -I'd rather we document that mmap'ing IO space via sysfs doesn't fully -respect the "non-posted" semantics of IO and be done with it. - -Is there any other practical use of non-posted mappings ? Config space -I suppose, though here mostly PCI host bridges handle it by doing a -read back in the config ops... - -Cheers, -Ben. - - -_______________________________________________ -linux-arm-kernel mailing list -linux-arm-kernel@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/linux-arm-kernel +T24gVHVlLCAyMDE3LTA0LTE4IGF0IDA5OjU3ICswMTAwLCBMb3JlbnpvIFBpZXJhbGlzaSB3cm90 +ZToKPiBJIGNhbiBhZGQgYSBkZWZpbmVkKHBncHJvdF9ub25wb3N0ZWQpIHRvIHBjaV9yZW1hcF9p +b3NwYWNlKCkgaWYgdGhhdCdzCj4gbm90IHRvbyB1Z2x5IChJIHN1c3BlY3QgQmpvcm4gaXMgdGhy +aWxsZWQgYWJvdXQgaXQgOikpLCB0aGF0IHBsdXMKPiB0aGUgS2NvbmZpZyBvcHRpb24gZm9yIGlv +cmVtYXBfbm9wb3N0KCkgc2hvdWxkIGNvbXBsZXRlIHRoaXMgc2VyaWVzLgo+IAo+IGludCBwY2lf +cmVtYXBfaW9zcGFjZShjb25zdCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywgcGh5c19hZGRyX3QgcGh5 +c19hZGRyKQo+IHsKPiAjaWYgZGVmaW5lZChQQ0lfSU9CQVNFKSAmJiBkZWZpbmVkKENPTkZJR19N +TVUpICYmIGRlZmluZWQocGdwcm90X25vbnBvc3RlZCkKPiDCoMKgwqDCoMKgwqDCoMKgdW5zaWdu +ZWQgbG9uZyB2YWRkciA9ICh1bnNpZ25lZCBsb25nKVBDSV9JT0JBU0UgKyByZXMtPnN0YXJ0Owo+ +IAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoIShyZXMtPmZsYWdzICYgSU9SRVNPVVJDRV9JTykpCj4g +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTDsKPiAKPiDCoMKg +wqDCoMKgwqDCoMKgaWYgKHJlcy0+ZW5kID4gSU9fU1BBQ0VfTElNSVQpCj4gwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1 +cm4gaW9yZW1hcF9wYWdlX3JhbmdlKHZhZGRyLCB2YWRkciArIHJlc291cmNlX3NpemUocmVzKSwg +cGh5c19hZGRyLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg +wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZ3Byb3Rfbm9ucG9zdGVkKFBBR0VfS0VSTkVMKSk7Cj4g +I2Vsc2UKPiDCoMKgwqDCoMKgwqDCoMKgLyogdGhpcyBhcmNoaXRlY3R1cmUgZG9lcyBub3QgaGF2 +ZSBtZW1vcnkgbWFwcGVkIEkvTyBzcGFjZSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzbyB0aGlz +IGZ1bmN0aW9uIHNob3VsZCBuZXZlciBiZSBjYWxsZWQgKi8KPiDCoMKgwqDCoMKgwqDCoMKgV0FS +Tl9PTkNFKDEsICJUaGlzIGFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBtYXBw +ZWQgSS9PXG4iKTsKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FTk9ERVY7Cj4gI2VuZGlmCgpU +aGUgYWJvdmUgd291bGQgZWZmZWN0aXZlbHkgZGlzYWJsZSBtbWFwJ2luZyBvZiBJTyBzcGFjZSBm +b3IgYW55CmFyY2hpdGVjdHVyZSB0aGF0IGRvZXNuJ3QgaGF2ZSBwZ3Byb3Rfbm9ucG9zdGVkLi4u +IHNvIGV2ZXJ5Ym9keSBleGNlcHQKQVJNLiBUaHVzIGJyZWFraW5nIGEgbnVtYmVyIG9mIHN5c3Rl +bXMgdGhhdCBoYXZlIGJlZW4gd29ya2luZyBmaW5lIGZvcgp5ZWFycy4KCkkgZmFpbCB0byBzZWUg +dGhlIHBvaW50Li4uLgoKSSB0aGluayB5b3UgYXJlIGdpdmluZyB0aGUgd2hvbGUgbm9uLXBvc3Rl +ZCBzdHVmZiB3YXkgbW9yZSBpbXBvcnRhbmNlCnRoYW4gaXQgZGVzZXJ2ZXMuIEl0J3Mgb3JpZ2lu +YWxseSBhIGtsdWRnZSBJbnRlbCBkaWQgdG8gUENJIGJlY2F1c2UgaXQKd2VsbCB3aXRoIHRoZWly +IHN5bmNocm9ub3VzIElPIHNwYWNlLCB3aGljaCB3YXMgaXRzZWxmIGEgcmVtbmFudCBvZgpwcmUt +aGlzdG9yeSB0aGF0IHNob3VsZCBoYXZlIGxvbmcgZGllZC4KCkluIHRoZSBzcGVjaWZpYyBjYXNl +IG9mIFBDSSAoYWdhaW4gSSdtIG5vdCB0YWxraW5nIGFib3V0IHRoZSBnZW5lcmFsCmNhc2Ugb2Yg +cGdwcm90L2lvcmVtYXBfbm9ucG9zdGVkKSwgd2UgaGF2ZSByb3V0aW5lbHkgYmVlbiAidmlvbGF0 +aW5nIgp0aGF0IHJ1bGUsIGF0IGxlYXN0IG9uIHRoZSBDUFUgLT4gUENJIEJyaWRnZSBwYXRoICh0 +aGUgUENJIGJyaWRnZQppdHNlbGYgdGVuZHMgdG8gcmVzcGVjdCBpdCB0aG91Z2ggSSd2ZSBzZWVu +IGV4Y2VwdGlvbnMpIGZvciBkZWNhZGVzCndpdGhvdXQgYW55IGFkdmVyc2UgZWZmZWN0LgoKSSBk +b24ndCB0aGluayB0aGVyZSdzIG11Y2ggY29kZSAoaWYgYW55KSBvdXQgdGhlcmUgd2hpY2ggYWN0 +dWFsbHkKcmVsaWVzIG9uIHRoZSBub24tcG9zdGVkIGNoYXJhY3RlcmlzdGljcyBvZiBJTyBzcGFj +ZS4KCkkgZG9uJ3QgY2FyZSAqdGhhdCogbXVjaCBtaW5kIHlvdSwgd2UgZHJvcHBlZCBJTyBzcGFj +ZSBvbiBQQ0kgd2l0aApQT1dFUjgsIGJ1dCBpdCB3b3VsZCBicmVhayBzdHVmZiBvbiBleGlzdGlu +ZyBvbGRlciBtYWNoaW5lcyBzdWNoIGFzClBvd2VyTWFjcyBmb3Igbm8gZ29vZCByZWFzb24uCgpJ +J2QgcmF0aGVyIHdlIGRvY3VtZW50IHRoYXQgbW1hcCdpbmcgSU8gc3BhY2UgdmlhIHN5c2ZzIGRv +ZXNuJ3QgZnVsbHkKcmVzcGVjdCB0aGUgIm5vbi1wb3N0ZWQiIHNlbWFudGljcyBvZiBJTyBhbmQg +YmUgZG9uZSB3aXRoIGl0LgoKSXMgdGhlcmUgYW55IG90aGVyIHByYWN0aWNhbCB1c2Ugb2Ygbm9u +LXBvc3RlZCBtYXBwaW5ncyA/IENvbmZpZyBzcGFjZQpJIHN1cHBvc2UsIHRob3VnaCBoZXJlIG1v +c3RseSBQQ0kgaG9zdCBicmlkZ2VzIGhhbmRsZSBpdCBieSBkb2luZyBhCnJlYWQgYmFjayBpbiB0 +aGUgY29uZmlnIG9wcy4uLgoKQ2hlZXJzLApCZW4uCgoKX19fX19fX19fX19fX19fX19fX19fX19f +X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu +dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu +b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= diff --git a/a/content_digest b/N1/content_digest index 71b36b1..6d6e390 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -36,72 +36,80 @@ Catalin Marinas <catalin.marinas@arm.com> Matt Turner <mattst88@gmail.com> Haavard Skinnemoen <hskinnemoen@gmail.com> - " Fenghua Yu <fenghua>\0" + 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" "\00:1\0" "b\0" - "On Tue, 2017-04-18 at 09:57 +0100, Lorenzo Pieralisi wrote:\n" - "> 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" - "> int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)\n" - "> {\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" - "> \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" - "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" - "years.\n" - "\n" - "I fail to see the point....\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" - "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" - "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" - "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" - "\n" - "I'd rather we document that mmap'ing IO space via sysfs doesn't fully\n" - "respect the \"non-posted\" semantics of IO and be done with it.\n" - "\n" - "Is there any other practical use of non-posted mappings ? Config space\n" - "I suppose, though here mostly PCI host bridges handle it by doing a\n" - "read back in the config ops...\n" - "\n" - "Cheers,\n" - "Ben.\n" - "\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 + "T24gVHVlLCAyMDE3LTA0LTE4IGF0IDA5OjU3ICswMTAwLCBMb3JlbnpvIFBpZXJhbGlzaSB3cm90\n" + "ZToKPiBJIGNhbiBhZGQgYSBkZWZpbmVkKHBncHJvdF9ub25wb3N0ZWQpIHRvIHBjaV9yZW1hcF9p\n" + "b3NwYWNlKCkgaWYgdGhhdCdzCj4gbm90IHRvbyB1Z2x5IChJIHN1c3BlY3QgQmpvcm4gaXMgdGhy\n" + "aWxsZWQgYWJvdXQgaXQgOikpLCB0aGF0IHBsdXMKPiB0aGUgS2NvbmZpZyBvcHRpb24gZm9yIGlv\n" + "cmVtYXBfbm9wb3N0KCkgc2hvdWxkIGNvbXBsZXRlIHRoaXMgc2VyaWVzLgo+IAo+IGludCBwY2lf\n" + "cmVtYXBfaW9zcGFjZShjb25zdCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywgcGh5c19hZGRyX3QgcGh5\n" + "c19hZGRyKQo+IHsKPiAjaWYgZGVmaW5lZChQQ0lfSU9CQVNFKSAmJiBkZWZpbmVkKENPTkZJR19N\n" + "TVUpICYmIGRlZmluZWQocGdwcm90X25vbnBvc3RlZCkKPiDCoMKgwqDCoMKgwqDCoMKgdW5zaWdu\n" + "ZWQgbG9uZyB2YWRkciA9ICh1bnNpZ25lZCBsb25nKVBDSV9JT0JBU0UgKyByZXMtPnN0YXJ0Owo+\n" + "IAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoIShyZXMtPmZsYWdzICYgSU9SRVNPVVJDRV9JTykpCj4g\n" + "wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTDsKPiAKPiDCoMKg\n" + "wqDCoMKgwqDCoMKgaWYgKHJlcy0+ZW5kID4gSU9fU1BBQ0VfTElNSVQpCj4gwqDCoMKgwqDCoMKg\n" + "wqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVJTlZBTAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1\n" + "cm4gaW9yZW1hcF9wYWdlX3JhbmdlKHZhZGRyLCB2YWRkciArIHJlc291cmNlX3NpemUocmVzKSwg\n" + "cGh5c19hZGRyLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg\n" + "wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZ3Byb3Rfbm9ucG9zdGVkKFBBR0VfS0VSTkVMKSk7Cj4g\n" + "I2Vsc2UKPiDCoMKgwqDCoMKgwqDCoMKgLyogdGhpcyBhcmNoaXRlY3R1cmUgZG9lcyBub3QgaGF2\n" + "ZSBtZW1vcnkgbWFwcGVkIEkvTyBzcGFjZSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzbyB0aGlz\n" + "IGZ1bmN0aW9uIHNob3VsZCBuZXZlciBiZSBjYWxsZWQgKi8KPiDCoMKgwqDCoMKgwqDCoMKgV0FS\n" + "Tl9PTkNFKDEsICJUaGlzIGFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBtYXBw\n" + "ZWQgSS9PXG4iKTsKPiDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FTk9ERVY7Cj4gI2VuZGlmCgpU\n" + "aGUgYWJvdmUgd291bGQgZWZmZWN0aXZlbHkgZGlzYWJsZSBtbWFwJ2luZyBvZiBJTyBzcGFjZSBm\n" + "b3IgYW55CmFyY2hpdGVjdHVyZSB0aGF0IGRvZXNuJ3QgaGF2ZSBwZ3Byb3Rfbm9ucG9zdGVkLi4u\n" + "IHNvIGV2ZXJ5Ym9keSBleGNlcHQKQVJNLiBUaHVzIGJyZWFraW5nIGEgbnVtYmVyIG9mIHN5c3Rl\n" + "bXMgdGhhdCBoYXZlIGJlZW4gd29ya2luZyBmaW5lIGZvcgp5ZWFycy4KCkkgZmFpbCB0byBzZWUg\n" + "dGhlIHBvaW50Li4uLgoKSSB0aGluayB5b3UgYXJlIGdpdmluZyB0aGUgd2hvbGUgbm9uLXBvc3Rl\n" + "ZCBzdHVmZiB3YXkgbW9yZSBpbXBvcnRhbmNlCnRoYW4gaXQgZGVzZXJ2ZXMuIEl0J3Mgb3JpZ2lu\n" + "YWxseSBhIGtsdWRnZSBJbnRlbCBkaWQgdG8gUENJIGJlY2F1c2UgaXQKd2VsbCB3aXRoIHRoZWly\n" + "IHN5bmNocm9ub3VzIElPIHNwYWNlLCB3aGljaCB3YXMgaXRzZWxmIGEgcmVtbmFudCBvZgpwcmUt\n" + "aGlzdG9yeSB0aGF0IHNob3VsZCBoYXZlIGxvbmcgZGllZC4KCkluIHRoZSBzcGVjaWZpYyBjYXNl\n" + "IG9mIFBDSSAoYWdhaW4gSSdtIG5vdCB0YWxraW5nIGFib3V0IHRoZSBnZW5lcmFsCmNhc2Ugb2Yg\n" + "cGdwcm90L2lvcmVtYXBfbm9ucG9zdGVkKSwgd2UgaGF2ZSByb3V0aW5lbHkgYmVlbiAidmlvbGF0\n" + "aW5nIgp0aGF0IHJ1bGUsIGF0IGxlYXN0IG9uIHRoZSBDUFUgLT4gUENJIEJyaWRnZSBwYXRoICh0\n" + "aGUgUENJIGJyaWRnZQppdHNlbGYgdGVuZHMgdG8gcmVzcGVjdCBpdCB0aG91Z2ggSSd2ZSBzZWVu\n" + "IGV4Y2VwdGlvbnMpIGZvciBkZWNhZGVzCndpdGhvdXQgYW55IGFkdmVyc2UgZWZmZWN0LgoKSSBk\n" + "b24ndCB0aGluayB0aGVyZSdzIG11Y2ggY29kZSAoaWYgYW55KSBvdXQgdGhlcmUgd2hpY2ggYWN0\n" + "dWFsbHkKcmVsaWVzIG9uIHRoZSBub24tcG9zdGVkIGNoYXJhY3RlcmlzdGljcyBvZiBJTyBzcGFj\n" + "ZS4KCkkgZG9uJ3QgY2FyZSAqdGhhdCogbXVjaCBtaW5kIHlvdSwgd2UgZHJvcHBlZCBJTyBzcGFj\n" + "ZSBvbiBQQ0kgd2l0aApQT1dFUjgsIGJ1dCBpdCB3b3VsZCBicmVhayBzdHVmZiBvbiBleGlzdGlu\n" + "ZyBvbGRlciBtYWNoaW5lcyBzdWNoIGFzClBvd2VyTWFjcyBmb3Igbm8gZ29vZCByZWFzb24uCgpJ\n" + "J2QgcmF0aGVyIHdlIGRvY3VtZW50IHRoYXQgbW1hcCdpbmcgSU8gc3BhY2UgdmlhIHN5c2ZzIGRv\n" + "ZXNuJ3QgZnVsbHkKcmVzcGVjdCB0aGUgIm5vbi1wb3N0ZWQiIHNlbWFudGljcyBvZiBJTyBhbmQg\n" + "YmUgZG9uZSB3aXRoIGl0LgoKSXMgdGhlcmUgYW55IG90aGVyIHByYWN0aWNhbCB1c2Ugb2Ygbm9u\n" + "LXBvc3RlZCBtYXBwaW5ncyA/IENvbmZpZyBzcGFjZQpJIHN1cHBvc2UsIHRob3VnaCBoZXJlIG1v\n" + "c3RseSBQQ0kgaG9zdCBicmlkZ2VzIGhhbmRsZSBpdCBieSBkb2luZyBhCnJlYWQgYmFjayBpbiB0\n" + "aGUgY29uZmlnIG9wcy4uLgoKQ2hlZXJzLApCZW4uCgoKX19fX19fX19fX19fX19fX19fX19fX19f\n" + "X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu\n" + "dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu\n" + b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= -7065f01728a75999280e42ca61acca1b91a98dae78f7177ee2efc923746f4305 +63fdb3656d241c93a9b240a15579e30012b46c5444f3bb97d93d36208b3adfb1
diff --git a/a/1.txt b/N2/1.txt index 37218a6..7d7eea6 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -6,20 +6,20 @@ On Tue, 2017-04-18 at 09:57 +0100, Lorenzo Pieralisi wrote: > int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr) > { > #if defined(PCI_IOBASE) && defined(CONFIG_MMU) && defined(pgprot_nonposted) -> unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start; +> ????????unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start; > -> if (!(res->flags & IORESOURCE_IO)) -> return -EINVAL; +> ????????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)); +> ????????if (res->end > IO_SPACE_LIMIT) +> ????????????????return -EINVAL +> ????????return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr, +> ????????????????????????????????? pgprot_nonposted(PAGE_KERNEL)); > #else -> /* 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; +> ????????/* 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 @@ -56,9 +56,3 @@ read back in the config ops... Cheers, Ben. - - -_______________________________________________ -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 71b36b1..f2db245 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -9,34 +9,10 @@ "ref\020170412224555.GB17774@n2100.armlinux.org.uk\0" "ref\01492044780.7236.87.camel@kernel.crashing.org\0" "ref\020170418085732.GA23882@red-moon\0" - "From\0Benjamin Herrenschmidt <benh@kernel.crashing.org>\0" - "Subject\0Re: [PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0" + "From\0benh@kernel.crashing.org (Benjamin Herrenschmidt)\0" + "Subject\0[PATCH v3 00/32] PCI: fix config and I/O Address space memory mappings\0" "Date\0Tue, 18 Apr 2017 20:36:48 +1000\0" - "To\0Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>\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>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Tue, 2017-04-18 at 09:57 +0100, Lorenzo Pieralisi wrote:\n" @@ -47,20 +23,20 @@ "> int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)\n" "> {\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" + "> ????????unsigned 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" + "> ????????if (!(res->flags & IORESOURCE_IO))\n" + "> ????????????????return -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" + "> ????????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" - "> \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" + "> ????????/* 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" "The above would effectively disable mmap'ing of IO space for any\n" @@ -96,12 +72,6 @@ "read back in the config ops...\n" "\n" "Cheers,\n" - "Ben.\n" - "\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 + Ben. -7065f01728a75999280e42ca61acca1b91a98dae78f7177ee2efc923746f4305 +f6e7baea83706443cf84c94e15810492ff21566657be12d02a4b1bce4b0e3067
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.