diff options
author | Jani Nikula <jani.nikula@intel.com> | 2025-09-12 17:48:42 +0300 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2025-09-17 11:29:02 +0300 |
commit | 01c46fcef51f980219cfcd4ee8b3f2688ffcf509 (patch) | |
tree | c323b8cc55bd012fbd0b4874201b8c0593507c3f | |
parent | 7d112811787f03030f301975af4079a1efe7cdcc (diff) |
drm/i915: add vlv_clock_get_gpll()
Add a vlv_clock_get_gpll() helper to hide the details from the callers.
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/2589396fa14388d7709d2b01f1d32f9f38dab11a.1757688216.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_display.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_display.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/gt/intel_rps.c | 5 |
3 files changed, 10 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index aef136a1be25..4599c2f37682 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -190,6 +190,14 @@ int vlv_get_cck_clock_hpll(struct drm_device *drm, return hpll; } +int vlv_clock_get_gpll(struct drm_device *drm) +{ + struct drm_i915_private *i915 = to_i915(drm); + + return vlv_get_cck_clock(drm, "GPLL ref", CCK_GPLL_CLOCK_CONTROL, + i915->czclk_freq); +} + void intel_update_czclk(struct intel_display *display) { struct drm_i915_private *dev_priv = to_i915(display->drm); diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h index 37e2ab301a80..7ae899b8787a 100644 --- a/drivers/gpu/drm/i915/display/intel_display.h +++ b/drivers/gpu/drm/i915/display/intel_display.h @@ -440,6 +440,7 @@ int vlv_get_cck_clock(struct drm_device *drm, const char *name, u32 reg, int ref_freq); int vlv_get_cck_clock_hpll(struct drm_device *drm, const char *name, u32 reg); +int vlv_clock_get_gpll(struct drm_device *drm); bool intel_has_pending_fb_unpin(struct intel_display *display); void intel_encoder_destroy(struct drm_encoder *encoder); struct drm_display_mode * diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c index afc934b7f5bc..f19353f04228 100644 --- a/drivers/gpu/drm/i915/gt/intel_rps.c +++ b/drivers/gpu/drm/i915/gt/intel_rps.c @@ -1690,10 +1690,7 @@ static void vlv_init_gpll_ref_freq(struct intel_rps *rps) { struct drm_i915_private *i915 = rps_to_i915(rps); - rps->gpll_ref_freq = - vlv_get_cck_clock(&i915->drm, "GPLL ref", - CCK_GPLL_CLOCK_CONTROL, - i915->czclk_freq); + rps->gpll_ref_freq = vlv_clock_get_gpll(&i915->drm); drm_dbg(&i915->drm, "GPLL reference freq: %d kHz\n", rps->gpll_ref_freq); |