aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_gem_stolen.c
diff options
context:
space:
mode:
authorGravatar Ville Syrjälä <ville.syrjala@linux.intel.com> 2015-09-11 21:14:29 +0300
committerGravatar Daniel Vetter <daniel.vetter@ffwll.ch> 2015-09-14 15:24:18 +0200
commitd7884d69a524b92d9770bcdc03df3c5a6120c2d0 (patch)
treec4f8d9c8d2bc0551fd1200b0225751df9989da41 /drivers/gpu/drm/i915/i915_gem_stolen.c
parentdrm/i915: Fix warnings while make xmldocs caused by intel_lrc.c (diff)
downloadlinux-d7884d69a524b92d9770bcdc03df3c5a6120c2d0.tar.gz
linux-d7884d69a524b92d9770bcdc03df3c5a6120c2d0.tar.bz2
linux-d7884d69a524b92d9770bcdc03df3c5a6120c2d0.zip
drm/i915: Set stolen reserved to 0 for pre-g4x platforms
This stolen reserved stuff was introduced on g4x, so no need to waste stolen on older platforms. Unfortunately configdb is no more so I can't look up the right way to detect this stuff. I do have one hint as to where the register might be on ctg, but I don't have a ctg to test it, and on the elk I have here it doesn't contain sensible looking data. For ilk grits suggegsts it might be in the same place as on snb (the original PCI reg, not the mirror) but I can't be entirely sure about it The register shows a round zero on my ilk. So when there's no really good data for any of these platforms leave the current "assume 1MiB" approach in place. Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_stolen.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_stolen.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index f361c4a56995..bf26ecc3781b 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -281,7 +281,7 @@ static void bdw_get_stolen_reserved(struct drm_i915_private *dev_priv,
int i915_gem_init_stolen(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
- unsigned long reserved_total, reserved_base, reserved_size;
+ unsigned long reserved_total, reserved_base = 0, reserved_size;
unsigned long stolen_top;
mutex_init(&dev_priv->mm.stolen_lock);
@@ -306,6 +306,9 @@ int i915_gem_init_stolen(struct drm_device *dev)
case 2:
case 3:
case 4:
+ if (!IS_G4X(dev))
+ break;
+ /* fall through */
case 5:
/* Assume the gen6 maximum for the older platforms. */
reserved_size = 1024 * 1024;