Gen8+ ppgtt uses 48-bit addresses. Kernel driver uses masks to manipulate with addresses. Masks are UL-types. On 64-bit system UL is 64 bits, on 32-bit system - 32. So on 32-bit systems 48-bit adresses goes to be cut to 32 bits. CC: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> CC: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> CC: Lionel G Landwerlin <lionel.g.landwerlin@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108282 Fixes: a363bb2cd0e2 (i965: Allocate VMA in userspace for full-PPGTT systems.) Signed-off-by: Sergii Romantsov <sergii.romantsov@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index f00c7fbe..fa3c6e4 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -2358,7 +2358,7 @@ static void gen6_check_and_clear_faults(struct drm_i915_private *dev_priv) fault = I915_READ(RING_FAULT_REG(engine)); if (fault & RING_FAULT_VALID) { DRM_DEBUG_DRIVER("Unexpected fault\n" - "\tAddr: 0x%08lx\n" + "\tAddr: 0x%08llx\n" "\tAddress space: %s\n" "\tSource ID: %d\n" "\tType: %d\n", diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h index 2a116a9..02087ca 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.h +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h @@ -676,6 +676,11 @@ int i915_gem_gtt_insert(struct i915_address_space *vm, #define PIN_HIGH BIT(9) #define PIN_OFFSET_BIAS BIT(10) #define PIN_OFFSET_FIXED BIT(11) -#define PIN_OFFSET_MASK (-I915_GTT_PAGE_SIZE) +#define PIN_OFFSET_MASK (-(__u64)I915_GTT_PAGE_SIZE) +#undef PAGE_MASK /* NOTE(sergii.romantsov): seems not the best + * idea, but original PAGE_MASK can\t be used + * for ppgtt at least with 32-bit kernel. + */ +#define PAGE_MASK (~((__u64)PAGE_SIZE-1)) #endif -- 2.7.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx