lkml.org 
[lkml]   [2011]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Oops in i915 intel_init_clock_gating
On Wed, 15 Jun 2011 16:08:51 -0400 (EDT)
Alan Stern <stern@rowland.harvard.edu> wrote:

> The problem of dev_priv->display.init_clock_gating not getting set is
> still present in 3.0-rc3. On my system this happens because
> intel_init_display() never gets called in the first place.
>
> AFAICT, the normal calling sequence during driver initialization is:
>
> i915_driver_load() -> i915_load_modeset_init() ->
> intel_modeset_init() -> intel_init_display().
>
> But in my case the call to i915_load_modeset_init() doesn't occur
> because drm_core_check_feature(dev, DRIVER_MODESET) is False.

Ouch, a non-KMS config. Any reason you can't use KMS?

This patch should help at any rate.

--
Jesse Barnes, Intel Open Source Technology Center

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 0defd42..a1a28fb 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -429,6 +429,9 @@ static int i915_drm_thaw(struct drm_device *dev)
/* KMS EnterVT equivalent */
if (drm_core_check_feature(dev, DRIVER_MODESET)) {
mutex_lock(&dev->struct_mutex);
+
+ intel_init_clock_gating(dev);
+
dev_priv->mm.suspended = 0;

error = i915_gem_init_ringbuffer(dev);
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index 60a94d2..b478d16 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -863,8 +863,6 @@ int i915_restore_state(struct drm_device *dev)
I915_WRITE(IMR, dev_priv->saveIMR);
}

- intel_init_clock_gating(dev);
-
if (IS_IRONLAKE_M(dev)) {
ironlake_enable_drps(dev);
intel_init_emon(dev);


\
 
 \ /
  Last update: 2011-06-15 22:35    [W:0.077 / U:10.396 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site