drm/i915: Free hardware status page on unload when physically mapped
authorKeith Packard <keithp@keithp.com>
Thu, 7 Oct 2010 08:20:12 +0000 (09:20 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 9 Dec 2010 21:32:24 +0000 (13:32 -0800)
commit c2873e9633fe908dccd36dbb1d370e9c59a1ca62 upstream.

A physically mapped hardware status page is allocated at driver load
time but was never freed. Call the existing code to free this page at
driver unload time on hardware which uses this kind.

Signed-off-by: Keith Packard <keithp@keithp.com>
[ickle: call before tearing down registers on KMS-only path, as pointed
out by Dave Airlie]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/i915/i915_dma.c

index 2dd2c93ebfa35dace7916b38c6df18c835161978..71c69b8e2ed08002b61d6c3e030b13133380db34 100644 (file)
@@ -2306,6 +2306,9 @@ int i915_driver_unload(struct drm_device *dev)
                i915_gem_lastclose(dev);
 
                intel_cleanup_overlay(dev);
+
+               if (!I915_NEED_GFX_HWS(dev))
+                       i915_free_hws(dev);
        }
 
        intel_teardown_mchbar(dev);