[PATCH 05/12] drm/i915/dram: rearrange mem freq init
Matt Roper
matthew.d.roper at intel.com
Wed May 29 21:13:29 UTC 2024
On Tue, May 28, 2024 at 05:24:54PM +0300, Jani Nikula wrote:
> Follow the same style in mem freq init as in fsb freq init, returning
> the value instead of assigning in multiple places.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/i915/soc/intel_dram.c | 59 ++++++++++++---------------
> 1 file changed, 25 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/soc/intel_dram.c b/drivers/gpu/drm/i915/soc/intel_dram.c
> index 1a4db52ac258..266ed6cfa485 100644
> --- a/drivers/gpu/drm/i915/soc/intel_dram.c
> +++ b/drivers/gpu/drm/i915/soc/intel_dram.c
> @@ -48,7 +48,7 @@ static bool pnv_is_ddr3(struct drm_i915_private *i915)
> return intel_uncore_read(&i915->uncore, CSHRDDR3CTL) & CSHRDDR3CTL_DDR3;
> }
>
> -static void pnv_detect_mem_freq(struct drm_i915_private *dev_priv)
> +static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
> {
> u32 tmp;
>
> @@ -56,44 +56,38 @@ static void pnv_detect_mem_freq(struct drm_i915_private *dev_priv)
>
> switch (tmp & CLKCFG_MEM_MASK) {
> case CLKCFG_MEM_533:
> - dev_priv->mem_freq = 533;
> - break;
> + return 533;
> case CLKCFG_MEM_667:
> - dev_priv->mem_freq = 667;
> - break;
> + return 667;
> case CLKCFG_MEM_800:
> - dev_priv->mem_freq = 800;
> - break;
> + return 800;
> }
> +
> + return 0;
> }
>
> -static void ilk_detect_mem_freq(struct drm_i915_private *dev_priv)
> +static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
> {
> u16 ddrpll;
>
> ddrpll = intel_uncore_read16(&dev_priv->uncore, DDRMPLL1);
> switch (ddrpll & 0xff) {
> case 0xc:
> - dev_priv->mem_freq = 800;
> - break;
> + return 800;
> case 0x10:
> - dev_priv->mem_freq = 1066;
> - break;
> + return 1066;
> case 0x14:
> - dev_priv->mem_freq = 1333;
> - break;
> + return 1333;
> case 0x18:
> - dev_priv->mem_freq = 1600;
> - break;
> + return 1600;
> default:
> drm_dbg(&dev_priv->drm, "unknown memory frequency 0x%02x\n",
> ddrpll & 0xff);
> - dev_priv->mem_freq = 0;
> - break;
> + return 0;
> }
> }
>
> -static void chv_detect_mem_freq(struct drm_i915_private *i915)
> +static unsigned int chv_mem_freq(struct drm_i915_private *i915)
> {
> u32 val;
>
> @@ -103,15 +97,13 @@ static void chv_detect_mem_freq(struct drm_i915_private *i915)
>
> switch ((val >> 2) & 0x7) {
> case 3:
> - i915->mem_freq = 2000;
> - break;
> + return 2000;
> default:
> - i915->mem_freq = 1600;
> - break;
> + return 1600;
> }
> }
>
> -static void vlv_detect_mem_freq(struct drm_i915_private *i915)
> +static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
> {
> u32 val;
>
> @@ -122,27 +114,26 @@ static void vlv_detect_mem_freq(struct drm_i915_private *i915)
> switch ((val >> 6) & 3) {
> case 0:
> case 1:
> - i915->mem_freq = 800;
> - break;
> + return 800;
> case 2:
> - i915->mem_freq = 1066;
> - break;
> + return 1066;
> case 3:
> - i915->mem_freq = 1333;
> - break;
> + return 1333;
> }
> +
> + return 0;
> }
>
> static void detect_mem_freq(struct drm_i915_private *i915)
> {
> if (IS_PINEVIEW(i915))
> - pnv_detect_mem_freq(i915);
> + i915->mem_freq = pnv_mem_freq(i915);
> else if (GRAPHICS_VER(i915) == 5)
> - ilk_detect_mem_freq(i915);
> + i915->mem_freq = ilk_mem_freq(i915);
> else if (IS_CHERRYVIEW(i915))
> - chv_detect_mem_freq(i915);
> + i915->mem_freq = chv_mem_freq(i915);
> else if (IS_VALLEYVIEW(i915))
> - vlv_detect_mem_freq(i915);
> + i915->mem_freq = vlv_mem_freq(i915);
>
> if (IS_PINEVIEW(i915))
> i915->is_ddr3 = pnv_is_ddr3(i915);
> --
> 2.39.2
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-gfx
mailing list