]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/i915: diasable clock gating for the panel power sequencer
authorJesse Barnes <jbarnes@virtuousgeek.org>
Thu, 7 Oct 2010 23:01:25 +0000 (16:01 -0700)
committerAndi Kleen <ak@linux.intel.com>
Tue, 14 Dec 2010 22:40:04 +0000 (23:40 +0100)
commit 382b09362711d7d03272230a33767015a277926e upstream.

Needed on Ibex Peak and Cougar Point or the panel won't always come on.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c

index bed6a5eb4e99d45f5f665557993c2668dd047770..140f01718631f92a4d5fda5bd16e17016f1c917b 100644 (file)
 #define FDI_RXB_CHICKEN         0xc2010
 #define  FDI_RX_PHASE_SYNC_POINTER_ENABLE       (1)
 
+#define SOUTH_DSPCLK_GATE_D    0xc2020
+#define  PCH_DPLSUNIT_CLOCK_GATE_DISABLE (1<<29)
+
 /* CPU: FDI_TX */
 #define FDI_TXA_CTL             0x60100
 #define FDI_TXB_CTL             0x61100
index d1c12435af48a1bc350ed365f4da577153592bd8..660c67cac2425f3ed3783aec064bb16a31dabc37 100644 (file)
@@ -5415,6 +5415,13 @@ void intel_init_clock_gating(struct drm_device *dev)
 
                I915_WRITE(PCH_DSPCLK_GATE_D, dspclk_gate);
 
+               /*
+                * On Ibex Peak and Cougar Point, we need to disable clock
+                * gating for the panel power sequencer or it will fail to
+                * start up when no ports are active.
+                */
+               I915_WRITE(SOUTH_DSPCLK_GATE_D, PCH_DPLSUNIT_CLOCK_GATE_DISABLE);
+
                /*
                 * According to the spec the following bits should be set in
                 * order to enable memory self-refresh