|
@@ -420,3 +420,81 @@ __EXTERN_INLINE void cia_iowrite32(u32 b, void __iomem *xaddr)
|
|
}
|
|
}
|
|
|
|
|
|
__EXTERN_INLINE void __iomem *cia_ioportmap(unsigned long addr)
|
|
__EXTERN_INLINE void __iomem *cia_ioportmap(unsigned long addr)
|
|
|
|
+{
|
|
|
|
+ return (void __iomem *)(addr + CIA_IO);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE void __iomem *cia_ioremap(unsigned long addr,
|
|
|
|
+ unsigned long size)
|
|
|
|
+{
|
|
|
|
+ return (void __iomem *)(addr + CIA_DENSE_MEM);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE int cia_is_ioaddr(unsigned long addr)
|
|
|
|
+{
|
|
|
|
+ return addr >= IDENT_ADDR + 0x8000000000UL;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE int cia_is_mmio(const volatile void __iomem *addr)
|
|
|
|
+{
|
|
|
|
+ return (unsigned long)addr >= CIA_DENSE_MEM;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE void __iomem *cia_bwx_ioportmap(unsigned long addr)
|
|
|
|
+{
|
|
|
|
+ return (void __iomem *)(addr + CIA_BW_IO);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE void __iomem *cia_bwx_ioremap(unsigned long addr,
|
|
|
|
+ unsigned long size)
|
|
|
|
+{
|
|
|
|
+ return (void __iomem *)(addr + CIA_BW_MEM);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE int cia_bwx_is_ioaddr(unsigned long addr)
|
|
|
|
+{
|
|
|
|
+ return addr >= IDENT_ADDR + 0x8000000000UL;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+__EXTERN_INLINE int cia_bwx_is_mmio(const volatile void __iomem *addr)
|
|
|
|
+{
|
|
|
|
+ return (unsigned long)addr < CIA_BW_IO;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+#undef vip
|
|
|
|
+#undef vuip
|
|
|
|
+#undef vulp
|
|
|
|
+
|
|
|
|
+#undef __IO_PREFIX
|
|
|
|
+#define __IO_PREFIX cia
|
|
|
|
+#define cia_trivial_rw_bw 2
|
|
|
|
+#define cia_trivial_rw_lq 1
|
|
|
|
+#define cia_trivial_io_bw 0
|
|
|
|
+#define cia_trivial_io_lq 0
|
|
|
|
+#define cia_trivial_iounmap 1
|
|
|
|
+#include <asm/io_trivial.h>
|
|
|
|
+
|
|
|
|
+#undef __IO_PREFIX
|
|
|
|
+#define __IO_PREFIX cia_bwx
|
|
|
|
+#define cia_bwx_trivial_rw_bw 1
|
|
|
|
+#define cia_bwx_trivial_rw_lq 1
|
|
|
|
+#define cia_bwx_trivial_io_bw 1
|
|
|
|
+#define cia_bwx_trivial_io_lq 1
|
|
|
|
+#define cia_bwx_trivial_iounmap 1
|
|
|
|
+#include <asm/io_trivial.h>
|
|
|
|
+
|
|
|
|
+#undef __IO_PREFIX
|
|
|
|
+#ifdef CONFIG_ALPHA_PYXIS
|
|
|
|
+#define __IO_PREFIX cia_bwx
|
|
|
|
+#else
|
|
|
|
+#define __IO_PREFIX cia
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef __IO_EXTERN_INLINE
|
|
|
|
+#undef __EXTERN_INLINE
|
|
|
|
+#undef __IO_EXTERN_INLINE
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#endif /* __KERNEL__ */
|
|
|
|
+
|
|
|
|
+#endif /* __ALPHA_CIA__H__ */
|