Skip to content

Commit ec9223b

Browse files
committed
drm/xe: Drop bo->size
bo->size is redundant because the base GEM object already has a size field with the same value. Drop bo->size and use the base GEM object’s size instead. While at it, introduce xe_bo_size() to abstract the BO size. v2: - Fix typo in kernel doc (Ashutosh) - Fix kunit (CI) - Fix line wrap (Checkpatch) v3: - Fix sriov build (CI) v4: - Fix display build (CI) Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Link: https://lore.kernel.org/r/20250625144128.2827577-1-matthew.brost@intel.com
1 parent 9c7d93a commit ec9223b

23 files changed

+113
-100
lines changed

drivers/gpu/drm/xe/display/xe_fb_pin.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ static int __xe_pin_fb_vma_ggtt(const struct intel_framebuffer *fb,
227227
goto out_unlock;
228228
}
229229

230-
ret = xe_ggtt_node_insert_locked(vma->node, bo->size, align, 0);
230+
ret = xe_ggtt_node_insert_locked(vma->node, xe_bo_size(bo), align, 0);
231231
if (ret) {
232232
xe_ggtt_node_fini(vma->node);
233233
goto out_unlock;

drivers/gpu/drm/xe/display/xe_hdcp_gsc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ static int intel_hdcp_gsc_initialize_message(struct xe_device *xe,
8585

8686
cmd_in = xe_bo_ggtt_addr(bo);
8787
cmd_out = cmd_in + PAGE_SIZE;
88-
xe_map_memset(xe, &bo->vmap, 0, 0, bo->size);
88+
xe_map_memset(xe, &bo->vmap, 0, 0, xe_bo_size(bo));
8989

9090
gsc_context->hdcp_bo = bo;
9191
gsc_context->hdcp_cmd_in = cmd_in;

drivers/gpu/drm/xe/tests/xe_bo.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ static int ccs_test_migrate(struct xe_tile *tile, struct xe_bo *bo,
106106
}
107107

108108
/* Check last CCS value, or at least last value in page. */
109-
offset = xe_device_ccs_bytes(tile_to_xe(tile), bo->size);
109+
offset = xe_device_ccs_bytes(tile_to_xe(tile), xe_bo_size(bo));
110110
offset = min_t(u32, offset, PAGE_SIZE) / sizeof(u64) - 1;
111111
if (cpu_map[offset] != get_val) {
112112
KUNIT_FAIL(test,

drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ static struct xe_bo *replacement_xe_managed_bo_create_pin_map(struct xe_device *
3232

3333
bo->tile = tile;
3434
bo->ttm.bdev = &xe->ttm;
35-
bo->size = size;
35+
bo->ttm.base.size = size;
3636
iosys_map_set_vaddr(&bo->vmap, buf);
3737

3838
if (flags & XE_BO_FLAG_GGTT) {
@@ -43,7 +43,7 @@ static struct xe_bo *replacement_xe_managed_bo_create_pin_map(struct xe_device *
4343

4444
KUNIT_ASSERT_EQ(test, 0,
4545
xe_ggtt_node_insert(bo->ggtt_node[tile->id],
46-
bo->size, SZ_4K));
46+
xe_bo_size(bo), SZ_4K));
4747
}
4848

4949
return bo;

drivers/gpu/drm/xe/tests/xe_migrate.c

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,13 @@ static void test_copy(struct xe_migrate *m, struct xe_bo *bo,
7474
{
7575
struct xe_device *xe = tile_to_xe(m->tile);
7676
u64 retval, expected = 0;
77-
bool big = bo->size >= SZ_2M;
77+
bool big = xe_bo_size(bo) >= SZ_2M;
7878
struct dma_fence *fence;
7979
const char *str = big ? "Copying big bo" : "Copying small bo";
8080
int err;
8181

8282
struct xe_bo *remote = xe_bo_create_locked(xe, m->tile, NULL,
83-
bo->size,
83+
xe_bo_size(bo),
8484
ttm_bo_type_kernel,
8585
region |
8686
XE_BO_FLAG_NEEDS_CPU_ACCESS |
@@ -105,23 +105,23 @@ static void test_copy(struct xe_migrate *m, struct xe_bo *bo,
105105
goto out_unlock;
106106
}
107107

108-
xe_map_memset(xe, &remote->vmap, 0, 0xd0, remote->size);
108+
xe_map_memset(xe, &remote->vmap, 0, 0xd0, xe_bo_size(remote));
109109
fence = xe_migrate_clear(m, remote, remote->ttm.resource,
110110
XE_MIGRATE_CLEAR_FLAG_FULL);
111111
if (!sanity_fence_failed(xe, fence, big ? "Clearing remote big bo" :
112112
"Clearing remote small bo", test)) {
113113
retval = xe_map_rd(xe, &remote->vmap, 0, u64);
114114
check(retval, expected, "remote first offset should be cleared",
115115
test);
116-
retval = xe_map_rd(xe, &remote->vmap, remote->size - 8, u64);
116+
retval = xe_map_rd(xe, &remote->vmap, xe_bo_size(remote) - 8, u64);
117117
check(retval, expected, "remote last offset should be cleared",
118118
test);
119119
}
120120
dma_fence_put(fence);
121121

122122
/* Try to copy 0xc0 from remote to vram with 2MB or 64KiB/4KiB pages */
123-
xe_map_memset(xe, &remote->vmap, 0, 0xc0, remote->size);
124-
xe_map_memset(xe, &bo->vmap, 0, 0xd0, bo->size);
123+
xe_map_memset(xe, &remote->vmap, 0, 0xc0, xe_bo_size(remote));
124+
xe_map_memset(xe, &bo->vmap, 0, 0xd0, xe_bo_size(bo));
125125

126126
expected = 0xc0c0c0c0c0c0c0c0;
127127
fence = xe_migrate_copy(m, remote, bo, remote->ttm.resource,
@@ -131,15 +131,15 @@ static void test_copy(struct xe_migrate *m, struct xe_bo *bo,
131131
retval = xe_map_rd(xe, &bo->vmap, 0, u64);
132132
check(retval, expected,
133133
"remote -> vram bo first offset should be copied", test);
134-
retval = xe_map_rd(xe, &bo->vmap, bo->size - 8, u64);
134+
retval = xe_map_rd(xe, &bo->vmap, xe_bo_size(bo) - 8, u64);
135135
check(retval, expected,
136136
"remote -> vram bo offset should be copied", test);
137137
}
138138
dma_fence_put(fence);
139139

140140
/* And other way around.. slightly hacky.. */
141-
xe_map_memset(xe, &remote->vmap, 0, 0xd0, remote->size);
142-
xe_map_memset(xe, &bo->vmap, 0, 0xc0, bo->size);
141+
xe_map_memset(xe, &remote->vmap, 0, 0xd0, xe_bo_size(remote));
142+
xe_map_memset(xe, &bo->vmap, 0, 0xc0, xe_bo_size(bo));
143143

144144
fence = xe_migrate_copy(m, bo, remote, bo->ttm.resource,
145145
remote->ttm.resource, false);
@@ -148,7 +148,7 @@ static void test_copy(struct xe_migrate *m, struct xe_bo *bo,
148148
retval = xe_map_rd(xe, &remote->vmap, 0, u64);
149149
check(retval, expected,
150150
"vram -> remote bo first offset should be copied", test);
151-
retval = xe_map_rd(xe, &remote->vmap, bo->size - 8, u64);
151+
retval = xe_map_rd(xe, &remote->vmap, xe_bo_size(bo) - 8, u64);
152152
check(retval, expected,
153153
"vram -> remote bo last offset should be copied", test);
154154
}
@@ -245,9 +245,9 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
245245
if (m->q->vm->flags & XE_VM_FLAG_64K)
246246
expected |= XE_PTE_PS64;
247247
if (xe_bo_is_vram(pt))
248-
xe_res_first(pt->ttm.resource, 0, pt->size, &src_it);
248+
xe_res_first(pt->ttm.resource, 0, xe_bo_size(pt), &src_it);
249249
else
250-
xe_res_first_sg(xe_bo_sg(pt), 0, pt->size, &src_it);
250+
xe_res_first_sg(xe_bo_sg(pt), 0, xe_bo_size(pt), &src_it);
251251

252252
emit_pte(m, bb, NUM_KERNEL_PDE - 1, xe_bo_is_vram(pt), false,
253253
&src_it, XE_PAGE_SIZE, pt->ttm.resource);
@@ -276,7 +276,7 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
276276

277277
/* Clear a small bo */
278278
kunit_info(test, "Clearing small buffer object\n");
279-
xe_map_memset(xe, &tiny->vmap, 0, 0x22, tiny->size);
279+
xe_map_memset(xe, &tiny->vmap, 0, 0x22, xe_bo_size(tiny));
280280
expected = 0;
281281
fence = xe_migrate_clear(m, tiny, tiny->ttm.resource,
282282
XE_MIGRATE_CLEAR_FLAG_FULL);
@@ -286,7 +286,7 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
286286
dma_fence_put(fence);
287287
retval = xe_map_rd(xe, &tiny->vmap, 0, u32);
288288
check(retval, expected, "Command clear small first value", test);
289-
retval = xe_map_rd(xe, &tiny->vmap, tiny->size - 4, u32);
289+
retval = xe_map_rd(xe, &tiny->vmap, xe_bo_size(tiny) - 4, u32);
290290
check(retval, expected, "Command clear small last value", test);
291291

292292
kunit_info(test, "Copying small buffer object to system\n");
@@ -298,7 +298,7 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
298298

299299
/* Clear a big bo */
300300
kunit_info(test, "Clearing big buffer object\n");
301-
xe_map_memset(xe, &big->vmap, 0, 0x11, big->size);
301+
xe_map_memset(xe, &big->vmap, 0, 0x11, xe_bo_size(big));
302302
expected = 0;
303303
fence = xe_migrate_clear(m, big, big->ttm.resource,
304304
XE_MIGRATE_CLEAR_FLAG_FULL);
@@ -308,7 +308,7 @@ static void xe_migrate_sanity_test(struct xe_migrate *m, struct kunit *test)
308308
dma_fence_put(fence);
309309
retval = xe_map_rd(xe, &big->vmap, 0, u32);
310310
check(retval, expected, "Command clear big first value", test);
311-
retval = xe_map_rd(xe, &big->vmap, big->size - 4, u32);
311+
retval = xe_map_rd(xe, &big->vmap, xe_bo_size(big) - 4, u32);
312312
check(retval, expected, "Command clear big last value", test);
313313

314314
kunit_info(test, "Copying big buffer object to system\n");
@@ -370,7 +370,7 @@ static struct dma_fence *blt_copy(struct xe_tile *tile,
370370
struct xe_migrate *m = tile->migrate;
371371
struct xe_device *xe = gt_to_xe(gt);
372372
struct dma_fence *fence = NULL;
373-
u64 size = src_bo->size;
373+
u64 size = xe_bo_size(src_bo);
374374
struct xe_res_cursor src_it, dst_it;
375375
struct ttm_resource *src = src_bo->ttm.resource, *dst = dst_bo->ttm.resource;
376376
u64 src_L0_ofs, dst_L0_ofs;
@@ -498,7 +498,7 @@ static void test_migrate(struct xe_device *xe, struct xe_tile *tile,
498498
long ret;
499499

500500
expected = 0xd0d0d0d0d0d0d0d0;
501-
xe_map_memset(xe, &sys_bo->vmap, 0, 0xd0, sys_bo->size);
501+
xe_map_memset(xe, &sys_bo->vmap, 0, 0xd0, xe_bo_size(sys_bo));
502502

503503
fence = blt_copy(tile, sys_bo, vram_bo, false, "Blit copy from sysmem to vram", test);
504504
if (!sanity_fence_failed(xe, fence, "Blit copy from sysmem to vram", test)) {
@@ -523,7 +523,7 @@ static void test_migrate(struct xe_device *xe, struct xe_tile *tile,
523523

524524
retval = xe_map_rd(xe, &vram_bo->vmap, 0, u64);
525525
check(retval, expected, "Clear evicted vram data first value", test);
526-
retval = xe_map_rd(xe, &vram_bo->vmap, vram_bo->size - 8, u64);
526+
retval = xe_map_rd(xe, &vram_bo->vmap, xe_bo_size(vram_bo) - 8, u64);
527527
check(retval, expected, "Clear evicted vram data last value", test);
528528

529529
fence = blt_copy(tile, vram_bo, ccs_bo,
@@ -532,7 +532,7 @@ static void test_migrate(struct xe_device *xe, struct xe_tile *tile,
532532
retval = xe_map_rd(xe, &ccs_bo->vmap, 0, u64);
533533
check(retval, 0, "Clear ccs data first value", test);
534534

535-
retval = xe_map_rd(xe, &ccs_bo->vmap, ccs_bo->size - 8, u64);
535+
retval = xe_map_rd(xe, &ccs_bo->vmap, xe_bo_size(ccs_bo) - 8, u64);
536536
check(retval, 0, "Clear ccs data last value", test);
537537
}
538538
dma_fence_put(fence);
@@ -562,15 +562,15 @@ static void test_migrate(struct xe_device *xe, struct xe_tile *tile,
562562

563563
retval = xe_map_rd(xe, &vram_bo->vmap, 0, u64);
564564
check(retval, expected, "Restored value must be equal to initial value", test);
565-
retval = xe_map_rd(xe, &vram_bo->vmap, vram_bo->size - 8, u64);
565+
retval = xe_map_rd(xe, &vram_bo->vmap, xe_bo_size(vram_bo) - 8, u64);
566566
check(retval, expected, "Restored value must be equal to initial value", test);
567567

568568
fence = blt_copy(tile, vram_bo, ccs_bo,
569569
true, "Blit surf copy from vram to sysmem", test);
570570
if (!sanity_fence_failed(xe, fence, "Clear ccs buffer data", test)) {
571571
retval = xe_map_rd(xe, &ccs_bo->vmap, 0, u64);
572572
check(retval, 0, "Clear ccs data first value", test);
573-
retval = xe_map_rd(xe, &ccs_bo->vmap, ccs_bo->size - 8, u64);
573+
retval = xe_map_rd(xe, &ccs_bo->vmap, xe_bo_size(ccs_bo) - 8, u64);
574574
check(retval, 0, "Clear ccs data last value", test);
575575
}
576576
dma_fence_put(fence);
@@ -583,7 +583,7 @@ static void test_clear(struct xe_device *xe, struct xe_tile *tile,
583583
u64 expected, retval;
584584

585585
expected = 0xd0d0d0d0d0d0d0d0;
586-
xe_map_memset(xe, &sys_bo->vmap, 0, 0xd0, sys_bo->size);
586+
xe_map_memset(xe, &sys_bo->vmap, 0, 0xd0, xe_bo_size(sys_bo));
587587

588588
fence = blt_copy(tile, sys_bo, vram_bo, false, "Blit copy from sysmem to vram", test);
589589
if (!sanity_fence_failed(xe, fence, "Blit copy from sysmem to vram", test)) {
@@ -597,7 +597,7 @@ static void test_clear(struct xe_device *xe, struct xe_tile *tile,
597597
if (!sanity_fence_failed(xe, fence, "Blit copy from vram to sysmem", test)) {
598598
retval = xe_map_rd(xe, &sys_bo->vmap, 0, u64);
599599
check(retval, expected, "Decompressed value must be equal to initial value", test);
600-
retval = xe_map_rd(xe, &sys_bo->vmap, sys_bo->size - 8, u64);
600+
retval = xe_map_rd(xe, &sys_bo->vmap, xe_bo_size(sys_bo) - 8, u64);
601601
check(retval, expected, "Decompressed value must be equal to initial value", test);
602602
}
603603
dma_fence_put(fence);
@@ -615,7 +615,7 @@ static void test_clear(struct xe_device *xe, struct xe_tile *tile,
615615
if (!sanity_fence_failed(xe, fence, "Clear main buffer data", test)) {
616616
retval = xe_map_rd(xe, &sys_bo->vmap, 0, u64);
617617
check(retval, expected, "Clear main buffer first value", test);
618-
retval = xe_map_rd(xe, &sys_bo->vmap, sys_bo->size - 8, u64);
618+
retval = xe_map_rd(xe, &sys_bo->vmap, xe_bo_size(sys_bo) - 8, u64);
619619
check(retval, expected, "Clear main buffer last value", test);
620620
}
621621
dma_fence_put(fence);
@@ -625,7 +625,7 @@ static void test_clear(struct xe_device *xe, struct xe_tile *tile,
625625
if (!sanity_fence_failed(xe, fence, "Clear ccs buffer data", test)) {
626626
retval = xe_map_rd(xe, &sys_bo->vmap, 0, u64);
627627
check(retval, expected, "Clear ccs data first value", test);
628-
retval = xe_map_rd(xe, &sys_bo->vmap, sys_bo->size - 8, u64);
628+
retval = xe_map_rd(xe, &sys_bo->vmap, xe_bo_size(sys_bo) - 8, u64);
629629
check(retval, expected, "Clear ccs data last value", test);
630630
}
631631
dma_fence_put(fence);

drivers/gpu/drm/xe/xe_bo.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ static struct ttm_tt *xe_ttm_tt_create(struct ttm_buffer_object *ttm_bo,
437437

438438
extra_pages = 0;
439439
if (xe_bo_needs_ccs_pages(bo))
440-
extra_pages = DIV_ROUND_UP(xe_device_ccs_bytes(xe, bo->size),
440+
extra_pages = DIV_ROUND_UP(xe_device_ccs_bytes(xe, xe_bo_size(bo)),
441441
PAGE_SIZE);
442442

443443
/*
@@ -1122,7 +1122,7 @@ int xe_bo_notifier_prepare_pinned(struct xe_bo *bo)
11221122
if (bo->flags & XE_BO_FLAG_PINNED_NORESTORE)
11231123
goto out_unlock_bo;
11241124

1125-
backup = ___xe_bo_create_locked(xe, NULL, NULL, bo->ttm.base.resv, NULL, bo->size,
1125+
backup = ___xe_bo_create_locked(xe, NULL, NULL, bo->ttm.base.resv, NULL, xe_bo_size(bo),
11261126
DRM_XE_GEM_CPU_CACHING_WB, ttm_bo_type_kernel,
11271127
XE_BO_FLAG_SYSTEM | XE_BO_FLAG_NEEDS_CPU_ACCESS |
11281128
XE_BO_FLAG_PINNED);
@@ -1200,7 +1200,8 @@ int xe_bo_evict_pinned(struct xe_bo *bo)
12001200
goto out_unlock_bo;
12011201

12021202
if (!backup) {
1203-
backup = ___xe_bo_create_locked(xe, NULL, NULL, bo->ttm.base.resv, NULL, bo->size,
1203+
backup = ___xe_bo_create_locked(xe, NULL, NULL, bo->ttm.base.resv,
1204+
NULL, xe_bo_size(bo),
12041205
DRM_XE_GEM_CPU_CACHING_WB, ttm_bo_type_kernel,
12051206
XE_BO_FLAG_SYSTEM | XE_BO_FLAG_NEEDS_CPU_ACCESS |
12061207
XE_BO_FLAG_PINNED);
@@ -1254,7 +1255,7 @@ int xe_bo_evict_pinned(struct xe_bo *bo)
12541255
}
12551256

12561257
xe_map_memcpy_from(xe, backup->vmap.vaddr, &bo->vmap, 0,
1257-
bo->size);
1258+
xe_bo_size(bo));
12581259
}
12591260

12601261
if (!bo->backup_obj)
@@ -1347,7 +1348,7 @@ int xe_bo_restore_pinned(struct xe_bo *bo)
13471348
}
13481349

13491350
xe_map_memcpy_to(xe, &bo->vmap, 0, backup->vmap.vaddr,
1350-
bo->size);
1351+
xe_bo_size(bo));
13511352
}
13521353

13531354
bo->backup_obj = NULL;
@@ -1558,7 +1559,7 @@ static int xe_ttm_access_memory(struct ttm_buffer_object *ttm_bo,
15581559

15591560
vram = res_to_mem_region(ttm_bo->resource);
15601561
xe_res_first(ttm_bo->resource, offset & PAGE_MASK,
1561-
bo->size - (offset & PAGE_MASK), &cursor);
1562+
xe_bo_size(bo) - (offset & PAGE_MASK), &cursor);
15621563

15631564
do {
15641565
unsigned long page_offset = (offset & ~PAGE_MASK);
@@ -1858,7 +1859,6 @@ struct xe_bo *___xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
18581859

18591860
bo->ccs_cleared = false;
18601861
bo->tile = tile;
1861-
bo->size = size;
18621862
bo->flags = flags;
18631863
bo->cpu_caching = cpu_caching;
18641864
bo->ttm.base.funcs = &xe_gem_object_funcs;
@@ -2036,7 +2036,7 @@ __xe_bo_create_locked(struct xe_device *xe,
20362036

20372037
if (flags & XE_BO_FLAG_FIXED_PLACEMENT) {
20382038
err = xe_ggtt_insert_bo_at(t->mem.ggtt, bo,
2039-
start + bo->size, U64_MAX);
2039+
start + xe_bo_size(bo), U64_MAX);
20402040
} else {
20412041
err = xe_ggtt_insert_bo(t->mem.ggtt, bo);
20422042
}
@@ -2234,7 +2234,7 @@ int xe_managed_bo_reinit_in_vram(struct xe_device *xe, struct xe_tile *tile, str
22342234
xe_assert(xe, !(*src)->vmap.is_iomem);
22352235

22362236
bo = xe_managed_bo_create_from_data(xe, tile, (*src)->vmap.vaddr,
2237-
(*src)->size, dst_flags);
2237+
xe_bo_size(*src), dst_flags);
22382238
if (IS_ERR(bo))
22392239
return PTR_ERR(bo);
22402240

@@ -2524,7 +2524,7 @@ int xe_bo_vmap(struct xe_bo *bo)
25242524
* TODO: Fix up ttm_bo_vmap to do that, or fix up ttm_bo_kmap
25252525
* to use struct iosys_map.
25262526
*/
2527-
ret = ttm_bo_kmap(&bo->ttm, 0, bo->size >> PAGE_SHIFT, &bo->kmap);
2527+
ret = ttm_bo_kmap(&bo->ttm, 0, xe_bo_size(bo) >> PAGE_SHIFT, &bo->kmap);
25282528
if (ret)
25292529
return ret;
25302530

drivers/gpu/drm/xe/xe_bo.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,19 @@ xe_bo_main_addr(struct xe_bo *bo, size_t page_size)
238238
return xe_bo_addr(bo, 0, page_size);
239239
}
240240

241+
/**
242+
* xe_bo_size() - Xe BO size
243+
* @bo: The bo object.
244+
*
245+
* Simple helper to return Xe BO's size.
246+
*
247+
* Return: Xe BO's size
248+
*/
249+
static inline size_t xe_bo_size(struct xe_bo *bo)
250+
{
251+
return bo->ttm.base.size;
252+
}
253+
241254
static inline u32
242255
__xe_bo_ggtt_addr(struct xe_bo *bo, u8 tile_id)
243256
{
@@ -246,7 +259,7 @@ __xe_bo_ggtt_addr(struct xe_bo *bo, u8 tile_id)
246259
if (XE_WARN_ON(!ggtt_node))
247260
return 0;
248261

249-
XE_WARN_ON(ggtt_node->base.size > bo->size);
262+
XE_WARN_ON(ggtt_node->base.size > xe_bo_size(bo));
250263
XE_WARN_ON(ggtt_node->base.start + ggtt_node->base.size > (1ull << 32));
251264
return ggtt_node->base.start;
252265
}
@@ -300,7 +313,7 @@ bool xe_bo_needs_ccs_pages(struct xe_bo *bo);
300313

301314
static inline size_t xe_bo_ccs_pages_start(struct xe_bo *bo)
302315
{
303-
return PAGE_ALIGN(bo->ttm.base.size);
316+
return PAGE_ALIGN(xe_bo_size(bo));
304317
}
305318

306319
static inline bool xe_bo_has_pages(struct xe_bo *bo)

drivers/gpu/drm/xe/xe_bo_types.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ struct xe_bo {
3232
struct xe_bo *backup_obj;
3333
/** @parent_obj: Ref to parent bo if this a backup_obj */
3434
struct xe_bo *parent_obj;
35-
/** @size: Size of this buffer object */
36-
size_t size;
3735
/** @flags: flags for this buffer object */
3836
u32 flags;
3937
/** @vm: VM this BO is attached to, for extobj this will be NULL */

0 commit comments

Comments
 (0)