kernel-ark/drivers/char
Matthew Garrett b0825488a6 [PATCH] agp: restore APBASE after setting APSIZE
When leaving S3 state, the AGP bridge may not have all PCI configuration
registers set in the same way as they were at boot.  This should be fixed
by pci_restore_state - however, the APBASE register cannot be set to
conflict with the APSIZE register.  If APSIZE is larger than it was before
suspend, pci_restore_state will not restore APBASE correctly.  The attached
patch adds an extra item to the agp_bridge_data structure and uses it to
store the value of APBASE.  On resume, this is then written after APSIZE
has been set.  This patch only touches the path used for Intel chipsets
without integrated graphics, and may need to be extended to work with the
others.

Without this patch, I get the symptoms described in bug 4921 - APBASE ends
up overlapping various PCI devices, and as a result they fail to work after
resume.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-07-29 15:01:15 -07:00
..
agp [PATCH] agp: restore APBASE after setting APSIZE 2005-07-29 15:01:15 -07:00
drm
ftape
ip2
ipmi [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
mwave
pcmcia
rio [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
tpm [PATCH] ppc64: tpm_infineon build fix 2005-07-27 16:26:07 -07:00
watchdog
amiserial.c
applicom.c
applicom.h
cd1865.h
ChangeLog
consolemap.c
cp437.uni
cyclades.c
decserial.c
defkeymap.c_shipped
defkeymap.map
digi1.h
digi.h
digiFep1.h
digiPCI.h
ds1286.c
ds1302.c
ds1620.c
dsp56k.c
dtlk.c
ec3104_keyb.c
efirtc.c
epca.c
epca.h
epcaconfig.h
esp.c
generic_nvram.c
generic_serial.c
genrtc.c
hangcheck-timer.c
hpet.c
hvc_console.c
hvc_vio.c
hvcs.c
hvsi.c
hw_random.c
i8k.c
ip2.c
ip2main.c
ip27-rtc.c
isicom.c
istallion.c
ite_gpio.c
Kconfig
keyboard.c
lcd.c
lcd.h
lp.c
Makefile
mbcs.c
mbcs.h
mem.c
misc.c
mmtimer.c
moxa.c
mxser.c
mxser.h
n_hdlc.c
n_r3964.c
n_tty.c
nvram.c
nwbutton.c
nwbutton.h
nwflash.c
ppdev.c
pty.c
qtronix.c
qtronixmap.c_shipped
qtronixmap.map
random.c
raw.c
riscom8_reg.h
riscom8.c
riscom8.h
rocket_int.h
rocket.c
rocket.h
rtc.c
s3c2410-rtc.c
scan_keyb.c
scan_keyb.h
scc.h
scx200_gpio.c
selection.c
ser_a2232.c
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c
snsc_event.c
snsc.c
snsc.h
sonypi.c
specialix_io8.h
specialix.c
stallion.c
sx.c
sx.h
sxboards.h
sxwindow.h
synclink.c
synclinkmp.c
sysrq.c
tb0219.c
tipar.c
toshiba.c
tty_io.c
tty_ioctl.c
vc_screen.c
viocons.c
viotape.c
vme_scc.c
vr41xx_giu.c
vr41xx_rtc.c
vt_ioctl.c
vt.c