diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_utils.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_utils.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h index af3d7cc53fa1..8d07764887ec 100644 --- a/drivers/gpu/drm/i915/i915_utils.h +++ b/drivers/gpu/drm/i915/i915_utils.h | |||
@@ -83,8 +83,11 @@ | |||
83 | (typeof(ptr))(__v & -BIT(n)); \ | 83 | (typeof(ptr))(__v & -BIT(n)); \ |
84 | }) | 84 | }) |
85 | 85 | ||
86 | #define ptr_pack_bits(ptr, bits, n) \ | 86 | #define ptr_pack_bits(ptr, bits, n) ({ \ |
87 | ((typeof(ptr))((unsigned long)(ptr) | (bits))) | 87 | unsigned long __bits = (bits); \ |
88 | GEM_BUG_ON(__bits & -BIT(n)); \ | ||
89 | ((typeof(ptr))((unsigned long)(ptr) | __bits)); \ | ||
90 | }) | ||
88 | 91 | ||
89 | #define page_mask_bits(ptr) ptr_mask_bits(ptr, PAGE_SHIFT) | 92 | #define page_mask_bits(ptr) ptr_mask_bits(ptr, PAGE_SHIFT) |
90 | #define page_unmask_bits(ptr) ptr_unmask_bits(ptr, PAGE_SHIFT) | 93 | #define page_unmask_bits(ptr) ptr_unmask_bits(ptr, PAGE_SHIFT) |