aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2010-10-07 19:01:25 -0400
committerChris Wilson <chris@chris-wilson.co.uk>2010-10-08 05:28:28 -0400
commit382b09362711d7d03272230a33767015a277926e (patch)
tree23944de00c6a05486441a03b6576e4cc5e077f18
parent298b0b392c750137f148fda056a7d4c42019814c (diff)
drm/i915: diasable clock gating for the panel power sequencer
Needed on Ibex Peak and Cougar Point or the panel won't always come on. Cc: stable@kernel.org Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h3
-rw-r--r--drivers/gpu/drm/i915/intel_display.c7
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 5a22887a5381..88292893b255 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2784,6 +2784,9 @@
2784#define FDI_RX_PHASE_SYNC_POINTER_ENABLE (1) 2784#define FDI_RX_PHASE_SYNC_POINTER_ENABLE (1)
2785#define FDI_RX_CHICKEN(pipe) _PIPE(pipe, FDI_RXA_CHICKEN, FDI_RXB_CHICKEN) 2785#define FDI_RX_CHICKEN(pipe) _PIPE(pipe, FDI_RXA_CHICKEN, FDI_RXB_CHICKEN)
2786 2786
2787#define SOUTH_DSPCLK_GATE_D 0xc2020
2788#define PCH_DPLSUNIT_CLOCK_GATE_DISABLE (1<<29)
2789
2787/* CPU: FDI_TX */ 2790/* CPU: FDI_TX */
2788#define FDI_TXA_CTL 0x60100 2791#define FDI_TXA_CTL 0x60100
2789#define FDI_TXB_CTL 0x61100 2792#define FDI_TXB_CTL 0x61100
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 89cfe4684147..8e98d708f970 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5746,6 +5746,13 @@ void intel_init_clock_gating(struct drm_device *dev)
5746 I915_WRITE(PCH_DSPCLK_GATE_D, dspclk_gate); 5746 I915_WRITE(PCH_DSPCLK_GATE_D, dspclk_gate);
5747 5747
5748 /* 5748 /*
5749 * On Ibex Peak and Cougar Point, we need to disable clock
5750 * gating for the panel power sequencer or it will fail to
5751 * start up when no ports are active.
5752 */
5753 I915_WRITE(SOUTH_DSPCLK_GATE_D, PCH_DPLSUNIT_CLOCK_GATE_DISABLE);
5754
5755 /*
5749 * According to the spec the following bits should be set in 5756 * According to the spec the following bits should be set in
5750 * order to enable memory self-refresh 5757 * order to enable memory self-refresh
5751 * The bit 22/21 of 0x42004 5758 * The bit 22/21 of 0x42004