diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-10-07 19:01:25 -0400 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-10-08 05:28:28 -0400 |
commit | 382b09362711d7d03272230a33767015a277926e (patch) | |
tree | 23944de00c6a05486441a03b6576e4cc5e077f18 /drivers/gpu/drm/i915 | |
parent | 298b0b392c750137f148fda056a7d4c42019814c (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>
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 7 |
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 5a22887a538..88292893b25 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 89cfe468414..8e98d708f97 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 |