kernel-ark/drivers
Chris Wilson 968b503e69 Revert "drm/i915: Don't save/restore hardware status page address register"
This reverts commit a7a75c8f70.

There are two different variations on how Intel hardware addresses the
"Hardware Status Page". One as a location in physical memory and the
other as an offset into the virtual memory of the GPU, used in more
recent chipsets. (The HWS itself is a cacheable region of memory which
the GPU can write to without requiring CPU synchronisation, used for
updating various details of hardware state, such as the position of
the GPU head in the ringbuffer, the last breadcrumb seqno, etc).

These two types of addresses were updated in different locations of code
- one inline with the ringbuffer initialisation, and the other during
device initialisation. (The HWS page is logically associated with
the rings, and there is one HWS page per ring.) During resume, only the
ringbuffers were being re-initialised along with the virtual HWS page,
leaving the older physical address HWS untouched. This then caused a
hang on the older gen3/4 (915GM, 945GM, 965GM) the first time we tried
to synchronise the GPU as the breadcrumbs were never being updated.

Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Reported-by: Jan Niehusmann <jan@gondor.com>
Reported-by: Justin P. Mattock <justinmattock@gmail.com>
Reported-and-tested-by: Michael "brot" Groh <brot@minad.de>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-23 19:45:06 -07:00
..
accessibility
acpi acpi: tie ACPI backlight devices to PCI devices if possible 2011-03-22 17:44:00 -07:00
amba
ata Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-03-18 06:31:43 -07:00
atm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
auxdisplay
base
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client 2011-03-22 16:25:25 -07:00
bluetooth Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
cdrom
char Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
clk
clocksource
connector
cpufreq
cpuidle
crypto
dca drivers/dca/dca-core.c: use list_move() instead of list_del()/list_add() combination 2011-03-22 17:44:12 -07:00
dio
dma Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-03-22 17:53:13 -07:00
edac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2011-03-21 10:05:22 -07:00
firmware sigma-firmware: loader for Analog Devices' SigmaStudio 2011-03-22 17:44:15 -07:00
gpio Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-18 10:56:02 -07:00
gpu Revert "drm/i915: Don't save/restore hardware status page address register" 2011-03-23 19:45:06 -07:00
hid backlight: add backlight type 2011-03-22 17:43:59 -07:00
hwmon hwmon: (ads1015) Make gain and datarate configurable 2011-03-21 17:59:37 +01:00
hwspinlock
i2c Merge branch 'for-linus/2639/i2c-2' of git://git.fluff.org/bjdooks/linux 2011-03-22 10:05:27 -07:00
ide ide: change to new flag variable 2011-03-17 14:05:34 +01:00
idle
ieee802154 ieee802154: change to new flag variable 2011-03-17 14:05:34 +01:00
infiniband Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2011-03-17 18:40:35 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-03-19 22:27:06 -07:00
isdn Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
leds drivers/leds/leds-lp5523.c: world-writable engine* sysfs files 2011-03-22 17:43:59 -07:00
lguest
macintosh backlight: add backlight type 2011-03-22 17:43:59 -07:00
mca
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-17 17:54:40 -07:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-03-19 22:27:06 -07:00
memstick memstick: change to new flag variable 2011-03-17 14:05:34 +01:00
message Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
mfd Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-17 19:08:06 -07:00
misc drivers/misc/pch_phub.c: add MODULE_DEVICE_TABLE 2011-03-22 17:44:11 -07:00
mmc drivers/mmc/host/omap_hsmmc.c: use resource_size() 2011-03-22 17:44:15 -07:00
mtd Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 2011-03-18 10:50:27 -07:00
net zlib: slim down zlib_deflate() workspace when possible 2011-03-22 17:44:17 -07:00
nfc
nubus
of
oprofile
parisc
parport
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-03-18 10:56:44 -07:00
pcmcia
platform backlight: add backlight type 2011-03-22 17:43:59 -07:00
pnp pnp: only assign IORESOURCE_DMA if CONFIG_ISA_DMA_API is enabled 2011-03-22 17:44:16 -07:00
power
pps pps: remove unreachable code 2011-03-22 17:44:17 -07:00
ps3
rapidio rapidio: change to new flag variable 2011-03-17 14:05:35 +01:00
regulator
rtc rtc: add real-time clock driver for NVIDIA Tegra 2011-03-22 17:44:16 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-17 17:54:40 -07:00
sbus
scsi sd: Fail discard requests when logical block provisioning has been disabled 2011-03-22 09:35:53 -07:00
sfi
sh
sn
spi Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-18 10:56:02 -07:00
ssb
staging backlight: add backlight type 2011-03-22 17:43:59 -07:00
target Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
tc
telephony
thermal
tty tty: stop using "delayed_work" in the tty layer 2011-03-22 16:17:32 -07:00
uio
usb backlight: add backlight type 2011-03-22 17:43:59 -07:00
uwb
vhost
video kstrto*: converting strings to integers done (hopefully) right 2011-03-22 17:44:14 -07:00
virtio
vlynq
w1
watchdog Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
xen Merge branch 'stable/xen.pm.bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2011-03-17 18:37:42 -07:00
zorro
Kconfig
Makefile