[Intel-gfx] [PATCH] drm/i915: Skip Stolen Memory first page.
Rodrigo Vivi
rodrigo.vivi at intel.com
Wed Jul 30 19:47:46 CEST 2014
WA to skip the first page of stolen memory due to sporadic HW write on *CS Idle
Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
---
drivers/gpu/drm/i915/i915_gem_stolen.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 21c025a..3acefb3 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -290,6 +290,7 @@ int i915_gem_init_stolen(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
int bios_reserved = 0;
+ int initial_reserved = 0;
#ifdef CONFIG_INTEL_IOMMU
if (intel_iommu_gfx_mapped && INTEL_INFO(dev)->gen < 8) {
@@ -314,9 +315,13 @@ int i915_gem_init_stolen(struct drm_device *dev)
if (WARN_ON(bios_reserved > dev_priv->gtt.stolen_size))
return 0;
+ /* WaSkipStolenMemoryFirstPage */
+ if (INTEL_INFO(dev)->gen >= 8)
+ initial_reserved = 4096;
+
/* Basic memrange allocator for stolen space */
- drm_mm_init(&dev_priv->mm.stolen, 0, dev_priv->gtt.stolen_size -
- bios_reserved);
+ drm_mm_init(&dev_priv->mm.stolen, initial_reserved,
+ dev_priv->gtt.stolen_size - bios_reserved);
return 0;
}
--
1.9.3
More information about the Intel-gfx
mailing list