diff options
Diffstat (limited to 'include/asm-mips/io.h')
-rw-r--r-- | include/asm-mips/io.h | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h index d77b657c09c7..92ec2618560c 100644 --- a/include/asm-mips/io.h +++ b/include/asm-mips/io.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/byteorder.h> | 20 | #include <asm/byteorder.h> |
21 | #include <asm/cpu.h> | 21 | #include <asm/cpu.h> |
22 | #include <asm/cpu-features.h> | 22 | #include <asm/cpu-features.h> |
23 | #include <asm-generic/iomap.h> | ||
23 | #include <asm/page.h> | 24 | #include <asm/page.h> |
24 | #include <asm/pgtable-bits.h> | 25 | #include <asm/pgtable-bits.h> |
25 | #include <asm/processor.h> | 26 | #include <asm/processor.h> |
@@ -115,7 +116,7 @@ static inline void set_io_port_base(unsigned long base) | |||
115 | */ | 116 | */ |
116 | static inline unsigned long virt_to_phys(volatile const void *address) | 117 | static inline unsigned long virt_to_phys(volatile const void *address) |
117 | { | 118 | { |
118 | return (unsigned long)address - PAGE_OFFSET; | 119 | return (unsigned long)address - PAGE_OFFSET + PHYS_OFFSET; |
119 | } | 120 | } |
120 | 121 | ||
121 | /* | 122 | /* |
@@ -132,7 +133,7 @@ static inline unsigned long virt_to_phys(volatile const void *address) | |||
132 | */ | 133 | */ |
133 | static inline void * phys_to_virt(unsigned long address) | 134 | static inline void * phys_to_virt(unsigned long address) |
134 | { | 135 | { |
135 | return (void *)(address + PAGE_OFFSET); | 136 | return (void *)(address + PAGE_OFFSET - PHYS_OFFSET); |
136 | } | 137 | } |
137 | 138 | ||
138 | /* | 139 | /* |
@@ -518,34 +519,6 @@ static inline void memcpy_toio(volatile void __iomem *dst, const void *src, int | |||
518 | } | 519 | } |
519 | 520 | ||
520 | /* | 521 | /* |
521 | * Memory Mapped I/O | ||
522 | */ | ||
523 | #define ioread8(addr) readb(addr) | ||
524 | #define ioread16(addr) readw(addr) | ||
525 | #define ioread32(addr) readl(addr) | ||
526 | |||
527 | #define iowrite8(b,addr) writeb(b,addr) | ||
528 | #define iowrite16(w,addr) writew(w,addr) | ||
529 | #define iowrite32(l,addr) writel(l,addr) | ||
530 | |||
531 | #define ioread8_rep(a,b,c) readsb(a,b,c) | ||
532 | #define ioread16_rep(a,b,c) readsw(a,b,c) | ||
533 | #define ioread32_rep(a,b,c) readsl(a,b,c) | ||
534 | |||
535 | #define iowrite8_rep(a,b,c) writesb(a,b,c) | ||
536 | #define iowrite16_rep(a,b,c) writesw(a,b,c) | ||
537 | #define iowrite32_rep(a,b,c) writesl(a,b,c) | ||
538 | |||
539 | /* Create a virtual mapping cookie for an IO port range */ | ||
540 | extern void __iomem *ioport_map(unsigned long port, unsigned int nr); | ||
541 | extern void ioport_unmap(void __iomem *); | ||
542 | |||
543 | /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */ | ||
544 | struct pci_dev; | ||
545 | extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max); | ||
546 | extern void pci_iounmap(struct pci_dev *dev, void __iomem *); | ||
547 | |||
548 | /* | ||
549 | * ISA space is 'always mapped' on currently supported MIPS systems, no need | 522 | * ISA space is 'always mapped' on currently supported MIPS systems, no need |
550 | * to explicitly ioremap() it. The fact that the ISA IO space is mapped | 523 | * to explicitly ioremap() it. The fact that the ISA IO space is mapped |
551 | * to PAGE_OFFSET is pure coincidence - it does not mean ISA values | 524 | * to PAGE_OFFSET is pure coincidence - it does not mean ISA values |
@@ -556,12 +529,6 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *); | |||
556 | #define __ISA_IO_base ((char *)(isa_slot_offset)) | 529 | #define __ISA_IO_base ((char *)(isa_slot_offset)) |
557 | 530 | ||
558 | /* | 531 | /* |
559 | * We don't have csum_partial_copy_fromio() yet, so we cheat here and | ||
560 | * just copy it. The net code will then do the checksum later. | ||
561 | */ | ||
562 | #define eth_io_copy_and_sum(skb,src,len,unused) memcpy_fromio((skb)->data,(src),(len)) | ||
563 | |||
564 | /* | ||
565 | * The caches on some architectures aren't dma-coherent and have need to | 532 | * The caches on some architectures aren't dma-coherent and have need to |
566 | * handle this in software. There are three types of operations that | 533 | * handle this in software. There are three types of operations that |
567 | * can be applied to dma buffers. | 534 | * can be applied to dma buffers. |