Skip to content

Commit

Permalink
[IA64] ioremap() should prefer WB over UC
Browse files Browse the repository at this point in the history
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: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
  • Loading branch information
Bjorn Helgaas authored and Tony Luck committed Mar 30, 2006
1 parent 3283a67 commit c1c57d7
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions arch/ia64/mm/ioremap.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit c1c57d7

Please sign in to comment.