diff options
author | Jani Nikula | 2015-08-26 09:58:20 +0200 |
---|---|---|
committer | Daniel Vetter | 2015-09-02 11:00:04 +0200 |
commit | 79e50a4f7228e5f27d2e9785fad5509d1392a0d3 (patch) | |
tree | 226ae440ceef5e222cffdc8cdbdb785ae97bfebb /drivers/gpu/drm/i915/intel_display.c | |
parent | drm/i915: Notify GuC rc6 state (diff) | |
download | kernel-qcow2-linux-79e50a4f7228e5f27d2e9785fad5509d1392a0d3.tar.gz kernel-qcow2-linux-79e50a4f7228e5f27d2e9785fad5509d1392a0d3.tar.xz kernel-qcow2-linux-79e50a4f7228e5f27d2e9785fad5509d1392a0d3.zip |
drm/i915: move intel_hrawclk() to intel_display.c
Make it available outside of intel_dp.c.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 439e66e7c7cb..3f60cf4fe6fd 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -135,6 +135,39 @@ intel_pch_rawclk(struct drm_device *dev) return I915_READ(PCH_RAWCLK_FREQ) & RAWCLK_FREQ_MASK; } +/* hrawclock is 1/4 the FSB frequency */ +int intel_hrawclk(struct drm_device *dev) +{ + struct drm_i915_private *dev_priv = dev->dev_private; + uint32_t clkcfg; + + /* There is no CLKCFG reg in Valleyview. VLV hrawclk is 200 MHz */ + if (IS_VALLEYVIEW(dev)) + return 200; + + clkcfg = I915_READ(CLKCFG); + switch (clkcfg & CLKCFG_FSB_MASK) { + case CLKCFG_FSB_400: + return 100; + case CLKCFG_FSB_533: + return 133; + case CLKCFG_FSB_667: + return 166; + case CLKCFG_FSB_800: + return 200; + case CLKCFG_FSB_1067: + return 266; + case CLKCFG_FSB_1333: + return 333; + /* these two are just a guess; one of them might be right */ + case CLKCFG_FSB_1600: + case CLKCFG_FSB_1600_ALT: + return 400; + default: + return 133; + } +} + static inline u32 /* units of 100MHz */ intel_fdi_link_freq(struct drm_device *dev) { |