Keith Packard a8c84df9f7 intel/agp: rewrite GTT on resume
On my Intel chipset (965GM), the GTT is entirely erased across
suspend/resume.  This patch simply re-plays the current mapping at resume
time to restore the table.=20

I noticed this once I started relying on persistent GTT mappings across VT
switch in our GEM work -- the old X server and DRM code carefully unbind
all memory from the GTT on VT switch, but GEM does not bother.

I placed the list management and rewrite code in the generic layer on the
assumption that it will be needed on other hardware, but I did not add the
rewrite call to anything other than the Intel resume function.

Keep a list of current GATT mappings.  At resume time, rewrite them into
the GATT.  This is needed on Intel (at least) as the entire GATT is
cleared across suspend/resume.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Keith Packard <keithp@keithp.com>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-08-12 10:13:38 +10:00
..
2008-08-12 10:13:38 +10:00
2008-07-25 10:53:43 -07:00
2008-06-20 14:05:55 -06:00
2008-07-22 13:03:28 -07:00
2008-06-20 14:05:56 -06:00
2008-07-26 13:22:56 -07:00
2008-07-20 17:12:36 -07:00
2008-07-22 13:03:28 -07:00
2008-07-20 17:12:36 -07:00
2008-06-20 14:05:57 -06:00
2008-07-25 10:53:43 -07:00
2008-06-20 14:05:57 -06:00
2008-06-20 14:05:48 -06:00
2008-02-07 08:42:25 -08:00
2008-07-22 13:03:28 -07:00
2008-04-30 08:29:43 -07:00
2008-07-24 10:47:14 -07:00
2008-07-30 09:41:45 -07:00
2008-07-22 13:03:28 -07:00
2008-07-20 17:12:34 -07:00
2008-07-20 17:12:34 -07:00
2008-07-20 17:12:34 -07:00
2008-07-20 17:12:38 -07:00
2008-07-20 17:12:38 -07:00
2008-07-22 13:03:28 -07:00
2008-07-20 17:12:38 -07:00
2008-07-20 17:12:34 -07:00
2008-07-26 20:29:03 -07:00
2008-07-02 15:06:25 -06:00
2008-07-20 17:12:38 -07:00
2008-07-24 10:47:30 -07:00
2008-06-20 14:05:51 -06:00
2008-04-30 23:15:34 +02:00
2008-05-01 13:08:16 -04:00
2008-07-20 17:12:34 -07:00
2008-07-26 20:29:03 -07:00
2008-04-30 08:29:40 -07:00
2008-08-04 17:12:07 -07:00