aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-alpha/io.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/asm-alpha/io.h b/include/asm-alpha/io.h
index 21a86f1a05b3..ab5b60dcef19 100644
--- a/include/asm-alpha/io.h
+++ b/include/asm-alpha/io.h
@@ -4,6 +4,7 @@
4#ifdef __KERNEL__ 4#ifdef __KERNEL__
5 5
6#include <linux/kernel.h> 6#include <linux/kernel.h>
7#include <linux/mm.h>
7#include <asm/compiler.h> 8#include <asm/compiler.h>
8#include <asm/system.h> 9#include <asm/system.h>
9#include <asm/pgtable.h> 10#include <asm/pgtable.h>
@@ -90,6 +91,11 @@ static inline void * phys_to_virt(unsigned long address)
90 91
91#define page_to_phys(page) page_to_pa(page) 92#define page_to_phys(page) page_to_pa(page)
92 93
94static inline dma_addr_t __deprecated isa_page_to_bus(struct page *page)
95{
96 return page_to_phys(page);
97}
98
93/* This depends on working iommu. */ 99/* This depends on working iommu. */
94#define BIO_VMERGE_BOUNDARY (alpha_mv.mv_pci_tbi ? PAGE_SIZE : 0) 100#define BIO_VMERGE_BOUNDARY (alpha_mv.mv_pci_tbi ? PAGE_SIZE : 0)
95 101
@@ -102,12 +108,12 @@ static inline void * phys_to_virt(unsigned long address)
102 * 108 *
103 * Note that this only works for a limited range of kernel addresses, 109 * Note that this only works for a limited range of kernel addresses,
104 * and very well may not span all memory. Consider this interface 110 * and very well may not span all memory. Consider this interface
105 * deprecated in favour of the mapping functions in <asm/pci.h>. 111 * deprecated in favour of the DMA-mapping API.
106 */ 112 */
107extern unsigned long __direct_map_base; 113extern unsigned long __direct_map_base;
108extern unsigned long __direct_map_size; 114extern unsigned long __direct_map_size;
109 115
110static inline unsigned long virt_to_bus(void *address) 116static inline unsigned long __deprecated virt_to_bus(void *address)
111{ 117{
112 unsigned long phys = virt_to_phys(address); 118 unsigned long phys = virt_to_phys(address);
113 unsigned long bus = phys + __direct_map_base; 119 unsigned long bus = phys + __direct_map_base;
@@ -115,7 +121,7 @@ static inline unsigned long virt_to_bus(void *address)
115} 121}
116#define isa_virt_to_bus virt_to_bus 122#define isa_virt_to_bus virt_to_bus
117 123
118static inline void *bus_to_virt(unsigned long address) 124static inline void * __deprecated bus_to_virt(unsigned long address)
119{ 125{
120 void *virt; 126 void *virt;
121 127
@@ -126,6 +132,7 @@ static inline void *bus_to_virt(unsigned long address)
126 virt = phys_to_virt(address); 132 virt = phys_to_virt(address);
127 return (long)address <= 0 ? NULL : virt; 133 return (long)address <= 0 ? NULL : virt;
128} 134}
135#define isa_bus_to_virt bus_to_virt
129 136
130/* 137/*
131 * There are different chipsets to interface the Alpha CPUs to the world. 138 * There are different chipsets to interface the Alpha CPUs to the world.