aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/ioremap.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/mm/ioremap.c')
-rw-r--r--arch/x86/mm/ioremap.c12
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 */
109static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, 109static 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 */
196void __iomem *ioremap_nocache(unsigned long phys_addr, unsigned long size) 200void __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}
200EXPORT_SYMBOL(ioremap_nocache); 204EXPORT_SYMBOL(ioremap_nocache);
201 205
202void __iomem *ioremap_cache(unsigned long phys_addr, unsigned long size) 206void __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}