• Ingo Molnar's avatar
    x86: relax RAM check in ioremap() · 38cb47ba
    Ingo Molnar authored
    Kevin Winchester reported the loss of direct rendering, due to:
    
    [    0.588184] agpgart: Detected AGP bridge 0
    [    0.588184] agpgart: unable to get memory for graphics translation table.
    [    0.588184] agpgart: agp_backend_initialize() failed.
    [    0.588207] agpgart-amd64: probe of 0000:00:00.0 failed with error -12
    
    and bisected it down to:
    
      commit 266b9f87
      Author: Thomas Gleixner <tglx@linutronix.de>
      Date:   Wed Jan 30 13:34:06 2008 +0100
    
          x86: fix ioremap RAM check
    
    this check was too strict and caused an ioremap() failure.
    
    the problem is due to the somewhat unclean way of how the GART code
    reserves a memory range for its aperture, and how it utilizes it
    later on.
    
    Allow RAM pages to be ioremap()-ed too, as long as they are reserved.
    Bisected-by: default avatarKevin Winchester <kjwinchester@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Tested-by: default avatarKevin Winchester <kjwinchester@gmail.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    38cb47ba
ioremap.c 11.9 KB