Thread (27 messages) flat view 27 messages, 9 authors, 2014-02-20

Re: [PATCH] arm64: Add architecture support for PCI

From: Liviu Dudau <Liviu.Dudau@arm.com>
Date: 2014-02-04 12:29:56
Also in: linux-arm-kernel, linux-pci, lkml

On Mon, Feb 03, 2014 at 10:34:40PM +0000, Andrew Murray wrote:
On 3 February 2014 18:43, Liviu Dudau [off-list ref] wrote:
quoted
diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
index 4cc813e..ce5bad2 100644
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
@@ -120,9 +120,13 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
 /*
  *  I/O port access primitives.
  */
+#define arch_has_dev_port()    (0)
 #define IO_SPACE_LIMIT         0xffff
 #define PCI_IOBASE             ((void __iomem *)(MODULES_VADDR - SZ_2M))

+#define ioport_map(port, nr)   (PCI_IOBASE + ((port) & IO_SPACE_LIMIT))
+#define ioport_unmap(addr)
I'm not sure that this will work. The in[bwl], out[bwl] macros in
arch/arm64/include/asm/io.h already add the PCI_IOBASE offset.

Instead of these two #defines, why not just enforce that
GENERIC_PCI_IOMAP is enabled? Or at least wrap these defines with 'if
(!config_enabled(CONFIG_GENERIC_PCI_IOMAP))' or similar.
GENERIC_PCI_IOMAP *is* enabled for AArch64. We have select GENERIC_IOMAP in
arch/arm64/Kconfig which in turn selects GENERIC_PCI_IOMAP in lib/Kconfig.

Best regards,
Liviu
quoted
+
 static inline u8 inb(unsigned long addr)
 {
        return readb(addr + PCI_IOBASE);

Andrew Murray
-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help