drm/i915: read out hw state earlier v2 14/22214/3
authorJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 11 Feb 2014 23:28:56 +0000 (15:28 -0800)
committerJin Song <jin.kyu.song@linux.intel.com>
Fri, 30 May 2014 03:15:45 +0000 (20:15 -0700)
We want to do this early on before we try to fetch the plane config,
which depends on some of the pipe config state.

Note that the important part is that we do this before we initialize
gem, since otherwise we can't properly pre-reserve the stolen memory
for framebuffers inherited from the bios.

v2: split back out from get_plane_config change (Daniel)
    update for recent locking & reset changes (Jesse)

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
[danvet: Explain a bit more why we need to move this.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Change-Id: I2dd546b72346df60d9f80910ed607139bef639dc

drivers/gpu/drm/i915/intel_display.c

index b5c02ee..c2817e3 100644 (file)
@@ -10968,6 +10968,8 @@ void intel_modeset_init(struct drm_device *dev)
 
        /* Just in case the BIOS is doing something questionable. */
        intel_disable_fbc(dev);
+
+       intel_modeset_setup_hw_state(dev, false);
 }
 
 static void
@@ -11333,10 +11335,6 @@ void intel_modeset_gem_init(struct drm_device *dev)
        intel_modeset_init_hw(dev);
 
        intel_setup_overlay(dev);
-
-       mutex_lock(&dev->mode_config.mutex);
-       intel_modeset_setup_hw_state(dev, false);
-       mutex_unlock(&dev->mode_config.mutex);
 }
 
 void intel_modeset_cleanup(struct drm_device *dev)