linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [QUESTION] Early Write Acknowledge for PCIe configuration space
@ 2017-01-06 11:15 John Garry
  2017-01-06 11:24 ` Arnd Bergmann
  0 siblings, 1 reply; 13+ messages in thread
From: John Garry @ 2017-01-06 11:15 UTC (permalink / raw)
  To: linux-arm-kernel

[apologies if this has been queried before]

Hi ARM guys,

I have a question about the device memory attributes we assign for PCIe 
config space for arm64. Currently we use ioremap to map in the config 
space; this uses nGnRE, which means we enable Early Write Acknowledge.

The ARMv8 ARM states that "ARM recommend that No Early Write Acknowledge 
Hint is used for PCIe configuration writes".

I understand a problem with using E is in that configuration write is a 
non-post operation, which means the RP requires to get the completion 
ack from the EP The problem here is if CPU writes data to ECAM by E, 
complete will go back to CPU directly, and maybe at this point the write 
has not reached the EP.

I believe that this may cause ordering issues in PCI read/write. In 
practice we use non-relaxed readl/writel to access config space, which 
include the synchronization barriers, which, *as I understand*, even if 
for full system domain, may be negated by the E attribute for PCIe.

So a question: why is the recommendation in the ARMv8 ARM ignored?

Thanks in advance,
John

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-02-09 14:53 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-06 11:15 [QUESTION] Early Write Acknowledge for PCIe configuration space John Garry
2017-01-06 11:24 ` Arnd Bergmann
2017-01-06 11:42   ` Will Deacon
2017-02-08 18:35     ` Lorenzo Pieralisi
2017-02-09 11:30       ` Will Deacon
2017-02-09 11:42       ` Gabriele Paoloni
2017-02-09 14:38         ` Lorenzo Pieralisi
2017-02-09 14:53           ` Gabriele Paoloni
2017-01-09 10:59   ` John Garry
2017-01-09 11:23     ` Will Deacon
2017-01-09 11:52     ` Arnd Bergmann
2017-01-10 10:22       ` John Garry
2017-01-10 10:47         ` Gabriele Paoloni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).