diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_pm.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index d99e5fabe93c..1db9b8328275 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -2875,6 +2875,16 @@ static void intel_read_wm_latency(struct drm_i915_private *dev_priv, | |||
2875 | } | 2875 | } |
2876 | } | 2876 | } |
2877 | 2877 | ||
2878 | /* | ||
2879 | * WA Level-0 adjustment for 16GB DIMMs: SKL+ | ||
2880 | * If we could not get dimm info enable this WA to prevent from | ||
2881 | * any underrun. If not able to get Dimm info assume 16GB dimm | ||
2882 | * to avoid any underrun. | ||
2883 | */ | ||
2884 | if (!dev_priv->dram_info.valid_dimm || | ||
2885 | dev_priv->dram_info.is_16gb_dimm) | ||
2886 | wm[0] += 1; | ||
2887 | |||
2878 | } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) { | 2888 | } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) { |
2879 | uint64_t sskpd = I915_READ64(MCH_SSKPD); | 2889 | uint64_t sskpd = I915_READ64(MCH_SSKPD); |
2880 | 2890 | ||
@@ -6108,10 +6118,13 @@ void intel_enable_ipc(struct drm_i915_private *dev_priv) | |||
6108 | u32 val; | 6118 | u32 val; |
6109 | 6119 | ||
6110 | /* Display WA #0477 WaDisableIPC: skl */ | 6120 | /* Display WA #0477 WaDisableIPC: skl */ |
6111 | if (IS_SKYLAKE(dev_priv)) { | 6121 | if (IS_SKYLAKE(dev_priv)) |
6122 | dev_priv->ipc_enabled = false; | ||
6123 | |||
6124 | /* Display WA #1141: SKL:all KBL:all CFL */ | ||
6125 | if ((IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv)) && | ||
6126 | !dev_priv->dram_info.symmetric_memory) | ||
6112 | dev_priv->ipc_enabled = false; | 6127 | dev_priv->ipc_enabled = false; |
6113 | return; | ||
6114 | } | ||
6115 | 6128 | ||
6116 | val = I915_READ(DISP_ARB_CTL2); | 6129 | val = I915_READ(DISP_ARB_CTL2); |
6117 | 6130 | ||