diff options
Diffstat (limited to 'drivers/gpu/drm/i915/soc/intel_dram.h')
-rw-r--r-- | drivers/gpu/drm/i915/soc/intel_dram.h | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/soc/intel_dram.h b/drivers/gpu/drm/i915/soc/intel_dram.h index a10136eda674..03a973f1c941 100644 --- a/drivers/gpu/drm/i915/soc/intel_dram.h +++ b/drivers/gpu/drm/i915/soc/intel_dram.h @@ -6,10 +6,39 @@ #ifndef __INTEL_DRAM_H__ #define __INTEL_DRAM_H__ +#include <linux/types.h> + struct drm_i915_private; +struct drm_device; + +struct dram_info { + enum intel_dram_type { + INTEL_DRAM_UNKNOWN, + INTEL_DRAM_DDR2, + INTEL_DRAM_DDR3, + INTEL_DRAM_DDR4, + INTEL_DRAM_LPDDR3, + INTEL_DRAM_LPDDR4, + INTEL_DRAM_DDR5, + INTEL_DRAM_LPDDR5, + INTEL_DRAM_GDDR, + INTEL_DRAM_GDDR_ECC, + __INTEL_DRAM_TYPE_MAX, + } type; + unsigned int fsb_freq; + unsigned int mem_freq; + u8 num_channels; + u8 num_qgv_points; + u8 num_psf_gv_points; + bool symmetric_memory; + bool has_16gb_dimms; +}; void intel_dram_edram_detect(struct drm_i915_private *i915); -void intel_dram_detect(struct drm_i915_private *i915); -unsigned int i9xx_fsb_freq(struct drm_i915_private *i915); +int intel_dram_detect(struct drm_i915_private *i915); +unsigned int intel_fsb_freq(struct drm_i915_private *i915); +unsigned int intel_mem_freq(struct drm_i915_private *i915); +const struct dram_info *intel_dram_info(struct drm_device *drm); +const char *intel_dram_type_str(enum intel_dram_type type); #endif /* __INTEL_DRAM_H__ */ |