diff options
Diffstat (limited to 'arch/x86/mm/ioremap.c')
-rw-r--r-- | arch/x86/mm/ioremap.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index 8fe576baa148..794895c6dcc9 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c | |||
@@ -106,7 +106,7 @@ static int ioremap_change_attr(unsigned long vaddr, unsigned long size, | |||
106 | * have to convert them into an offset in a page-aligned mapping, but the | 106 | * have to convert them into an offset in a page-aligned mapping, but the |
107 | * caller shouldn't need to know that small detail. | 107 | * caller shouldn't need to know that small detail. |
108 | */ | 108 | */ |
109 | static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, | 109 | static void __iomem *__ioremap(resource_size_t phys_addr, unsigned long size, |
110 | enum ioremap_mode mode) | 110 | enum ioremap_mode mode) |
111 | { | 111 | { |
112 | unsigned long pfn, offset, last_addr, vaddr; | 112 | unsigned long pfn, offset, last_addr, vaddr; |
@@ -137,7 +137,11 @@ static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, | |||
137 | switch (mode) { | 137 | switch (mode) { |
138 | case IOR_MODE_UNCACHED: | 138 | case IOR_MODE_UNCACHED: |
139 | default: | 139 | default: |
140 | prot = PAGE_KERNEL_NOCACHE; | 140 | /* |
141 | * FIXME: we will use UC MINUS for now, as video fb drivers | ||
142 | * depend on it. Upcoming ioremap_wc() will fix this behavior. | ||
143 | */ | ||
144 | prot = PAGE_KERNEL_UC_MINUS; | ||
141 | break; | 145 | break; |
142 | case IOR_MODE_CACHED: | 146 | case IOR_MODE_CACHED: |
143 | prot = PAGE_KERNEL; | 147 | prot = PAGE_KERNEL; |
@@ -193,13 +197,13 @@ static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, | |||
193 | * | 197 | * |
194 | * Must be freed with iounmap. | 198 | * Must be freed with iounmap. |
195 | */ | 199 | */ |
196 | void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size) | 200 | void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size) |
197 | { | 201 | { |
198 | return __ioremap(phys_addr, size, IOR_MODE_UNCACHED); | 202 | return __ioremap(phys_addr, size, IOR_MODE_UNCACHED); |
199 | } | 203 | } |
200 | EXPORT_SYMBOL(ioremap_nocache); | 204 | EXPORT_SYMBOL(ioremap_nocache); |
201 | 205 | ||
202 | void __iomem *ioremap_cache(unsigned long phys_addr, unsigned long size) | 206 | void __iomem *ioremap_cache(resource_size_t phys_addr, unsigned long size) |
203 | { | 207 | { |
204 | return __ioremap(phys_addr, size, IOR_MODE_CACHED); | 208 | return __ioremap(phys_addr, size, IOR_MODE_CACHED); |
205 | } | 209 | } |