drm/i915: vlv: reserve the GT power context only once during driver init
authorImre Deak <imre.deak@intel.com>
Mon, 31 Mar 2014 12:10:44 +0000 (15:10 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 1 Apr 2014 20:30:01 +0000 (22:30 +0200)
commitae48434c2a13cf4758aaf87da21d828f6d4dbebb
tree0162c5b1cb050f28747f1558139220ed5d47f75d
parent50227e1cae118562b8b6230e31bca84870cad27e
drm/i915: vlv: reserve the GT power context only once during driver init

Atm we reserve/allocate and free the power context during GT power
enable/disable time. There is no need to do this, we can reserve/allocate
the buffer once during driver loading and free it during driver cleanup.
The re-reservation can also fail in case the driver previously manages to
allocate something on the given fixed address.

The buffer isn't exepected to move even if allocated by the BIOS, for
safety add an assert to check this assumption.

This also fixed a bug for Ville, where re-reserving the context failed
during a GPU reset (I assume because something else got allocated on its
fixed address).

Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_pm.c