From: Luis R. Rodriguez <hidden> Date: 2015-08-26 23:34:16
From: "Luis R. Rodriguez" <redacted>
S390 requires its own implementation of pcio_iomap*() calls
is because it has its "BAR spaces are not disjunctive on s390
so we need the bar parameter of pci_iomap to find the corresponding
device and create the mapping cookie" -- in summary, it has its own
lookup/lock solution.
It does not include asm-generic/pci_iomap.h
Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
the architecture default we can easily just map the wc calls to
the default calls as well.
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Tomi Valkeinen <redacted>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Borislav Petkov <redacted>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Fengguang Wu <redacted>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Reported-by: 0 day bot
Signed-off-by: Luis R. Rodriguez <redacted>
---
This broke through some series that went into Ingo's tip tree which
I added. As such I *think* this should go through Ingo's tip tree.
Let me know. Up to you guys.
arch/s390/include/asm/io.h | 2 ++
1 file changed, 2 insertions(+)
From: "Luis R. Rodriguez" <redacted>
S390 requires its own implementation of pcio_iomap*() calls
is because it has its "BAR spaces are not disjunctive on s390
so we need the bar parameter of pci_iomap to find the corresponding
device and create the mapping cookie" -- in summary, it has its own
lookup/lock solution.
It does not include asm-generic/pci_iomap.h
Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
the architecture default we can easily just map the wc calls to
the default calls as well.
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Tomi Valkeinen <redacted>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Borislav Petkov <redacted>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Fengguang Wu <redacted>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Reported-by: 0 day bot
Signed-off-by: Luis R. Rodriguez <redacted>
---
This broke through some series that went into Ingo's tip tree which
I added. As such I *think* this should go through Ingo's tip tree.
Let me know. Up to you guys.
I fixed the changelog to explain all this.
Also, is there any other architecture that got broken by:
1b3d4200c1e0 PCI: Add pci_iomap_wc() variants
?
Thanks,
Ingo
From: "Luis R. Rodriguez" <redacted>
S390 requires its own implementation of pcio_iomap*() calls
is because it has its "BAR spaces are not disjunctive on s390
so we need the bar parameter of pci_iomap to find the corresponding
device and create the mapping cookie" -- in summary, it has its own
lookup/lock solution.
It does not include asm-generic/pci_iomap.h
Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
the architecture default we can easily just map the wc calls to
the default calls as well.
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Tomi Valkeinen <redacted>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Borislav Petkov <redacted>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Fengguang Wu <redacted>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Reported-by: 0 day bot
Signed-off-by: Luis R. Rodriguez <redacted>
---
This broke through some series that went into Ingo's tip tree which
I added. As such I *think* this should go through Ingo's tip tree.
Let me know. Up to you guys.
I fixed the changelog to explain all this.
Also, is there any other architecture that got broken by:
1b3d4200c1e0 PCI: Add pci_iomap_wc() variants
Should be the only one. There are only two implementations of pci_iomap(),
one in s390 code and the generic implementation.
Guenter
From: Luis R. Rodriguez <hidden> Date: 2015-08-29 00:15:00
On Fri, Aug 28, 2015 at 01:22:27AM -0700, Guenter Roeck wrote:
On 08/27/2015 11:06 PM, Ingo Molnar wrote:
quoted
* Luis R. Rodriguez [off-list ref] wrote:
quoted
From: "Luis R. Rodriguez" <redacted>
S390 requires its own implementation of pcio_iomap*() calls
is because it has its "BAR spaces are not disjunctive on s390
so we need the bar parameter of pci_iomap to find the corresponding
device and create the mapping cookie" -- in summary, it has its own
lookup/lock solution.
It does not include asm-generic/pci_iomap.h
Since it currenty maps ioremap_wc() to ioremap_nocache() and that's
the architecture default we can easily just map the wc calls to
the default calls as well.
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean-Christophe Plagniol-Villard <redacted>
Cc: Tomi Valkeinen <redacted>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Borislav Petkov <redacted>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Fengguang Wu <redacted>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Reported-by: 0 day bot
Signed-off-by: Luis R. Rodriguez <redacted>
---
This broke through some series that went into Ingo's tip tree which
I added. As such I *think* this should go through Ingo's tip tree.
Let me know. Up to you guys.
I fixed the changelog to explain all this.
Also, is there any other architecture that got broken by:
1b3d4200c1e0 PCI: Add pci_iomap_wc() variants
Should be the only one. There are only two implementations of pci_iomap(),
one in s390 code and the generic implementation.
Indeed, sadly there is no semantics well defined to establish this requirement
so the best we can do is infer:
mcgrof@ergon ~/linux-next (git::20150805-pend-all)$ git grep pci_iomap_range arch/
arch/s390/include/asm/io.h:#define pci_iomap_wc_range pci_iomap_range
arch/s390/pci/pci.c:void __iomem *pci_iomap_range(struct pci_dev *pdev,
arch/s390/pci/pci.c:EXPORT_SYMBOL(pci_iomap_range);
arch/s390/pci/pci.c: return pci_iomap_range(dev, bar, 0, maxlen);
To this end a Kconfig option to implicate this might be more well suited for
future lookups and make other architectures which are incompatible with
generic pci_iomap clearer. Will post an RFC.
Luis