Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem.c | 5 +++++ drivers/gpu/drm/i915/i915_gem_object.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 4ca88f2539c0..cbf97f4bbb72 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -2441,6 +2441,8 @@ static int ____i915_gem_object_get_pages(struct drm_i915_gem_object *obj) struct sg_table *pages; GEM_BUG_ON(i915_gem_object_has_pinned_pages(obj)); + GEM_BUG_ON(!is_valid_gtt_page_size(obj->page_size)); + GEM_BUG_ON(!is_valid_gtt_page_size(obj->gtt_page_size)); if (unlikely(obj->mm.madv != I915_MADV_WILLNEED)) { DRM_DEBUG("Attempting to obtain a purgeable object\n"); @@ -4159,6 +4161,9 @@ void i915_gem_object_init(struct drm_i915_gem_object *obj, obj->ops = ops; + obj->page_size = PAGE_SIZE; + obj->gtt_page_size = I915_GTT_PAGE_SIZE; + reservation_object_init(&obj->__builtin_resv); obj->resv = &obj->__builtin_resv; diff --git a/drivers/gpu/drm/i915/i915_gem_object.h b/drivers/gpu/drm/i915/i915_gem_object.h index 174cf923c236..b1dacbfe5173 100644 --- a/drivers/gpu/drm/i915/i915_gem_object.h +++ b/drivers/gpu/drm/i915/i915_gem_object.h @@ -107,6 +107,9 @@ struct drm_i915_gem_object { unsigned int cache_level:3; unsigned int cache_dirty:1; + unsigned int page_size; /* CPU pov - 4K(default), 2M, 1G */ + unsigned int gtt_page_size; /* GPU pov - 4K(default), 64K, 2M, 1G */ + atomic_t frontbuffer_bits; unsigned int frontbuffer_ggtt_origin; /* write once */ struct i915_gem_active frontbuffer_write; -- 2.9.3 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx