1
linux/drivers/char
Yinghai Lu 1edc1ab3f6 x86: agp_gart size checking for buggy device
while looking at Rafael J. Wysocki's system boot log,

I found a funny printout:

	Node 0: aperture @ de000000 size 32 MB
	Aperture too small (32 MB)
	AGP bridge at 00:04:00
	Aperture from AGP @ de000000 size 4096 MB (APSIZE 0)
	Aperture too small (0 MB)
	Your BIOS doesn't leave a aperture memory hole
	Please enable the IOMMU option in the BIOS setup
	This costs you 64 MB of RAM
	Mapping aperture over 65536 KB of RAM @ 4000000

	...

	agpgart: Detected AGP bridge 20
	agpgart: Aperture pointing to RAM
	agpgart: Aperture from AGP @ de000000 size 4096 MB
	agpgart: Aperture too small (0 MB)
	agpgart: No usable aperture found.
	agpgart: Consider rebooting with iommu=memaper=2 to get a good aperture.

it means BIOS allocated the correct gart on the NB and AGP bridge, but
because a bug in the silicon (the agp bridge reports the wrong order,
it wants 4G instead) the kernel will reject that allocation.

Also, because the size is only 32MB, and we try to get another 64M for gart,
late fix_northbridge can not revert that change because it still reads
the wrong size from agp bridge.

So try to double check the order value from the agp bridge, before calling
aperture_valid().

[ mingo@elte.hu: 32-bit fix. ]

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-05-12 21:28:10 +02:00
..
agp x86: agp_gart size checking for buggy device 2008-05-12 21:28:10 +02:00
drm drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
hw_random Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2008-04-21 15:57:09 -07:00
ip2 ip2: switch remaining direct call of ops->flush_buffer 2008-04-30 08:29:47 -07:00
ipmi ipmi: fix return from atca_oem_poweroff_hook 2008-04-29 08:06:16 -07:00
mwave arm/mach-integrator/time.c, mwave: revert portions of recent irq cleanups 2008-04-24 08:35:37 -04:00
pcmcia drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
rio drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
tpm tpm: change Kconfig dependencies from PNPACPI to PNP 2008-04-29 08:06:26 -07:00
xilinx_hwicap [POWERPC] Xilinx: Fix compile warnings 2008-05-01 23:09:42 -05:00
.gitignore
amiserial.c amiserial: Switch put char to return success/fail 2008-04-30 08:29:45 -07:00
apm-emulation.c proc: switch /proc/apm to seq_file interface 2008-04-29 08:06:19 -07:00
applicom.c char serial: switch drivers to ioremap_nocache 2008-04-30 08:29:48 -07:00
applicom.h
bfin-otp.c Blackfin char driver for Blackfin on-chip OTP memory (v3) 2008-04-25 08:04:56 +08:00
briq_panel.c
cd1865.h
ChangeLog
consolemap.c Basic braille screen reader support 2008-04-30 08:29:52 -07:00
cp437.uni
cs5535_gpio.c drivers: fix integer as NULL pointer warnings 2008-04-28 17:31:13 -07:00
cyclades.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
defkeymap.c_shipped Fix default compose table initialization 2008-03-03 14:53:16 -08:00
defkeymap.map
digi1.h
digiFep1.h
digiPCI.h
ds1286.c drivers/char/ds1286.c: use time_before, time_before_eq, etc 2008-04-30 08:29:45 -07:00
ds1302.c
ds1620.c
dsp56k.c
dtlk.c
efirtc.c drivers/char/: Spelling fixes 2008-02-03 17:11:42 +02:00
epca.c epca: coding style 2008-04-30 08:29:47 -07:00
epca.h Char: char/serial, remove SERIAL_TYPE_NORMAL redefines 2008-02-07 08:42:33 -08:00
epcaconfig.h
esp.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
generic_nvram.c
generic_serial.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
genrtc.c
hangcheck-timer.c drivers/char/: Spelling fixes 2008-02-03 17:11:42 +02:00
hpet.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
hvc_beat.c [POWERPC] hvcbeat: Fix buffer manipulation 2008-04-17 07:46:10 +10:00
hvc_console.c drivers/char: use LIST_HEAD instead of LIST_HEAD_INIT 2008-02-06 10:41:07 -08:00
hvc_console.h
hvc_iseries.c
hvc_rtas.c [POWERPC] hvc_rtas_init() must be __init 2008-02-14 22:11:02 +11:00
hvc_vio.c
hvc_xen.c
hvcs.c drivers/char: use LIST_HEAD instead of LIST_HEAD_INIT 2008-02-06 10:41:07 -08:00
hvsi.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
i8k.c i8k: make fan multiplier tunable with a module parameter 2008-05-01 08:04:00 -07:00
ip27-rtc.c ip27-rtc: convert ioctl to unlocked_ioctl 2008-02-06 10:41:14 -08:00
isicom.c isicom: fix buffer allocation 2008-04-30 08:29:47 -07:00
istallion.c char serial: switch drivers to ioremap_nocache 2008-04-30 08:29:48 -07:00
Kconfig make /dev/kmem a config option 2008-04-29 08:05:59 -07:00
keyboard.c Basic braille screen reader support 2008-04-30 08:29:52 -07:00
lcd.c
lcd.h
lp.c Parallel port: convert port_mutex to the mutex API 2008-02-06 10:41:01 -08:00
Makefile Blackfin char driver for Blackfin on-chip OTP memory (v3) 2008-04-25 08:04:56 +08:00
mbcs.c MBCS: convert dmareadlock to mutex 2008-02-07 08:42:25 -08:00
mbcs.h MBCS: convert dmareadlock to mutex 2008-02-07 08:42:25 -08:00
mem.c make /dev/kmem a config option 2008-04-29 08:05:59 -07:00
misc.c drivers: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
mmtimer.c remove div_long_long_rem 2008-05-01 08:03:58 -07:00
moxa.c char serial: switch drivers to ioremap_nocache 2008-04-30 08:29:48 -07:00
moxa.h Char: moxa, cleanup rx/tx 2008-04-30 08:29:43 -07:00
mspec.c [IA64] allocate multiple contiguous pages via uncached allocator 2008-04-29 13:49:01 -07:00
mxser.c mxser: convert large macros to functions 2008-04-30 08:29:49 -07:00
mxser.h mxser: convert large macros to functions 2008-04-30 08:29:49 -07:00
n_hdlc.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
n_r3964.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
n_tty.c tty: add throttle/unthrottle helpers 2008-04-30 08:29:47 -07:00
nozomi.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
nsc_gpio.c
nvram.c
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
ppdev.c
ps3flash.c
pty.c pty: prepare for tty->ops changes 2008-04-30 08:29:46 -07:00
random.c random: add async notification support to /dev/random 2008-04-29 08:06:25 -07:00
raw.c
riscom8_reg.h
riscom8.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
riscom8.h Char: riscom8, remove wakeup and hangup bottomhalves 2008-02-07 08:42:34 -08:00
rocket_int.h char: use get_unaligned_* helpers 2008-04-29 08:06:27 -07:00
rocket.c riscom/rocket: switch to int put_char method 2008-04-30 08:29:46 -07:00
rocket.h
rtc.c drivers: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
scc.h
scx200_gpio.c
selection.c
ser_a2232.c Amiga serial driver: port_write_mutex fixup 2008-02-06 10:41:08 -08:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c m68k: serial167 missing return value in cy_put_char() 2008-05-05 12:37:02 -07:00
snsc_event.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
snsc.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
snsc.h Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
sonypi.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
specialix_io8.h Char: specialix, remove bottomhalves 2008-02-07 08:42:34 -08:00
specialix.c drivers/char: replace remaining __FUNCTION__ occurrences 2008-04-30 08:29:54 -07:00
stallion.c tty/serial: lay the foundations for the next set of reworks 2008-04-30 08:29:45 -07:00
sx.c sx.c: fix printk warnings on sparc32 2008-05-08 10:46:56 -07:00
sx.h Char: char/serial, remove SERIAL_TYPE_NORMAL redefines 2008-02-07 08:42:33 -08:00
sxboards.h
sxwindow.h
synclink_gt.c char serial: switch drivers to ioremap_nocache 2008-04-30 08:29:48 -07:00
synclink.c drivers-char-synclinkc-inbreak-mgsl_put_char-fix 2008-05-01 08:04:02 -07:00
synclinkmp.c char serial: switch drivers to ioremap_nocache 2008-04-30 08:29:48 -07:00
sysrq.c sysrq: add show-backtrace-on-all-cpus function 2008-04-29 08:06:03 -07:00
tb0219.c
tlclk.c
toshiba.c toshiba: use ioremap_cached 2008-04-30 23:15:34 +02:00
tty_audit.c [PATCH] split linux/file.h 2008-05-01 13:08:16 -04:00
tty_io.c [PATCH] split linux/file.h 2008-05-01 13:08:16 -04:00
tty_ioctl.c tty: add throttle/unthrottle helpers 2008-04-30 08:29:47 -07:00
vc_screen.c
viocons.c consoles: switch to int put_char method 2008-04-30 08:29:46 -07:00
viotape.c drivers: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
virtio_console.c virtio: simplify config mechanism. 2008-02-04 23:49:57 +11:00
vme_scc.c
vr41xx_giu.c
vt_ioctl.c vt_ioctl: Prepare for BKL push down 2008-04-30 08:29:40 -07:00
vt.c vt: fix canonical input in UTF-8 mode 2008-05-08 10:46:56 -07:00