From: Liviu Dudau <liviu@dudau.co.uk>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: Wenrui 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>
Subject: Re: [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute
Date: Fri, 17 Mar 2017 10:43:39 +0000 [thread overview]
Message-ID: <20170317104339.GD24830@bart.dudau.co.uk> (raw)
In-Reply-To: <20170317003321.GB28800@wotan.suse.de>
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
WARNING: multiple messages have this Message-ID (diff)
From: Liviu Dudau <liviu@dudau.co.uk>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: Bjorn 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>,
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,
Pratyush Anand <pratyush.anand@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Jon Mason <jonmason@broadcom.com>,
Murali Karicheri <m-karicheri2@ti.com>,
Arnd Bergmann <arnd@arndb.de>,
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@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>
Subject: Re: [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute
Date: Fri, 17 Mar 2017 10:43:39 +0000 [thread overview]
Message-ID: <20170317104339.GD24830@bart.dudau.co.uk> (raw)
Message-ID: <20170317104339.IjiN5y1NBkzy9PioKifSJIjKm-gq2Hfh0dVs80PVQVs@z> (raw)
In-Reply-To: <20170317003321.GB28800@wotan.suse.de>
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
--
_
_|_|_
('_')
(⊃ )⊃
|_|_|
WARNING: multiple messages have this Message-ID (diff)
From: Liviu Dudau <liviu@dudau.co.uk>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: Wenrui 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@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>
Subject: Re: [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute
Date: Fri, 17 Mar 2017 10:43:39 +0000 [thread overview]
Message-ID: <20170317104339.GD24830@bart.dudau.co.uk> (raw)
In-Reply-To: <20170317003321.GB28800@wotan.suse.de>
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=
WARNING: multiple messages have this Message-ID (diff)
From: liviu@dudau.co.uk (Liviu Dudau)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute
Date: Fri, 17 Mar 2017 10:43:39 +0000 [thread overview]
Message-ID: <20170317104339.GD24830@bart.dudau.co.uk> (raw)
In-Reply-To: <20170317003321.GB28800@wotan.suse.de>
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 at lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
>
> --
> Luis Rodriguez, SUSE LINUX GmbH
> Maxfeldstrasse 5; D-90409 Nuernberg
--
_
_|_|_
('_')
(? )?
|_|_|
next prev parent reply other threads:[~2017-03-17 10:43 UTC|newest]
Thread overview: 180+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-27 15:14 [PATCH 00/20] PCI: fix config and I/O Address space memory mappings Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 01/20] PCI: remove __weak tag from pci_remap_iospace() Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-03-01 16:15 ` Arnd Bergmann
2017-03-01 16:15 ` Arnd Bergmann
2017-03-01 16:15 ` Arnd Bergmann
2017-03-01 16:15 ` Arnd Bergmann
2017-02-27 15:14 ` [PATCH 02/20] PCI: fix pci_remap_iospace() remap attribute Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-03-16 21:48 ` Bjorn Helgaas
2017-03-16 21:48 ` Bjorn Helgaas
2017-03-16 21:48 ` Bjorn Helgaas
2017-03-16 21:48 ` Bjorn Helgaas
2017-03-17 0:33 ` Luis R. Rodriguez
2017-03-17 0:33 ` Luis R. Rodriguez
2017-03-17 0:33 ` Luis R. Rodriguez
2017-03-17 10:43 ` Liviu Dudau [this message]
2017-03-17 10:43 ` Liviu Dudau
2017-03-17 10:43 ` Liviu Dudau
2017-03-17 10:43 ` Liviu Dudau
2017-03-17 16:26 ` Luis R. Rodriguez
2017-03-17 16:26 ` Luis R. Rodriguez
2017-03-17 16:26 ` Luis R. Rodriguez
2017-03-20 16:19 ` Lorenzo Pieralisi
2017-03-20 16:19 ` Lorenzo Pieralisi
2017-03-20 16:19 ` Lorenzo Pieralisi
2017-03-20 16:06 ` Bjorn Helgaas
2017-03-20 16:06 ` Bjorn Helgaas
2017-03-20 16:06 ` Bjorn Helgaas
2017-03-20 16:06 ` Bjorn Helgaas
2017-03-20 16:26 ` Lorenzo Pieralisi
2017-03-20 16:26 ` Lorenzo Pieralisi
2017-03-20 16:26 ` Lorenzo Pieralisi
2017-03-20 16:38 ` Bjorn Helgaas
2017-03-20 16:38 ` Bjorn Helgaas
2017-03-20 16:38 ` Bjorn Helgaas
2017-03-20 16:38 ` Bjorn Helgaas
2017-02-27 15:14 ` [PATCH 03/20] asm-generic/io.h: add PCI config space remap interface Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-03-16 21:12 ` Bjorn Helgaas
2017-03-16 21:12 ` Bjorn Helgaas
2017-03-16 21:12 ` Bjorn Helgaas
2017-03-17 0:08 ` Luis R. Rodriguez
2017-03-17 0:08 ` Luis R. Rodriguez
2017-03-17 0:08 ` Luis R. Rodriguez
2017-03-20 10:22 ` John Garry
2017-03-20 10:22 ` John Garry
2017-03-20 10:22 ` John Garry
2017-03-20 10:22 ` John Garry
2017-03-20 16:27 ` Bjorn Helgaas
2017-03-20 16:27 ` Bjorn Helgaas
2017-03-20 16:27 ` Bjorn Helgaas
2017-03-20 16:27 ` Bjorn Helgaas
2017-03-20 18:45 ` Lorenzo Pieralisi
2017-03-20 18:45 ` Lorenzo Pieralisi
2017-03-20 18:45 ` Lorenzo Pieralisi
2017-03-22 15:04 ` Lorenzo Pieralisi
2017-03-22 15:04 ` Lorenzo Pieralisi
2017-03-22 15:04 ` Lorenzo Pieralisi
2017-03-22 15:15 ` Arnd Bergmann
2017-03-22 15:15 ` Arnd Bergmann
2017-03-22 15:15 ` Arnd Bergmann
2017-03-22 16:29 ` Bjorn Helgaas
2017-03-22 16:29 ` Bjorn Helgaas
2017-03-22 16:29 ` Bjorn Helgaas
2017-03-22 16:29 ` Bjorn Helgaas
2017-02-27 15:14 ` [PATCH 04/20] ARM64: implement pci_remap_cfgspace() interface Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 05/20] ARM: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-03-20 16:43 ` Russell King - ARM Linux
2017-03-20 16:43 ` Russell King - ARM Linux
2017-03-20 16:43 ` Russell King - ARM Linux
2017-03-20 16:43 ` Russell King - ARM Linux
2017-03-21 15:26 ` Lorenzo Pieralisi
2017-03-21 15:26 ` Lorenzo Pieralisi
2017-03-21 15:26 ` Lorenzo Pieralisi
2017-03-21 15:26 ` Lorenzo Pieralisi
2017-03-21 16:53 ` Russell King - ARM Linux
2017-03-21 16:53 ` Russell King - ARM Linux
2017-03-21 16:53 ` Russell King - ARM Linux
2017-03-21 16:53 ` Russell King - ARM Linux
2017-02-27 15:14 ` [PATCH 06/20] PCI: ECAM: use pci_remap_cfgspace() to map config region Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 07/20] PCI: implement Devres interface to map PCI config space Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-28 10:43 ` Lorenzo Pieralisi
2017-02-28 10:43 ` Lorenzo Pieralisi
2017-02-28 10:43 ` Lorenzo Pieralisi
2017-02-28 10:43 ` Lorenzo Pieralisi
2017-03-01 23:54 ` Andy Shevchenko
2017-03-01 23:54 ` Andy Shevchenko
2017-03-01 23:54 ` Andy Shevchenko
2017-03-01 23:54 ` Andy Shevchenko
2017-03-02 12:05 ` Lorenzo Pieralisi
2017-03-02 12:05 ` Lorenzo Pieralisi
2017-03-02 12:05 ` Lorenzo Pieralisi
2017-03-02 12:05 ` Lorenzo Pieralisi
2017-03-02 12:50 ` Andy Shevchenko
2017-03-02 12:50 ` Andy Shevchenko
2017-03-02 12:50 ` Andy Shevchenko
2017-03-02 12:50 ` Andy Shevchenko
2017-03-02 19:24 ` Tejun Heo
2017-03-02 19:24 ` Tejun Heo
2017-03-02 19:24 ` Tejun Heo
2017-03-02 19:24 ` Tejun Heo
2017-03-02 20:08 ` Thierry Reding
2017-03-02 20:08 ` Thierry Reding
2017-03-02 20:08 ` Thierry Reding
2017-03-02 20:08 ` Thierry Reding
2017-02-27 15:14 ` [PATCH 08/20] PCI: xilinx: update PCI config space remap function Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 09/20] PCI: xilinx-nwl: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 10/20] PCI: spear13xx: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 11/20] PCI: rockchip: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 12/20] PCI: qcom: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 13/20] PCI: iproc-platform: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 21:21 ` Ray Jui
2017-02-27 21:21 ` Ray Jui
2017-02-27 21:21 ` Ray Jui
2017-02-27 21:21 ` Ray Jui
2017-02-28 10:54 ` Lorenzo Pieralisi
2017-02-28 10:54 ` Lorenzo Pieralisi
2017-02-28 10:54 ` Lorenzo Pieralisi
2017-02-28 10:54 ` Lorenzo Pieralisi
2017-02-28 17:42 ` Ray Jui
2017-02-28 17:42 ` Ray Jui
2017-02-28 17:42 ` Ray Jui
2017-02-28 17:42 ` Ray Jui
2017-02-27 15:14 ` [PATCH 14/20] PCI: hisi: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-03-02 10:56 ` Gabriele Paoloni
2017-03-02 10:56 ` Gabriele Paoloni
2017-03-02 10:56 ` Gabriele Paoloni
2017-03-02 10:56 ` Gabriele Paoloni
2017-03-02 11:49 ` Lorenzo Pieralisi
2017-03-02 11:49 ` Lorenzo Pieralisi
2017-03-02 11:49 ` Lorenzo Pieralisi
2017-03-02 11:49 ` Lorenzo Pieralisi
2017-03-02 11:53 ` Gabriele Paoloni
2017-03-02 11:53 ` Gabriele Paoloni
2017-02-27 15:14 ` [PATCH 15/20] PCI: designware: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 16/20] PCI: armada8k: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 17/20] PCI: xgene: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 18/20] PCI: tegra: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 19/20] PCI: layerscape: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-02-27 15:14 ` [PATCH 20/20] PCI: keystone-dw: " Lorenzo Pieralisi
2017-02-27 15:14 ` Lorenzo Pieralisi
2017-03-01 16:18 ` [PATCH 00/20] PCI: fix config and I/O Address space memory mappings Arnd Bergmann
2017-03-01 16:18 ` Arnd Bergmann
2017-03-01 16:18 ` Arnd Bergmann
2017-03-01 16:18 ` Arnd Bergmann
2017-03-02 18:00 ` Lorenzo Pieralisi
2017-03-02 18:00 ` Lorenzo Pieralisi
2017-03-02 18:00 ` Lorenzo Pieralisi
2017-03-02 18:00 ` Lorenzo Pieralisi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170317104339.GD24830@bart.dudau.co.uk \
--to=liviu@dudau.co.uk \
--cc=Joao.Pinto@synopsys.com \
--cc=Liviu.Dudau@arm.com \
--cc=arnd@arndb.de \
--cc=bharat.kumar.gogada@xilinx.com \
--cc=bhelgaas@g \
--cc=catalin.marinas@arm.com \
--cc=gabriele.paoloni@huawei.com \
--cc=helgaas@kernel.org \
--cc=john.garry@huawei.com \
--cc=jonmason@broadcom.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lorenzo.pieralisi@arm.com \
--cc=m-karicheri2@ti.com \
--cc=mcgrof@kernel.org \
--cc=michal.simek@xilinx.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pratyush.anand@gmail.com \
--cc=shawn.lin@rock-chips.com \
--cc=thierry.reding@gmail.com \
--cc=tinamdar@apm.com \
--cc=wenrui.li@rock-chips.com \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.