All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20170317104339.GD24830@bart.dudau.co.uk>

diff --git a/a/1.txt b/N1/1.txt
index 7cc4cc5..2ac2fba 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -129,8 +129,3 @@ Liviu
  ('_')
  (⊃  )⊃
  |_|_|
-
-_______________________________________________
-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 f108b34..9622205 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -6,29 +6,40 @@
  "Subject\0Re: [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute\0"
  "Date\0Fri, 17 Mar 2017 10:43:39 +0000\0"
  "To\0Luis R. Rodriguez <mcgrof@kernel.org>\0"
- "Cc\0Wenrui Li <wenrui.li@rock-chips.com>"
-  Gabriele Paoloni <gabriele.paoloni@huawei.com>
+ "Cc\0Bjorn Helgaas <helgaas@kernel.org>"
+  Liviu Dudau <Liviu.Dudau@arm.com>
+  Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+  Paul E. McKenney <paulmck@linux.vnet.ibm.com>
+  Andy Lutomirski <luto@amacapital.net>
   linux-pci@vger.kernel.org
+  linux-arm-kernel@lists.infradead.org
+  Wenrui Li <wenrui.li@rock-chips.com>
+  Gabriele Paoloni <gabriele.paoloni@huawei.com>
+  Catalin Marinas <catalin.marinas@arm.com>
   Shawn Lin <shawn.lin@rock-chips.com>
-  Liviu Dudau <Liviu.Dudau@arm.com>
-  Russell King <linux@armlinux.org.uk>
+  Will Deacon <will.deacon@arm.com>
+  Michal Simek <michal.simek@xilinx.com>
   Thierry Reding <thierry.reding@gmail.com>
   Tanmay Inamdar <tinamdar@apm.com>
   linux-arch@vger.kernel.org
-  Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
   Pratyush Anand <pratyush.anand@gmail.com>
-  Michal Simek <michal.simek@xilinx.com>
-  Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
+  Russell King <linux@armlinux.org.uk>
+  Jon Mason <jonmason@broadcom.com>
   Murali Karicheri <m-karicheri2@ti.com>
-  Bjorn Helgaas <helgaas@kernel.org>
-  Catalin Marinas <catalin.marinas@arm.com>
-  Paul E. McKenney <paulmck@linux.vnet.ibm.com>
   Arnd Bergmann <arnd@arndb.de>
-  Jon Mason <jonmason@broadcom.com>
-  Will Deacon <will.deacon@arm.com>
+  Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
+  Ray Jui <rjui@broadcom.com>
   John Garry <john.garry@huawei.com>
   Joao Pinto <Joao.Pinto@synopsys.com>
- " Bjorn Helgaas <bhelgaas@g>\0"
+  Bjorn Helgaas <bhelgaas@google.com>
+  Mingkai Hu <mingkai.hu@freescale.com>
+  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+  Jingoo Han <jingoohan1@gmail.com>
+  linux-kernel@vger.kernel.org
+  Stanimir Varbanov <svarbanov@mm-sol.com>
+  Minghuan Lian <minghuan.Lian@freescale.com>
+  Zhou Wang <wangzhou1@hisilicon.com>
+ " Roy Zang <tie-fei.zang@freescale.com>\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 17, 2017 at 01:33:21AM +0100, Luis R. Rodriguez wrote:\n"
@@ -161,11 +172,6 @@
  " _|_|_\n"
  " ('_')\n"
  " (\342\212\203  )\342\212\203\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
+  |_|_|
 
-69f52b46a6e7a2f982c7b29ae04adc296f7bebc29bb6ca59532a21664a5b37b8
+d2a0f91ef59af194e793e4c201df878a040376362d13dd540aea815c2f080c30

diff --git a/a/1.txt b/N2/1.txt
index 7cc4cc5..8bba52a 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,136 +1,96 @@
-On Fri, Mar 17, 2017 at 01:33:21AM +0100, Luis R. Rodriguez wrote:
-> On Thu, Mar 16, 2017 at 04:48:44PM -0500, Bjorn Helgaas wrote:
-> > [+cc Luis]
-> > 
-> > On Mon, Feb 27, 2017 at 03:14:13PM +0000, Lorenzo Pieralisi wrote:
-> > > According to the PCI local bus specifications (Revision 3.0, 3.2.5),
-> > > I/O Address space transactions are non-posted. On architectures where
-> > > I/O space is implemented through a chunk of memory mapped space mapped
-> > > to PCI address space (ie IA64/ARM/ARM64) the memory mapping for the
-> > > region backing I/O Address Space transactions determines the I/O
-> > > transactions attributes (before the transactions actually reaches the
-> > > PCI bus where it is handled according to the PCI specifications).
-> > > 
-> > > Current pci_remap_iospace() interface, that is used to map the PCI I/O
-> > > Address Space into virtual address space, use pgprot_device() as memory
-> > > attribute for the virtual address mapping, that in some architectures
-> > > (ie ARM64) provides non-cacheable but write bufferable mappings (ie
-> > > posted writes), 
-> 
-> <sarcasm>
-> Gee wiz, I am glad this is so well documented.
-> </sarcasm>
-> 
-> > > which clash with the non-posted write behaviour for I/O
-> > > Address Space mandated by the PCI specifications.
-> > > 
-> > > Update the prot ioremap_page_range() parameter in pci_remap_iospace()
-> > > to pgprot_noncached to ensure that the virtual mapping backing
-> > > I/O Address Space guarantee non-posted write transactions issued
-> > > when addressing I/O Address Space through the MMIO mapping.
-> 
-> How did we end up with pgprot_device() then in the first place Liviu Dudau [0] ?
-> I ask for two reasons:
-
-[replying using personal email as the corporate email system is taking its sweet time
-to deliver the email to my inbox]
-
-I've asked the people with the right knowledge about the correct API to use (Hi Catalin!),
-and during the review it did not throw any red flags. I guess, given Bjorn's comment,
-that everyone assumed AArch64 is the same as all other architectures and pgprot_device
-is synonymous to pgprot_noncached.
-
-> 
-> a) should we then use a Fixes tag for this patch ?
-
-I'm not aware of issues being reported, but Lorenzo might have more info on this.
-
-> b) it does not seem clear what the semantics for pgprot_device() or even
->    pgprot_noncached(). Can you add some ?
-> 
-> 8b921acfeffdb ("PCI: Add pci_remap_iospace() to map bus I/O resources")
-> 
-> Also this patch claims archs can override this call alone, as its __weak.
-> So is the right thing to do to change pci_remap_iospace() to pgprot_noncached()
-> or is it for archs to add their own pci_remap_iospace()? If so why ? Without
-> proper semantics defined for these helpers this is all fuzzy.
-
-That was the initial intention, to let arches / platforms overwrite the whole
-pci_remap_iospace(). I guess the reality is that no one needs to overwrite it except
-for the AArch64 quirk, so probably easier to remove the __weak and fix the attributes for arm64.
-
-Best regards,
-Liviu
-
-> 
-> > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-> > > Cc: Arnd Bergmann <arnd@arndb.de>
-> > > Cc: Will Deacon <will.deacon@arm.com>
-> > > Cc: Bjorn Helgaas <bhelgaas@google.com>
-> > > Cc: Russell King <linux@armlinux.org.uk>
-> > > Cc: Catalin Marinas <catalin.marinas@arm.com>
-> > > ---
-> > >  drivers/pci/pci.c | 2 +-
-> > >  1 file changed, 1 insertion(+), 1 deletion(-)
-> > > 
-> > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
-> > > index bd98674..bfb3c6e 100644
-> > > --- a/drivers/pci/pci.c
-> > > +++ b/drivers/pci/pci.c
-> > > @@ -3375,7 +3375,7 @@ int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
-> > >  		return -EINVAL;
-> > >  
-> > >  	return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr,
-> > > -				  pgprot_device(PAGE_KERNEL));
-> > > +				  pgprot_noncached(PAGE_KERNEL));
-> > 
-> > pgprot_device() is equivalent to pgprot_noncached() on all arches
-> > except ARM64, and I trust you're doing the right thing on ARM64, so
-> > I'm fine with this from a PCI perspective.
-> > 
-> > I do find this puzzling because I naively expected pgprot_noncached()
-> > to match up with ioremap_nocache(), and apparently it doesn't.
-> > 
-> > For example, ARM64 ioremap_nocache() uses PROT_DEVICE_nGnRE, which
-> > doesn't match the MT_DEVICE_nGnRnE in pgprot_noncached().
-> > 
-> > The point of these patches is to use non-posted mappings.  Apparently
-> > you can do that with pgprot_noncached() here, but ioremap_nocache()
-> > isn't enough for the config space mappings?
-> 
-> This is for iospace it seems, so the other patch I think was for
-> config space.
-> 
->   Luis
-> 
-> > I suppose that's a consequence of the pgprot_noncached() vs
-> > ioremap_nocache() mismatch, but this is all extremely confusing.
-> > 
-> > >  #else
-> > >  	/* this architecture does not have memory mapped I/O space,
-> > >  	   so this function should never be called */
-> > > -- 
-> > > 2.10.0
-> > > 
-> > > 
-> > > _______________________________________________
-> > > linux-arm-kernel mailing list
-> > > linux-arm-kernel@lists.infradead.org
-> > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
-> > 
-> 
-> -- 
-> Luis Rodriguez, SUSE LINUX GmbH
-> Maxfeldstrasse 5; D-90409 Nuernberg
-
--- 
-   _
- _|_|_
- ('_')
- (⊃  )⊃
- |_|_|
-
-_______________________________________________
-linux-arm-kernel mailing list
-linux-arm-kernel@lists.infradead.org
-http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
+T24gRnJpLCBNYXIgMTcsIDIwMTcgYXQgMDE6MzM6MjFBTSArMDEwMCwgTHVpcyBSLiBSb2RyaWd1
+ZXogd3JvdGU6Cj4gT24gVGh1LCBNYXIgMTYsIDIwMTcgYXQgMDQ6NDg6NDRQTSAtMDUwMCwgQmpv
+cm4gSGVsZ2FhcyB3cm90ZToKPiA+IFsrY2MgTHVpc10KPiA+IAo+ID4gT24gTW9uLCBGZWIgMjcs
+IDIwMTcgYXQgMDM6MTQ6MTNQTSArMDAwMCwgTG9yZW56byBQaWVyYWxpc2kgd3JvdGU6Cj4gPiA+
+IEFjY29yZGluZyB0byB0aGUgUENJIGxvY2FsIGJ1cyBzcGVjaWZpY2F0aW9ucyAoUmV2aXNpb24g
+My4wLCAzLjIuNSksCj4gPiA+IEkvTyBBZGRyZXNzIHNwYWNlIHRyYW5zYWN0aW9ucyBhcmUgbm9u
+LXBvc3RlZC4gT24gYXJjaGl0ZWN0dXJlcyB3aGVyZQo+ID4gPiBJL08gc3BhY2UgaXMgaW1wbGVt
+ZW50ZWQgdGhyb3VnaCBhIGNodW5rIG9mIG1lbW9yeSBtYXBwZWQgc3BhY2UgbWFwcGVkCj4gPiA+
+IHRvIFBDSSBhZGRyZXNzIHNwYWNlIChpZSBJQTY0L0FSTS9BUk02NCkgdGhlIG1lbW9yeSBtYXBw
+aW5nIGZvciB0aGUKPiA+ID4gcmVnaW9uIGJhY2tpbmcgSS9PIEFkZHJlc3MgU3BhY2UgdHJhbnNh
+Y3Rpb25zIGRldGVybWluZXMgdGhlIEkvTwo+ID4gPiB0cmFuc2FjdGlvbnMgYXR0cmlidXRlcyAo
+YmVmb3JlIHRoZSB0cmFuc2FjdGlvbnMgYWN0dWFsbHkgcmVhY2hlcyB0aGUKPiA+ID4gUENJIGJ1
+cyB3aGVyZSBpdCBpcyBoYW5kbGVkIGFjY29yZGluZyB0byB0aGUgUENJIHNwZWNpZmljYXRpb25z
+KS4KPiA+ID4gCj4gPiA+IEN1cnJlbnQgcGNpX3JlbWFwX2lvc3BhY2UoKSBpbnRlcmZhY2UsIHRo
+YXQgaXMgdXNlZCB0byBtYXAgdGhlIFBDSSBJL08KPiA+ID4gQWRkcmVzcyBTcGFjZSBpbnRvIHZp
+cnR1YWwgYWRkcmVzcyBzcGFjZSwgdXNlIHBncHJvdF9kZXZpY2UoKSBhcyBtZW1vcnkKPiA+ID4g
+YXR0cmlidXRlIGZvciB0aGUgdmlydHVhbCBhZGRyZXNzIG1hcHBpbmcsIHRoYXQgaW4gc29tZSBh
+cmNoaXRlY3R1cmVzCj4gPiA+IChpZSBBUk02NCkgcHJvdmlkZXMgbm9uLWNhY2hlYWJsZSBidXQg
+d3JpdGUgYnVmZmVyYWJsZSBtYXBwaW5ncyAoaWUKPiA+ID4gcG9zdGVkIHdyaXRlcyksIAo+IAo+
+IDxzYXJjYXNtPgo+IEdlZSB3aXosIEkgYW0gZ2xhZCB0aGlzIGlzIHNvIHdlbGwgZG9jdW1lbnRl
+ZC4KPiA8L3NhcmNhc20+Cj4gCj4gPiA+IHdoaWNoIGNsYXNoIHdpdGggdGhlIG5vbi1wb3N0ZWQg
+d3JpdGUgYmVoYXZpb3VyIGZvciBJL08KPiA+ID4gQWRkcmVzcyBTcGFjZSBtYW5kYXRlZCBieSB0
+aGUgUENJIHNwZWNpZmljYXRpb25zLgo+ID4gPiAKPiA+ID4gVXBkYXRlIHRoZSBwcm90IGlvcmVt
+YXBfcGFnZV9yYW5nZSgpIHBhcmFtZXRlciBpbiBwY2lfcmVtYXBfaW9zcGFjZSgpCj4gPiA+IHRv
+IHBncHJvdF9ub25jYWNoZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHZpcnR1YWwgbWFwcGluZyBiYWNr
+aW5nCj4gPiA+IEkvTyBBZGRyZXNzIFNwYWNlIGd1YXJhbnRlZSBub24tcG9zdGVkIHdyaXRlIHRy
+YW5zYWN0aW9ucyBpc3N1ZWQKPiA+ID4gd2hlbiBhZGRyZXNzaW5nIEkvTyBBZGRyZXNzIFNwYWNl
+IHRocm91Z2ggdGhlIE1NSU8gbWFwcGluZy4KPiAKPiBIb3cgZGlkIHdlIGVuZCB1cCB3aXRoIHBn
+cHJvdF9kZXZpY2UoKSB0aGVuIGluIHRoZSBmaXJzdCBwbGFjZSBMaXZpdSBEdWRhdSBbMF0gPwo+
+IEkgYXNrIGZvciB0d28gcmVhc29uczoKCltyZXBseWluZyB1c2luZyBwZXJzb25hbCBlbWFpbCBh
+cyB0aGUgY29ycG9yYXRlIGVtYWlsIHN5c3RlbSBpcyB0YWtpbmcgaXRzIHN3ZWV0IHRpbWUKdG8g
+ZGVsaXZlciB0aGUgZW1haWwgdG8gbXkgaW5ib3hdCgpJJ3ZlIGFza2VkIHRoZSBwZW9wbGUgd2l0
+aCB0aGUgcmlnaHQga25vd2xlZGdlIGFib3V0IHRoZSBjb3JyZWN0IEFQSSB0byB1c2UgKEhpIENh
+dGFsaW4hKSwKYW5kIGR1cmluZyB0aGUgcmV2aWV3IGl0IGRpZCBub3QgdGhyb3cgYW55IHJlZCBm
+bGFncy4gSSBndWVzcywgZ2l2ZW4gQmpvcm4ncyBjb21tZW50LAp0aGF0IGV2ZXJ5b25lIGFzc3Vt
+ZWQgQUFyY2g2NCBpcyB0aGUgc2FtZSBhcyBhbGwgb3RoZXIgYXJjaGl0ZWN0dXJlcyBhbmQgcGdw
+cm90X2RldmljZQppcyBzeW5vbnltb3VzIHRvIHBncHJvdF9ub25jYWNoZWQuCgo+IAo+IGEpIHNo
+b3VsZCB3ZSB0aGVuIHVzZSBhIEZpeGVzIHRhZyBmb3IgdGhpcyBwYXRjaCA/CgpJJ20gbm90IGF3
+YXJlIG9mIGlzc3VlcyBiZWluZyByZXBvcnRlZCwgYnV0IExvcmVuem8gbWlnaHQgaGF2ZSBtb3Jl
+IGluZm8gb24gdGhpcy4KCj4gYikgaXQgZG9lcyBub3Qgc2VlbSBjbGVhciB3aGF0IHRoZSBzZW1h
+bnRpY3MgZm9yIHBncHJvdF9kZXZpY2UoKSBvciBldmVuCj4gICAgcGdwcm90X25vbmNhY2hlZCgp
+LiBDYW4geW91IGFkZCBzb21lID8KPiAKPiA4YjkyMWFjZmVmZmRiICgiUENJOiBBZGQgcGNpX3Jl
+bWFwX2lvc3BhY2UoKSB0byBtYXAgYnVzIEkvTyByZXNvdXJjZXMiKQo+IAo+IEFsc28gdGhpcyBw
+YXRjaCBjbGFpbXMgYXJjaHMgY2FuIG92ZXJyaWRlIHRoaXMgY2FsbCBhbG9uZSwgYXMgaXRzIF9f
+d2Vhay4KPiBTbyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8gdG8gY2hhbmdlIHBjaV9yZW1hcF9p
+b3NwYWNlKCkgdG8gcGdwcm90X25vbmNhY2hlZCgpCj4gb3IgaXMgaXQgZm9yIGFyY2hzIHRvIGFk
+ZCB0aGVpciBvd24gcGNpX3JlbWFwX2lvc3BhY2UoKT8gSWYgc28gd2h5ID8gV2l0aG91dAo+IHBy
+b3BlciBzZW1hbnRpY3MgZGVmaW5lZCBmb3IgdGhlc2UgaGVscGVycyB0aGlzIGlzIGFsbCBmdXp6
+eS4KClRoYXQgd2FzIHRoZSBpbml0aWFsIGludGVudGlvbiwgdG8gbGV0IGFyY2hlcyAvIHBsYXRm
+b3JtcyBvdmVyd3JpdGUgdGhlIHdob2xlCnBjaV9yZW1hcF9pb3NwYWNlKCkuIEkgZ3Vlc3MgdGhl
+IHJlYWxpdHkgaXMgdGhhdCBubyBvbmUgbmVlZHMgdG8gb3ZlcndyaXRlIGl0IGV4Y2VwdApmb3Ig
+dGhlIEFBcmNoNjQgcXVpcmssIHNvIHByb2JhYmx5IGVhc2llciB0byByZW1vdmUgdGhlIF9fd2Vh
+ayBhbmQgZml4IHRoZSBhdHRyaWJ1dGVzIGZvciBhcm02NC4KCkJlc3QgcmVnYXJkcywKTGl2aXUK
+Cj4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IExvcmVuem8gUGllcmFsaXNpIDxsb3JlbnpvLnBpZXJh
+bGlzaUBhcm0uY29tPgo+ID4gPiBDYzogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KPiA+
+ID4gQ2M6IFdpbGwgRGVhY29uIDx3aWxsLmRlYWNvbkBhcm0uY29tPgo+ID4gPiBDYzogQmpvcm4g
+SGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4KPiA+ID4gQ2M6IFJ1c3NlbGwgS2luZyA8bGlu
+dXhAYXJtbGludXgub3JnLnVrPgo+ID4gPiBDYzogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1h
+cmluYXNAYXJtLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL3BjaS9wY2kuYyB8IDIgKy0K
+PiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQo+ID4g
+PiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaS5jIGIvZHJpdmVycy9wY2kvcGNp
+LmMKPiA+ID4gaW5kZXggYmQ5ODY3NC4uYmZiM2M2ZSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVy
+cy9wY2kvcGNpLmMKPiA+ID4gKysrIGIvZHJpdmVycy9wY2kvcGNpLmMKPiA+ID4gQEAgLTMzNzUs
+NyArMzM3NSw3IEBAIGludCBwY2lfcmVtYXBfaW9zcGFjZShjb25zdCBzdHJ1Y3QgcmVzb3VyY2Ug
+KnJlcywgcGh5c19hZGRyX3QgcGh5c19hZGRyKQo+ID4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+
+ID4gIAo+ID4gPiAgCXJldHVybiBpb3JlbWFwX3BhZ2VfcmFuZ2UodmFkZHIsIHZhZGRyICsgcmVz
+b3VyY2Vfc2l6ZShyZXMpLCBwaHlzX2FkZHIsCj4gPiA+IC0JCQkJICBwZ3Byb3RfZGV2aWNlKFBB
+R0VfS0VSTkVMKSk7Cj4gPiA+ICsJCQkJICBwZ3Byb3Rfbm9uY2FjaGVkKFBBR0VfS0VSTkVMKSk7
+Cj4gPiAKPiA+IHBncHJvdF9kZXZpY2UoKSBpcyBlcXVpdmFsZW50IHRvIHBncHJvdF9ub25jYWNo
+ZWQoKSBvbiBhbGwgYXJjaGVzCj4gPiBleGNlcHQgQVJNNjQsIGFuZCBJIHRydXN0IHlvdSdyZSBk
+b2luZyB0aGUgcmlnaHQgdGhpbmcgb24gQVJNNjQsIHNvCj4gPiBJJ20gZmluZSB3aXRoIHRoaXMg
+ZnJvbSBhIFBDSSBwZXJzcGVjdGl2ZS4KPiA+IAo+ID4gSSBkbyBmaW5kIHRoaXMgcHV6emxpbmcg
+YmVjYXVzZSBJIG5haXZlbHkgZXhwZWN0ZWQgcGdwcm90X25vbmNhY2hlZCgpCj4gPiB0byBtYXRj
+aCB1cCB3aXRoIGlvcmVtYXBfbm9jYWNoZSgpLCBhbmQgYXBwYXJlbnRseSBpdCBkb2Vzbid0Lgo+
+ID4gCj4gPiBGb3IgZXhhbXBsZSwgQVJNNjQgaW9yZW1hcF9ub2NhY2hlKCkgdXNlcyBQUk9UX0RF
+VklDRV9uR25SRSwgd2hpY2gKPiA+IGRvZXNuJ3QgbWF0Y2ggdGhlIE1UX0RFVklDRV9uR25SbkUg
+aW4gcGdwcm90X25vbmNhY2hlZCgpLgo+ID4gCj4gPiBUaGUgcG9pbnQgb2YgdGhlc2UgcGF0Y2hl
+cyBpcyB0byB1c2Ugbm9uLXBvc3RlZCBtYXBwaW5ncy4gIEFwcGFyZW50bHkKPiA+IHlvdSBjYW4g
+ZG8gdGhhdCB3aXRoIHBncHJvdF9ub25jYWNoZWQoKSBoZXJlLCBidXQgaW9yZW1hcF9ub2NhY2hl
+KCkKPiA+IGlzbid0IGVub3VnaCBmb3IgdGhlIGNvbmZpZyBzcGFjZSBtYXBwaW5ncz8KPiAKPiBU
+aGlzIGlzIGZvciBpb3NwYWNlIGl0IHNlZW1zLCBzbyB0aGUgb3RoZXIgcGF0Y2ggSSB0aGluayB3
+YXMgZm9yCj4gY29uZmlnIHNwYWNlLgo+IAo+ICAgTHVpcwo+IAo+ID4gSSBzdXBwb3NlIHRoYXQn
+cyBhIGNvbnNlcXVlbmNlIG9mIHRoZSBwZ3Byb3Rfbm9uY2FjaGVkKCkgdnMKPiA+IGlvcmVtYXBf
+bm9jYWNoZSgpIG1pc21hdGNoLCBidXQgdGhpcyBpcyBhbGwgZXh0cmVtZWx5IGNvbmZ1c2luZy4K
+PiA+IAo+ID4gPiAgI2Vsc2UKPiA+ID4gIAkvKiB0aGlzIGFyY2hpdGVjdHVyZSBkb2VzIG5vdCBo
+YXZlIG1lbW9yeSBtYXBwZWQgSS9PIHNwYWNlLAo+ID4gPiAgCSAgIHNvIHRoaXMgZnVuY3Rpb24g
+c2hvdWxkIG5ldmVyIGJlIGNhbGxlZCAqLwo+ID4gPiAtLSAKPiA+ID4gMi4xMC4wCj4gPiA+IAo+
+ID4gPiAKPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
+X18KPiA+ID4gbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKPiA+ID4gbGludXgtYXJtLWtl
+cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gPiA+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn
+L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo+ID4gCj4gCj4gLS0gCj4gTHVpcyBS
+b2RyaWd1ZXosIFNVU0UgTElOVVggR21iSAo+IE1heGZlbGRzdHJhc3NlIDU7IEQtOTA0MDkgTnVl
+cm5iZXJnCgotLSAKICAgXwogX3xffF8KICgnXycpCiAo4oqDICAp4oqDCiB8X3xffAoKX19fX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l
+bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6
+Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=
diff --git a/a/content_digest b/N2/content_digest
index f108b34..4bedf30 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -28,144 +28,115 @@
   Will Deacon <will.deacon@arm.com>
   John Garry <john.garry@huawei.com>
   Joao Pinto <Joao.Pinto@synopsys.com>
- " Bjorn Helgaas <bhelgaas@g>\0"
+  Bjorn Helgaas <bhelgaas@google.com>
+  Mingkai Hu <mingkai.hu@freescale.com>
+  linux-arm-kernel@lists.infradead.org
+  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+  Jingoo Han <jingoohan1@gmail.com>
+  linux-kernel@vger.kernel.org
+  Ray Jui <rjui@broadcom.com>
+  Andy Lutomirski <luto@amacapital.net>
+  Stanimir Varbanov <svarbanov@mm-sol.com>
+  Minghuan Lian <minghuan.Lian@freescale.com>
+  Zhou Wang <wangzhou1@hisilicon.com>
+ " Roy Zang <tie-fei.zang@freescale.com>\0"
  "\00:1\0"
  "b\0"
- "On Fri, Mar 17, 2017 at 01:33:21AM +0100, Luis R. Rodriguez wrote:\n"
- "> On Thu, Mar 16, 2017 at 04:48:44PM -0500, Bjorn Helgaas wrote:\n"
- "> > [+cc Luis]\n"
- "> > \n"
- "> > On Mon, Feb 27, 2017 at 03:14:13PM +0000, Lorenzo Pieralisi wrote:\n"
- "> > > According to the PCI local bus specifications (Revision 3.0, 3.2.5),\n"
- "> > > I/O Address space transactions are non-posted. On architectures where\n"
- "> > > I/O space is implemented through a chunk of memory mapped space mapped\n"
- "> > > to PCI address space (ie IA64/ARM/ARM64) the memory mapping for the\n"
- "> > > region backing I/O Address Space transactions determines the I/O\n"
- "> > > transactions attributes (before the transactions actually reaches the\n"
- "> > > PCI bus where it is handled according to the PCI specifications).\n"
- "> > > \n"
- "> > > Current pci_remap_iospace() interface, that is used to map the PCI I/O\n"
- "> > > Address Space into virtual address space, use pgprot_device() as memory\n"
- "> > > attribute for the virtual address mapping, that in some architectures\n"
- "> > > (ie ARM64) provides non-cacheable but write bufferable mappings (ie\n"
- "> > > posted writes), \n"
- "> \n"
- "> <sarcasm>\n"
- "> Gee wiz, I am glad this is so well documented.\n"
- "> </sarcasm>\n"
- "> \n"
- "> > > which clash with the non-posted write behaviour for I/O\n"
- "> > > Address Space mandated by the PCI specifications.\n"
- "> > > \n"
- "> > > Update the prot ioremap_page_range() parameter in pci_remap_iospace()\n"
- "> > > to pgprot_noncached to ensure that the virtual mapping backing\n"
- "> > > I/O Address Space guarantee non-posted write transactions issued\n"
- "> > > when addressing I/O Address Space through the MMIO mapping.\n"
- "> \n"
- "> How did we end up with pgprot_device() then in the first place Liviu Dudau [0] ?\n"
- "> I ask for two reasons:\n"
- "\n"
- "[replying using personal email as the corporate email system is taking its sweet time\n"
- "to deliver the email to my inbox]\n"
- "\n"
- "I've asked the people with the right knowledge about the correct API to use (Hi Catalin!),\n"
- "and during the review it did not throw any red flags. I guess, given Bjorn's comment,\n"
- "that everyone assumed AArch64 is the same as all other architectures and pgprot_device\n"
- "is synonymous to pgprot_noncached.\n"
- "\n"
- "> \n"
- "> a) should we then use a Fixes tag for this patch ?\n"
- "\n"
- "I'm not aware of issues being reported, but Lorenzo might have more info on this.\n"
- "\n"
- "> b) it does not seem clear what the semantics for pgprot_device() or even\n"
- ">    pgprot_noncached(). Can you add some ?\n"
- "> \n"
- "> 8b921acfeffdb (\"PCI: Add pci_remap_iospace() to map bus I/O resources\")\n"
- "> \n"
- "> Also this patch claims archs can override this call alone, as its __weak.\n"
- "> So is the right thing to do to change pci_remap_iospace() to pgprot_noncached()\n"
- "> or is it for archs to add their own pci_remap_iospace()? If so why ? Without\n"
- "> proper semantics defined for these helpers this is all fuzzy.\n"
- "\n"
- "That was the initial intention, to let arches / platforms overwrite the whole\n"
- "pci_remap_iospace(). I guess the reality is that no one needs to overwrite it except\n"
- "for the AArch64 quirk, so probably easier to remove the __weak and fix the attributes for arm64.\n"
- "\n"
- "Best regards,\n"
- "Liviu\n"
- "\n"
- "> \n"
- "> > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>\n"
- "> > > Cc: Arnd Bergmann <arnd@arndb.de>\n"
- "> > > Cc: Will Deacon <will.deacon@arm.com>\n"
- "> > > Cc: Bjorn Helgaas <bhelgaas@google.com>\n"
- "> > > Cc: Russell King <linux@armlinux.org.uk>\n"
- "> > > Cc: Catalin Marinas <catalin.marinas@arm.com>\n"
- "> > > ---\n"
- "> > >  drivers/pci/pci.c | 2 +-\n"
- "> > >  1 file changed, 1 insertion(+), 1 deletion(-)\n"
- "> > > \n"
- "> > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c\n"
- "> > > index bd98674..bfb3c6e 100644\n"
- "> > > --- a/drivers/pci/pci.c\n"
- "> > > +++ b/drivers/pci/pci.c\n"
- "> > > @@ -3375,7 +3375,7 @@ int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)\n"
- "> > >  \t\treturn -EINVAL;\n"
- "> > >  \n"
- "> > >  \treturn ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr,\n"
- "> > > -\t\t\t\t  pgprot_device(PAGE_KERNEL));\n"
- "> > > +\t\t\t\t  pgprot_noncached(PAGE_KERNEL));\n"
- "> > \n"
- "> > pgprot_device() is equivalent to pgprot_noncached() on all arches\n"
- "> > except ARM64, and I trust you're doing the right thing on ARM64, so\n"
- "> > I'm fine with this from a PCI perspective.\n"
- "> > \n"
- "> > I do find this puzzling because I naively expected pgprot_noncached()\n"
- "> > to match up with ioremap_nocache(), and apparently it doesn't.\n"
- "> > \n"
- "> > For example, ARM64 ioremap_nocache() uses PROT_DEVICE_nGnRE, which\n"
- "> > doesn't match the MT_DEVICE_nGnRnE in pgprot_noncached().\n"
- "> > \n"
- "> > The point of these patches is to use non-posted mappings.  Apparently\n"
- "> > you can do that with pgprot_noncached() here, but ioremap_nocache()\n"
- "> > isn't enough for the config space mappings?\n"
- "> \n"
- "> This is for iospace it seems, so the other patch I think was for\n"
- "> config space.\n"
- "> \n"
- ">   Luis\n"
- "> \n"
- "> > I suppose that's a consequence of the pgprot_noncached() vs\n"
- "> > ioremap_nocache() mismatch, but this is all extremely confusing.\n"
- "> > \n"
- "> > >  #else\n"
- "> > >  \t/* this architecture does not have memory mapped I/O space,\n"
- "> > >  \t   so this function should never be called */\n"
- "> > > -- \n"
- "> > > 2.10.0\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\n"
- "> > \n"
- "> \n"
- "> -- \n"
- "> Luis Rodriguez, SUSE LINUX GmbH\n"
- "> Maxfeldstrasse 5; D-90409 Nuernberg\n"
- "\n"
- "-- \n"
- "   _\n"
- " _|_|_\n"
- " ('_')\n"
- " (\342\212\203  )\342\212\203\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
+ "T24gRnJpLCBNYXIgMTcsIDIwMTcgYXQgMDE6MzM6MjFBTSArMDEwMCwgTHVpcyBSLiBSb2RyaWd1\n"
+ "ZXogd3JvdGU6Cj4gT24gVGh1LCBNYXIgMTYsIDIwMTcgYXQgMDQ6NDg6NDRQTSAtMDUwMCwgQmpv\n"
+ "cm4gSGVsZ2FhcyB3cm90ZToKPiA+IFsrY2MgTHVpc10KPiA+IAo+ID4gT24gTW9uLCBGZWIgMjcs\n"
+ "IDIwMTcgYXQgMDM6MTQ6MTNQTSArMDAwMCwgTG9yZW56byBQaWVyYWxpc2kgd3JvdGU6Cj4gPiA+\n"
+ "IEFjY29yZGluZyB0byB0aGUgUENJIGxvY2FsIGJ1cyBzcGVjaWZpY2F0aW9ucyAoUmV2aXNpb24g\n"
+ "My4wLCAzLjIuNSksCj4gPiA+IEkvTyBBZGRyZXNzIHNwYWNlIHRyYW5zYWN0aW9ucyBhcmUgbm9u\n"
+ "LXBvc3RlZC4gT24gYXJjaGl0ZWN0dXJlcyB3aGVyZQo+ID4gPiBJL08gc3BhY2UgaXMgaW1wbGVt\n"
+ "ZW50ZWQgdGhyb3VnaCBhIGNodW5rIG9mIG1lbW9yeSBtYXBwZWQgc3BhY2UgbWFwcGVkCj4gPiA+\n"
+ "IHRvIFBDSSBhZGRyZXNzIHNwYWNlIChpZSBJQTY0L0FSTS9BUk02NCkgdGhlIG1lbW9yeSBtYXBw\n"
+ "aW5nIGZvciB0aGUKPiA+ID4gcmVnaW9uIGJhY2tpbmcgSS9PIEFkZHJlc3MgU3BhY2UgdHJhbnNh\n"
+ "Y3Rpb25zIGRldGVybWluZXMgdGhlIEkvTwo+ID4gPiB0cmFuc2FjdGlvbnMgYXR0cmlidXRlcyAo\n"
+ "YmVmb3JlIHRoZSB0cmFuc2FjdGlvbnMgYWN0dWFsbHkgcmVhY2hlcyB0aGUKPiA+ID4gUENJIGJ1\n"
+ "cyB3aGVyZSBpdCBpcyBoYW5kbGVkIGFjY29yZGluZyB0byB0aGUgUENJIHNwZWNpZmljYXRpb25z\n"
+ "KS4KPiA+ID4gCj4gPiA+IEN1cnJlbnQgcGNpX3JlbWFwX2lvc3BhY2UoKSBpbnRlcmZhY2UsIHRo\n"
+ "YXQgaXMgdXNlZCB0byBtYXAgdGhlIFBDSSBJL08KPiA+ID4gQWRkcmVzcyBTcGFjZSBpbnRvIHZp\n"
+ "cnR1YWwgYWRkcmVzcyBzcGFjZSwgdXNlIHBncHJvdF9kZXZpY2UoKSBhcyBtZW1vcnkKPiA+ID4g\n"
+ "YXR0cmlidXRlIGZvciB0aGUgdmlydHVhbCBhZGRyZXNzIG1hcHBpbmcsIHRoYXQgaW4gc29tZSBh\n"
+ "cmNoaXRlY3R1cmVzCj4gPiA+IChpZSBBUk02NCkgcHJvdmlkZXMgbm9uLWNhY2hlYWJsZSBidXQg\n"
+ "d3JpdGUgYnVmZmVyYWJsZSBtYXBwaW5ncyAoaWUKPiA+ID4gcG9zdGVkIHdyaXRlcyksIAo+IAo+\n"
+ "IDxzYXJjYXNtPgo+IEdlZSB3aXosIEkgYW0gZ2xhZCB0aGlzIGlzIHNvIHdlbGwgZG9jdW1lbnRl\n"
+ "ZC4KPiA8L3NhcmNhc20+Cj4gCj4gPiA+IHdoaWNoIGNsYXNoIHdpdGggdGhlIG5vbi1wb3N0ZWQg\n"
+ "d3JpdGUgYmVoYXZpb3VyIGZvciBJL08KPiA+ID4gQWRkcmVzcyBTcGFjZSBtYW5kYXRlZCBieSB0\n"
+ "aGUgUENJIHNwZWNpZmljYXRpb25zLgo+ID4gPiAKPiA+ID4gVXBkYXRlIHRoZSBwcm90IGlvcmVt\n"
+ "YXBfcGFnZV9yYW5nZSgpIHBhcmFtZXRlciBpbiBwY2lfcmVtYXBfaW9zcGFjZSgpCj4gPiA+IHRv\n"
+ "IHBncHJvdF9ub25jYWNoZWQgdG8gZW5zdXJlIHRoYXQgdGhlIHZpcnR1YWwgbWFwcGluZyBiYWNr\n"
+ "aW5nCj4gPiA+IEkvTyBBZGRyZXNzIFNwYWNlIGd1YXJhbnRlZSBub24tcG9zdGVkIHdyaXRlIHRy\n"
+ "YW5zYWN0aW9ucyBpc3N1ZWQKPiA+ID4gd2hlbiBhZGRyZXNzaW5nIEkvTyBBZGRyZXNzIFNwYWNl\n"
+ "IHRocm91Z2ggdGhlIE1NSU8gbWFwcGluZy4KPiAKPiBIb3cgZGlkIHdlIGVuZCB1cCB3aXRoIHBn\n"
+ "cHJvdF9kZXZpY2UoKSB0aGVuIGluIHRoZSBmaXJzdCBwbGFjZSBMaXZpdSBEdWRhdSBbMF0gPwo+\n"
+ "IEkgYXNrIGZvciB0d28gcmVhc29uczoKCltyZXBseWluZyB1c2luZyBwZXJzb25hbCBlbWFpbCBh\n"
+ "cyB0aGUgY29ycG9yYXRlIGVtYWlsIHN5c3RlbSBpcyB0YWtpbmcgaXRzIHN3ZWV0IHRpbWUKdG8g\n"
+ "ZGVsaXZlciB0aGUgZW1haWwgdG8gbXkgaW5ib3hdCgpJJ3ZlIGFza2VkIHRoZSBwZW9wbGUgd2l0\n"
+ "aCB0aGUgcmlnaHQga25vd2xlZGdlIGFib3V0IHRoZSBjb3JyZWN0IEFQSSB0byB1c2UgKEhpIENh\n"
+ "dGFsaW4hKSwKYW5kIGR1cmluZyB0aGUgcmV2aWV3IGl0IGRpZCBub3QgdGhyb3cgYW55IHJlZCBm\n"
+ "bGFncy4gSSBndWVzcywgZ2l2ZW4gQmpvcm4ncyBjb21tZW50LAp0aGF0IGV2ZXJ5b25lIGFzc3Vt\n"
+ "ZWQgQUFyY2g2NCBpcyB0aGUgc2FtZSBhcyBhbGwgb3RoZXIgYXJjaGl0ZWN0dXJlcyBhbmQgcGdw\n"
+ "cm90X2RldmljZQppcyBzeW5vbnltb3VzIHRvIHBncHJvdF9ub25jYWNoZWQuCgo+IAo+IGEpIHNo\n"
+ "b3VsZCB3ZSB0aGVuIHVzZSBhIEZpeGVzIHRhZyBmb3IgdGhpcyBwYXRjaCA/CgpJJ20gbm90IGF3\n"
+ "YXJlIG9mIGlzc3VlcyBiZWluZyByZXBvcnRlZCwgYnV0IExvcmVuem8gbWlnaHQgaGF2ZSBtb3Jl\n"
+ "IGluZm8gb24gdGhpcy4KCj4gYikgaXQgZG9lcyBub3Qgc2VlbSBjbGVhciB3aGF0IHRoZSBzZW1h\n"
+ "bnRpY3MgZm9yIHBncHJvdF9kZXZpY2UoKSBvciBldmVuCj4gICAgcGdwcm90X25vbmNhY2hlZCgp\n"
+ "LiBDYW4geW91IGFkZCBzb21lID8KPiAKPiA4YjkyMWFjZmVmZmRiICgiUENJOiBBZGQgcGNpX3Jl\n"
+ "bWFwX2lvc3BhY2UoKSB0byBtYXAgYnVzIEkvTyByZXNvdXJjZXMiKQo+IAo+IEFsc28gdGhpcyBw\n"
+ "YXRjaCBjbGFpbXMgYXJjaHMgY2FuIG92ZXJyaWRlIHRoaXMgY2FsbCBhbG9uZSwgYXMgaXRzIF9f\n"
+ "d2Vhay4KPiBTbyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8gdG8gY2hhbmdlIHBjaV9yZW1hcF9p\n"
+ "b3NwYWNlKCkgdG8gcGdwcm90X25vbmNhY2hlZCgpCj4gb3IgaXMgaXQgZm9yIGFyY2hzIHRvIGFk\n"
+ "ZCB0aGVpciBvd24gcGNpX3JlbWFwX2lvc3BhY2UoKT8gSWYgc28gd2h5ID8gV2l0aG91dAo+IHBy\n"
+ "b3BlciBzZW1hbnRpY3MgZGVmaW5lZCBmb3IgdGhlc2UgaGVscGVycyB0aGlzIGlzIGFsbCBmdXp6\n"
+ "eS4KClRoYXQgd2FzIHRoZSBpbml0aWFsIGludGVudGlvbiwgdG8gbGV0IGFyY2hlcyAvIHBsYXRm\n"
+ "b3JtcyBvdmVyd3JpdGUgdGhlIHdob2xlCnBjaV9yZW1hcF9pb3NwYWNlKCkuIEkgZ3Vlc3MgdGhl\n"
+ "IHJlYWxpdHkgaXMgdGhhdCBubyBvbmUgbmVlZHMgdG8gb3ZlcndyaXRlIGl0IGV4Y2VwdApmb3Ig\n"
+ "dGhlIEFBcmNoNjQgcXVpcmssIHNvIHByb2JhYmx5IGVhc2llciB0byByZW1vdmUgdGhlIF9fd2Vh\n"
+ "ayBhbmQgZml4IHRoZSBhdHRyaWJ1dGVzIGZvciBhcm02NC4KCkJlc3QgcmVnYXJkcywKTGl2aXUK\n"
+ "Cj4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IExvcmVuem8gUGllcmFsaXNpIDxsb3JlbnpvLnBpZXJh\n"
+ "bGlzaUBhcm0uY29tPgo+ID4gPiBDYzogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KPiA+\n"
+ "ID4gQ2M6IFdpbGwgRGVhY29uIDx3aWxsLmRlYWNvbkBhcm0uY29tPgo+ID4gPiBDYzogQmpvcm4g\n"
+ "SGVsZ2FhcyA8YmhlbGdhYXNAZ29vZ2xlLmNvbT4KPiA+ID4gQ2M6IFJ1c3NlbGwgS2luZyA8bGlu\n"
+ "dXhAYXJtbGludXgub3JnLnVrPgo+ID4gPiBDYzogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1h\n"
+ "cmluYXNAYXJtLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL3BjaS9wY2kuYyB8IDIgKy0K\n"
+ "PiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQo+ID4g\n"
+ "PiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaS5jIGIvZHJpdmVycy9wY2kvcGNp\n"
+ "LmMKPiA+ID4gaW5kZXggYmQ5ODY3NC4uYmZiM2M2ZSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVy\n"
+ "cy9wY2kvcGNpLmMKPiA+ID4gKysrIGIvZHJpdmVycy9wY2kvcGNpLmMKPiA+ID4gQEAgLTMzNzUs\n"
+ "NyArMzM3NSw3IEBAIGludCBwY2lfcmVtYXBfaW9zcGFjZShjb25zdCBzdHJ1Y3QgcmVzb3VyY2Ug\n"
+ "KnJlcywgcGh5c19hZGRyX3QgcGh5c19hZGRyKQo+ID4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+\n"
+ "ID4gIAo+ID4gPiAgCXJldHVybiBpb3JlbWFwX3BhZ2VfcmFuZ2UodmFkZHIsIHZhZGRyICsgcmVz\n"
+ "b3VyY2Vfc2l6ZShyZXMpLCBwaHlzX2FkZHIsCj4gPiA+IC0JCQkJICBwZ3Byb3RfZGV2aWNlKFBB\n"
+ "R0VfS0VSTkVMKSk7Cj4gPiA+ICsJCQkJICBwZ3Byb3Rfbm9uY2FjaGVkKFBBR0VfS0VSTkVMKSk7\n"
+ "Cj4gPiAKPiA+IHBncHJvdF9kZXZpY2UoKSBpcyBlcXVpdmFsZW50IHRvIHBncHJvdF9ub25jYWNo\n"
+ "ZWQoKSBvbiBhbGwgYXJjaGVzCj4gPiBleGNlcHQgQVJNNjQsIGFuZCBJIHRydXN0IHlvdSdyZSBk\n"
+ "b2luZyB0aGUgcmlnaHQgdGhpbmcgb24gQVJNNjQsIHNvCj4gPiBJJ20gZmluZSB3aXRoIHRoaXMg\n"
+ "ZnJvbSBhIFBDSSBwZXJzcGVjdGl2ZS4KPiA+IAo+ID4gSSBkbyBmaW5kIHRoaXMgcHV6emxpbmcg\n"
+ "YmVjYXVzZSBJIG5haXZlbHkgZXhwZWN0ZWQgcGdwcm90X25vbmNhY2hlZCgpCj4gPiB0byBtYXRj\n"
+ "aCB1cCB3aXRoIGlvcmVtYXBfbm9jYWNoZSgpLCBhbmQgYXBwYXJlbnRseSBpdCBkb2Vzbid0Lgo+\n"
+ "ID4gCj4gPiBGb3IgZXhhbXBsZSwgQVJNNjQgaW9yZW1hcF9ub2NhY2hlKCkgdXNlcyBQUk9UX0RF\n"
+ "VklDRV9uR25SRSwgd2hpY2gKPiA+IGRvZXNuJ3QgbWF0Y2ggdGhlIE1UX0RFVklDRV9uR25SbkUg\n"
+ "aW4gcGdwcm90X25vbmNhY2hlZCgpLgo+ID4gCj4gPiBUaGUgcG9pbnQgb2YgdGhlc2UgcGF0Y2hl\n"
+ "cyBpcyB0byB1c2Ugbm9uLXBvc3RlZCBtYXBwaW5ncy4gIEFwcGFyZW50bHkKPiA+IHlvdSBjYW4g\n"
+ "ZG8gdGhhdCB3aXRoIHBncHJvdF9ub25jYWNoZWQoKSBoZXJlLCBidXQgaW9yZW1hcF9ub2NhY2hl\n"
+ "KCkKPiA+IGlzbid0IGVub3VnaCBmb3IgdGhlIGNvbmZpZyBzcGFjZSBtYXBwaW5ncz8KPiAKPiBU\n"
+ "aGlzIGlzIGZvciBpb3NwYWNlIGl0IHNlZW1zLCBzbyB0aGUgb3RoZXIgcGF0Y2ggSSB0aGluayB3\n"
+ "YXMgZm9yCj4gY29uZmlnIHNwYWNlLgo+IAo+ICAgTHVpcwo+IAo+ID4gSSBzdXBwb3NlIHRoYXQn\n"
+ "cyBhIGNvbnNlcXVlbmNlIG9mIHRoZSBwZ3Byb3Rfbm9uY2FjaGVkKCkgdnMKPiA+IGlvcmVtYXBf\n"
+ "bm9jYWNoZSgpIG1pc21hdGNoLCBidXQgdGhpcyBpcyBhbGwgZXh0cmVtZWx5IGNvbmZ1c2luZy4K\n"
+ "PiA+IAo+ID4gPiAgI2Vsc2UKPiA+ID4gIAkvKiB0aGlzIGFyY2hpdGVjdHVyZSBkb2VzIG5vdCBo\n"
+ "YXZlIG1lbW9yeSBtYXBwZWQgSS9PIHNwYWNlLAo+ID4gPiAgCSAgIHNvIHRoaXMgZnVuY3Rpb24g\n"
+ "c2hvdWxkIG5ldmVyIGJlIGNhbGxlZCAqLwo+ID4gPiAtLSAKPiA+ID4gMi4xMC4wCj4gPiA+IAo+\n"
+ "ID4gPiAKPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f\n"
+ "X18KPiA+ID4gbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKPiA+ID4gbGludXgtYXJtLWtl\n"
+ "cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gPiA+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn\n"
+ "L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo+ID4gCj4gCj4gLS0gCj4gTHVpcyBS\n"
+ "b2RyaWd1ZXosIFNVU0UgTElOVVggR21iSAo+IE1heGZlbGRzdHJhc3NlIDU7IEQtOTA0MDkgTnVl\n"
+ "cm5iZXJnCgotLSAKICAgXwogX3xffF8KICgnXycpCiAo4oqDICAp4oqDCiB8X3xffAoKX19fX19f\n"
+ "X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l\n"
+ "bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6\n"
+ Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=
 
-69f52b46a6e7a2f982c7b29ae04adc296f7bebc29bb6ca59532a21664a5b37b8
+b46de22c6d18cab12cc28b832d950051f7a5fa5060683ac18c4e60b501e38354

diff --git a/a/1.txt b/N3/1.txt
index 7cc4cc5..c2cfe22 100644
--- a/a/1.txt
+++ b/N3/1.txt
@@ -115,7 +115,7 @@ Liviu
 > > > 
 > > > _______________________________________________
 > > > linux-arm-kernel mailing list
-> > > linux-arm-kernel@lists.infradead.org
+> > > linux-arm-kernel at lists.infradead.org
 > > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
 > > 
 > 
@@ -127,10 +127,5 @@ Liviu
    _
  _|_|_
  ('_')
- (⊃  )⊃
+ (?  )?
  |_|_|
-
-_______________________________________________
-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/N3/content_digest
index f108b34..c269a58 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -2,33 +2,10 @@
  "ref\020170227151436.18698-3-lorenzo.pieralisi@arm.com\0"
  "ref\020170316214844.GA17769@bhelgaas-glaptop.roam.corp.google.com\0"
  "ref\020170317003321.GB28800@wotan.suse.de\0"
- "From\0Liviu Dudau <liviu@dudau.co.uk>\0"
- "Subject\0Re: [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute\0"
+ "From\0liviu@dudau.co.uk (Liviu Dudau)\0"
+ "Subject\0[PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute\0"
  "Date\0Fri, 17 Mar 2017 10:43:39 +0000\0"
- "To\0Luis R. Rodriguez <mcgrof@kernel.org>\0"
- "Cc\0Wenrui Li <wenrui.li@rock-chips.com>"
-  Gabriele Paoloni <gabriele.paoloni@huawei.com>
-  linux-pci@vger.kernel.org
-  Shawn Lin <shawn.lin@rock-chips.com>
-  Liviu Dudau <Liviu.Dudau@arm.com>
-  Russell King <linux@armlinux.org.uk>
-  Thierry Reding <thierry.reding@gmail.com>
-  Tanmay Inamdar <tinamdar@apm.com>
-  linux-arch@vger.kernel.org
-  Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-  Pratyush Anand <pratyush.anand@gmail.com>
-  Michal Simek <michal.simek@xilinx.com>
-  Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
-  Murali Karicheri <m-karicheri2@ti.com>
-  Bjorn Helgaas <helgaas@kernel.org>
-  Catalin Marinas <catalin.marinas@arm.com>
-  Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-  Arnd Bergmann <arnd@arndb.de>
-  Jon Mason <jonmason@broadcom.com>
-  Will Deacon <will.deacon@arm.com>
-  John Garry <john.garry@huawei.com>
-  Joao Pinto <Joao.Pinto@synopsys.com>
- " Bjorn Helgaas <bhelgaas@g>\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
  "On Fri, Mar 17, 2017 at 01:33:21AM +0100, Luis R. Rodriguez wrote:\n"
@@ -148,7 +125,7 @@
  "> > > \n"
  "> > > _______________________________________________\n"
  "> > > linux-arm-kernel mailing list\n"
- "> > > linux-arm-kernel@lists.infradead.org\n"
+ "> > > linux-arm-kernel at lists.infradead.org\n"
  "> > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel\n"
  "> > \n"
  "> \n"
@@ -160,12 +137,7 @@
  "   _\n"
  " _|_|_\n"
  " ('_')\n"
- " (\342\212\203  )\342\212\203\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
+ " (?  )?\n"
+  |_|_|
 
-69f52b46a6e7a2f982c7b29ae04adc296f7bebc29bb6ca59532a21664a5b37b8
+03f3de21a1110c14d4da53244f9d07a46c4e5fe349ccf22f29b5bce490b0f2ee

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.