Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6371b495 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86: change ioremap() to default to uncached



Prepare ioremap() to default to uncached. This will be the
safest - but first we have to fix CPA.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 5a96f4a5
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -116,13 +116,22 @@ extern void __iomem * __ioremap(unsigned long offset, unsigned long size, unsign
 * If the area you are trying to map is a PCI BAR you should have a
 * look at pci_iomap().
 */
extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);

static inline void __iomem * ioremap(unsigned long offset, unsigned long size)
static inline void __iomem *
ioremap_cache(unsigned long offset, unsigned long size)
{
	return __ioremap(offset, size, 0);
}

extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);
/*
 * The default ioremap() behavior is non-cached:
 */
static inline void __iomem * ioremap(unsigned long offset, unsigned long size)
{
	return ioremap_nocache(offset, size);
}

extern void iounmap(volatile void __iomem *addr);

/*
+17 −6
Original line number Diff line number Diff line
@@ -152,11 +152,6 @@ static inline void * phys_to_virt(unsigned long address)

extern void __iomem *__ioremap(unsigned long offset, unsigned long size, unsigned long flags);

static inline void __iomem * ioremap (unsigned long offset, unsigned long size)
{
	return __ioremap(offset, size, 0);
}

extern void *early_ioremap(unsigned long addr, unsigned long size);
extern void early_iounmap(void *addr, unsigned long size);

@@ -166,7 +161,23 @@ extern void early_iounmap(void *addr, unsigned long size);
 * or read caching is not desirable:
 */
extern void __iomem * ioremap_nocache(unsigned long offset, unsigned long size);

static inline void __iomem *
ioremap_cache(unsigned long offset, unsigned long size)
{
	return __ioremap(offset, size, 0);
}

/*
 * The default ioremap() behavior is non-cached:
 */
static inline void __iomem * ioremap(unsigned long offset, unsigned long size)
{
	return ioremap_cache(offset, size);
}

extern void iounmap(volatile void __iomem *addr);

extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);

/*