[Intel-gfx] [PATCH v2 4/4] drm/i915: Codify our assumption that the Global GTT is <= 4GiB

Chris Wilson chris at chris-wilson.co.uk
Fri Mar 18 11:08:56 UTC 2016


On Fri, Mar 18, 2016 at 10:56:55AM +0000, Tvrtko Ursulin wrote:
> 
> On 18/03/16 08:42, Joonas Lahtinen wrote:
> >From: Chris Wilson <chris at chris-wilson.co.uk>
> >
> >Throughout the code base, we use u32 for offsets into the global GTT. If
> >we ever see any hardware with a larger GGTT, then we run the real risk
> >of silent corruption. So test for our assumption up front so that we
> >have a nice reminder should the time come when it fails.
> >
> >Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> >Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >Cc: Daniel Vetter <daniel at ffwll.ch>
> >Signed-off-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> >[Rebased and changed 1ull -> 1ULL]
> >---
> >  drivers/gpu/drm/i915/i915_gem_gtt.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> >diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> >index 8a9fa03..ba144ba 100644
> >--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> >+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> >@@ -3191,6 +3191,13 @@ int i915_gem_gtt_init(struct drm_device *dev)
> >  	if (ret)
> >  		return ret;
> >
> >+	if ((ggtt->base.total - 1) >> 32) {
> >+		DRM_ERROR("We never expected a Global GTT with more than 32bits of address space! Found %lldM!\n",
> >+			  ggtt->base.total >> 20);
> 
> MB or MiB?

if ((ggtt->base.total - 1) >> 32) {
	char buf[10];

	string_get_size(ggtt->base.total, 1, STRING_UNITS_2, buf, sizeof(buf));
	DRM_ERROR("We never expected a Global GTT with more than 32bits of address space! Found %s [%dbits]\n",
		  buf, fls(size));
}
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list