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

Commit c1c57d76 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Tony Luck
Browse files

[IA64] ioremap() should prefer WB over UC



efi_memmap_init() collects full granules of WB memory, without
regard for whether they also support UC.  So in order for ioremap()
to work for main memory, it must prefer WB mappings when possible.

Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 3283a67d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -21,12 +21,12 @@ __ioremap (unsigned long offset, unsigned long size)
void __iomem *
ioremap (unsigned long offset, unsigned long size)
{
	if (efi_mem_attribute_range(offset, size, EFI_MEMORY_UC))
		return __ioremap(offset, size);

	if (efi_mem_attribute_range(offset, size, EFI_MEMORY_WB))
		return phys_to_virt(offset);

	if (efi_mem_attribute_range(offset, size, EFI_MEMORY_UC))
		return __ioremap(offset, size);

	/*
	 * Someday this should check ACPI resources so we
	 * can do the right thing for hot-plugged regions.