Skip to content

Commit

Permalink
drm/i915/ttm: restore min_page_size behaviour
Browse files Browse the repository at this point in the history
We now have bo->page_alignment which perfectly describes what we need if
we have min page size restrictions for lmem. We can also drop the flag
here, since this is the default behaviour for all objects.

v2(Thomas):
    - bo->page_alignment is in page units

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210616152501.394518-7-matthew.auld@intel.com
  • Loading branch information
Matthew Auld committed Jun 16, 2021
1 parent d53ec32 commit 13c2ceb
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 6 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/i915/gem/i915_gem_ttm.c
Original file line number Diff line number Diff line change
Expand Up @@ -672,9 +672,9 @@ int __i915_gem_ttm_object_init(struct intel_memory_region *mem,
*/
obj->base.vma_node.driver_private = i915_gem_to_ttm(obj);
ret = ttm_bo_init(&i915->bdev, i915_gem_to_ttm(obj), size,
bo_type, &i915_sys_placement, 1,
bo_type, &i915_sys_placement,
mem->min_page_size >> PAGE_SHIFT,
true, NULL, NULL, i915_ttm_bo_destroy);

if (!ret)
obj->ttm.created = true;

Expand Down
3 changes: 1 addition & 2 deletions drivers/gpu/drm/i915/intel_memory_region.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ enum intel_region_id {
#define REGION_STOLEN_SMEM BIT(INTEL_REGION_STOLEN_SMEM)
#define REGION_STOLEN_LMEM BIT(INTEL_REGION_STOLEN_LMEM)

#define I915_ALLOC_MIN_PAGE_SIZE BIT(0)
#define I915_ALLOC_CONTIGUOUS BIT(1)
#define I915_ALLOC_CONTIGUOUS BIT(0)

#define for_each_memory_region(mr, i915, id) \
for (id = 0; id < ARRAY_SIZE((i915)->mm.regions); id++) \
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/intel_region_ttm.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ intel_region_ttm_resource_alloc(struct intel_memory_region *mem,
int ret;

mock_bo.base.size = size;
mock_bo.page_alignment = 1;
mock_bo.page_alignment = mem->min_page_size >> PAGE_SHIFT;
place.flags = flags;

ret = man->func->alloc(man, &mock_bo, &place, &res);
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/selftests/mock_region.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ static int mock_region_get_pages(struct drm_i915_gem_object *obj)
struct sg_table *pages;
int err;

flags = I915_ALLOC_MIN_PAGE_SIZE;
flags = 0;
if (obj->flags & I915_BO_ALLOC_CONTIGUOUS)
flags |= TTM_PL_FLAG_CONTIGUOUS;

Expand Down

0 comments on commit 13c2ceb

Please sign in to comment.