OSDN Git Service

drm/i915/display: support ddr5 mem types
authorClint Taylor <clinton.a.taylor@intel.com>
Thu, 4 Feb 2021 20:04:58 +0000 (12:04 -0800)
committerJosé Roberto de Souza <jose.souza@intel.com>
Fri, 5 Feb 2021 13:23:15 +0000 (05:23 -0800)
Add DDR5 and LPDDR5 return values from punit fw.

BSPEC: 54023
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210204200458.21875-1-clinton.a.taylor@intel.com
drivers/gpu/drm/i915/display/intel_bw.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_dram.c

index ba9e713..d122b99 100644 (file)
@@ -78,7 +78,17 @@ static int icl_get_qgv_points(struct drm_i915_private *dev_priv,
        qi->num_points = dram_info->num_qgv_points;
 
        if (IS_GEN(dev_priv, 12))
-               qi->t_bl = dev_priv->dram_info.type == INTEL_DRAM_DDR4 ? 4 : 16;
+               switch (dram_info->type) {
+               case INTEL_DRAM_DDR4:
+                       qi->t_bl = 4;
+                       break;
+               case INTEL_DRAM_DDR5:
+                       qi->t_bl = 8;
+                       break;
+               default:
+                       qi->t_bl = 16;
+                       break;
+               }
        else if (IS_GEN(dev_priv, 11))
                qi->t_bl = dev_priv->dram_info.type == INTEL_DRAM_DDR4 ? 4 : 8;
 
index 105109b..60c5258 100644 (file)
@@ -1133,7 +1133,9 @@ struct drm_i915_private {
                        INTEL_DRAM_DDR3,
                        INTEL_DRAM_DDR4,
                        INTEL_DRAM_LPDDR3,
-                       INTEL_DRAM_LPDDR4
+                       INTEL_DRAM_LPDDR4,
+                       INTEL_DRAM_DDR5,
+                       INTEL_DRAM_LPDDR5,
                } type;
                u8 num_qgv_points;
        } dram_info;
index 73d256f..1e53c01 100644 (file)
@@ -427,6 +427,12 @@ static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv)
                case 0:
                        dram_info->type = INTEL_DRAM_DDR4;
                        break;
+               case 1:
+                       dram_info->type = INTEL_DRAM_DDR5;
+                       break;
+               case 2:
+                       dram_info->type = INTEL_DRAM_LPDDR5;
+                       break;
                case 3:
                        dram_info->type = INTEL_DRAM_LPDDR4;
                        break;