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>
This commit is contained in:
parent
f5d3c3eaab
commit
79e50a4f72
@ -135,6 +135,39 @@ intel_pch_rawclk(struct drm_device *dev)
|
|||||||
return I915_READ(PCH_RAWCLK_FREQ) & RAWCLK_FREQ_MASK;
|
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 */
|
static inline u32 /* units of 100MHz */
|
||||||
intel_fdi_link_freq(struct drm_device *dev)
|
intel_fdi_link_freq(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
|
@ -261,40 +261,6 @@ static void intel_dp_unpack_aux(uint32_t src, uint8_t *dst, int dst_bytes)
|
|||||||
dst[i] = src >> ((3-i) * 8);
|
dst[i] = src >> ((3-i) * 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* hrawclock is 1/4 the FSB frequency */
|
|
||||||
static 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 void
|
static void
|
||||||
intel_dp_init_panel_power_sequencer(struct drm_device *dev,
|
intel_dp_init_panel_power_sequencer(struct drm_device *dev,
|
||||||
struct intel_dp *intel_dp);
|
struct intel_dp *intel_dp);
|
||||||
|
@ -1011,6 +1011,7 @@ void i915_audio_component_cleanup(struct drm_i915_private *dev_priv);
|
|||||||
extern const struct drm_plane_funcs intel_plane_funcs;
|
extern const struct drm_plane_funcs intel_plane_funcs;
|
||||||
bool intel_has_pending_fb_unpin(struct drm_device *dev);
|
bool intel_has_pending_fb_unpin(struct drm_device *dev);
|
||||||
int intel_pch_rawclk(struct drm_device *dev);
|
int intel_pch_rawclk(struct drm_device *dev);
|
||||||
|
int intel_hrawclk(struct drm_device *dev);
|
||||||
void intel_mark_busy(struct drm_device *dev);
|
void intel_mark_busy(struct drm_device *dev);
|
||||||
void intel_mark_idle(struct drm_device *dev);
|
void intel_mark_idle(struct drm_device *dev);
|
||||||
void intel_crtc_restore_mode(struct drm_crtc *crtc);
|
void intel_crtc_restore_mode(struct drm_crtc *crtc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user