Lines Matching refs:i915
118 skl_dram_get_dimm_info(struct drm_i915_private *i915, in skl_dram_get_dimm_info() argument
122 if (INTEL_GEN(i915) >= 10) { in skl_dram_get_dimm_info()
132 drm_dbg_kms(&i915->drm, in skl_dram_get_dimm_info()
139 skl_dram_get_channel_info(struct drm_i915_private *i915, in skl_dram_get_channel_info() argument
143 skl_dram_get_dimm_info(i915, &ch->dimm_l, in skl_dram_get_channel_info()
145 skl_dram_get_dimm_info(i915, &ch->dimm_s, in skl_dram_get_channel_info()
149 drm_dbg_kms(&i915->drm, "CH%u not populated\n", channel); in skl_dram_get_channel_info()
163 drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb DIMMs: %s\n", in skl_dram_get_channel_info()
179 skl_dram_get_channels_info(struct drm_i915_private *i915) in skl_dram_get_channels_info() argument
181 struct dram_info *dram_info = &i915->dram_info; in skl_dram_get_channels_info()
186 val = intel_uncore_read(&i915->uncore, in skl_dram_get_channels_info()
188 ret = skl_dram_get_channel_info(i915, &ch0, 0, val); in skl_dram_get_channels_info()
192 val = intel_uncore_read(&i915->uncore, in skl_dram_get_channels_info()
194 ret = skl_dram_get_channel_info(i915, &ch1, 1, val); in skl_dram_get_channels_info()
199 drm_info(&i915->drm, "Number of memory channels is zero\n"); in skl_dram_get_channels_info()
214 drm_info(&i915->drm, "couldn't get memory rank information\n"); in skl_dram_get_channels_info()
222 drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n", in skl_dram_get_channels_info()
229 skl_get_dram_type(struct drm_i915_private *i915) in skl_get_dram_type() argument
233 val = intel_uncore_read(&i915->uncore, in skl_get_dram_type()
252 skl_get_dram_info(struct drm_i915_private *i915) in skl_get_dram_info() argument
254 struct dram_info *dram_info = &i915->dram_info; in skl_get_dram_info()
258 dram_info->type = skl_get_dram_type(i915); in skl_get_dram_info()
259 drm_dbg_kms(&i915->drm, "DRAM type: %s\n", in skl_get_dram_info()
262 ret = skl_dram_get_channels_info(i915); in skl_get_dram_info()
266 val = intel_uncore_read(&i915->uncore, in skl_get_dram_info()
275 drm_info(&i915->drm, in skl_get_dram_info()
362 static int bxt_get_dram_info(struct drm_i915_private *i915) in bxt_get_dram_info() argument
364 struct dram_info *dram_info = &i915->dram_info; in bxt_get_dram_info()
370 val = intel_uncore_read(&i915->uncore, BXT_P_CR_MC_BIOS_REQ_0_0_0); in bxt_get_dram_info()
381 drm_info(&i915->drm, in bxt_get_dram_info()
393 val = intel_uncore_read(&i915->uncore, BXT_D_CR_DRP0_DUNIT(i)); in bxt_get_dram_info()
402 drm_WARN_ON(&i915->drm, type != INTEL_DRAM_UNKNOWN && in bxt_get_dram_info()
406 drm_dbg_kms(&i915->drm, in bxt_get_dram_info()
427 drm_info(&i915->drm, "couldn't get memory information\n"); in bxt_get_dram_info()
436 void intel_dram_detect(struct drm_i915_private *i915) in intel_dram_detect() argument
438 struct dram_info *dram_info = &i915->dram_info; in intel_dram_detect()
446 dram_info->is_16gb_dimm = !IS_GEN9_LP(i915); in intel_dram_detect()
448 if (INTEL_GEN(i915) < 9 || !HAS_DISPLAY(i915)) in intel_dram_detect()
451 if (IS_GEN9_LP(i915)) in intel_dram_detect()
452 ret = bxt_get_dram_info(i915); in intel_dram_detect()
454 ret = skl_get_dram_info(i915); in intel_dram_detect()
458 drm_dbg_kms(&i915->drm, "DRAM bandwidth: %u kBps, channels: %u\n", in intel_dram_detect()
461 drm_dbg_kms(&i915->drm, "DRAM ranks: %u, 16Gb DIMMs: %s\n", in intel_dram_detect()
465 static u32 gen9_edram_size_mb(struct drm_i915_private *i915, u32 cap) in gen9_edram_size_mb() argument
475 void intel_dram_edram_detect(struct drm_i915_private *i915) in intel_dram_edram_detect() argument
479 if (!(IS_HASWELL(i915) || IS_BROADWELL(i915) || INTEL_GEN(i915) >= 9)) in intel_dram_edram_detect()
482 edram_cap = __raw_uncore_read32(&i915->uncore, HSW_EDRAM_CAP); in intel_dram_edram_detect()
493 if (INTEL_GEN(i915) < 9) in intel_dram_edram_detect()
494 i915->edram_size_mb = 128; in intel_dram_edram_detect()
496 i915->edram_size_mb = gen9_edram_size_mb(i915, edram_cap); in intel_dram_edram_detect()
498 drm_info(&i915->drm, "Found %uMB of eDRAM\n", i915->edram_size_mb); in intel_dram_edram_detect()