[PATCH 1/5] drm/i915/dram: add intel_fsb_freq() and use it
Rodrigo Vivi
rodrigo.vivi at intel.com
Tue Aug 5 22:17:22 UTC 2025
On Thu, Jul 31, 2025 at 05:21:21PM +0300, Jani Nikula wrote:
> Add a more generic intel_fsb_freq() function instead of platform
> specific ones.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_cdclk.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c | 2 +-
> drivers/gpu/drm/i915/soc/intel_dram.c | 14 ++++++++++----
> drivers/gpu/drm/i915/soc/intel_dram.h | 2 +-
> 4 files changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index 228aa64c1349..50f8e8e7b2a2 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -3569,7 +3569,7 @@ static int i9xx_hrawclk(struct intel_display *display)
> struct drm_i915_private *i915 = to_i915(display->drm);
>
> /* hrawclock is 1/4 the FSB frequency */
> - return DIV_ROUND_CLOSEST(i9xx_fsb_freq(i915), 4);
> + return DIV_ROUND_CLOSEST(intel_fsb_freq(i915), 4);
> }
>
> /**
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
> index 6c499692d61e..88b147fa5cb1 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
> @@ -148,7 +148,7 @@ static u32 gen4_read_clock_frequency(struct intel_uncore *uncore)
> *
> * Testing on actual hardware has shown there is no /16.
> */
> - return DIV_ROUND_CLOSEST(i9xx_fsb_freq(uncore->i915), 4) * 1000;
> + return DIV_ROUND_CLOSEST(intel_fsb_freq(uncore->i915), 4) * 1000;
> }
>
> static u32 read_clock_frequency(struct intel_uncore *uncore)
> diff --git a/drivers/gpu/drm/i915/soc/intel_dram.c b/drivers/gpu/drm/i915/soc/intel_dram.c
> index deb159548a09..6be3618d4885 100644
> --- a/drivers/gpu/drm/i915/soc/intel_dram.c
> +++ b/drivers/gpu/drm/i915/soc/intel_dram.c
> @@ -153,7 +153,7 @@ static void detect_mem_freq(struct drm_i915_private *i915)
> drm_dbg(&i915->drm, "DDR speed: %d kHz\n", i915->mem_freq);
> }
>
> -unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> +static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> {
> u32 fsb;
>
> @@ -235,13 +235,19 @@ static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
> }
> }
>
> -static void detect_fsb_freq(struct drm_i915_private *i915)
> +unsigned int intel_fsb_freq(struct drm_i915_private *i915)
> {
> if (GRAPHICS_VER(i915) == 5)
> - i915->fsb_freq = ilk_fsb_freq(i915);
> + return ilk_fsb_freq(i915);
> else if (GRAPHICS_VER(i915) == 3 || GRAPHICS_VER(i915) == 4)
> - i915->fsb_freq = i9xx_fsb_freq(i915);
> + return i9xx_fsb_freq(i915);
> + else
> + return 0;
> +}
>
> +static void detect_fsb_freq(struct drm_i915_private *i915)
> +{
> + i915->fsb_freq = intel_fsb_freq(i915);
> if (i915->fsb_freq)
> drm_dbg(&i915->drm, "FSB frequency: %d kHz\n", i915->fsb_freq);
> }
> diff --git a/drivers/gpu/drm/i915/soc/intel_dram.h b/drivers/gpu/drm/i915/soc/intel_dram.h
> index 2a696e03aad4..09a7a581d949 100644
> --- a/drivers/gpu/drm/i915/soc/intel_dram.h
> +++ b/drivers/gpu/drm/i915/soc/intel_dram.h
> @@ -33,7 +33,7 @@ struct dram_info {
>
> void intel_dram_edram_detect(struct drm_i915_private *i915);
> int intel_dram_detect(struct drm_i915_private *i915);
> -unsigned int i9xx_fsb_freq(struct drm_i915_private *i915);
> +unsigned int intel_fsb_freq(struct drm_i915_private *i915);
> const struct dram_info *intel_dram_info(struct drm_device *drm);
>
> #endif /* __INTEL_DRAM_H__ */
> --
> 2.39.5
>
More information about the Intel-gfx
mailing list