Commit e89b384
drm/xe/migrate: Update emit_pte to cope with a size level than 4k
emit_pte assumes the size argument is 4k aligned, this may not be true
for the PTEs emitted for CSS as seen by below call stack:
[ 56.734228] xe_migrate_copy:585: size=327680, ccs_start=327680, css_size=1280,4096
[ 56.734250] xe_migrate_copy:643: size=262144
[ 56.734252] emit_pte:404: ptes=64
[ 56.734255] emit_pte:418: chunk=64
[ 56.734257] xe_migrate_copy:650: size=1024 @ CCS emit PTE
[ 56.734259] emit_pte:404: ptes=1
[ 56.734261] emit_pte:418: chunk=1
[ 56.734339] xe_migrate_copy:643: size=65536
[ 56.734342] emit_pte:404: ptes=16
[ 56.734344] emit_pte:418: chunk=16
[ 56.734346] xe_migrate_copy:650: size=256 # CCS emit PTE
[ 56.734348] emit_pte:404: ptes=1
[ 56.734350] emit_pte:418: chunk=1
[ 56.734352] xe_res_next:174: size=4096, remaining=0
Update emit_pte to handle sizes less than 4k.
Signed-off-by: Matthew Brost <[email protected]>
Reviewed-by: Thomas Hellström <[email protected]>
Signed-off-by: Rodrigo Vivi <[email protected]>1 parent c5151fa commit e89b384
1 file changed
+6
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
456 | | - | |
457 | | - | |
| 456 | + | |
458 | 457 | | |
459 | | - | |
460 | | - | |
461 | 458 | | |
462 | 459 | | |
463 | 460 | | |
| |||
466 | 463 | | |
467 | 464 | | |
468 | 465 | | |
469 | | - | |
470 | | - | |
471 | 466 | | |
472 | 467 | | |
473 | 468 | | |
474 | 469 | | |
475 | 470 | | |
476 | | - | |
| 471 | + | |
477 | 472 | | |
478 | 473 | | |
479 | 474 | | |
| |||
615 | 610 | | |
616 | 611 | | |
617 | 612 | | |
618 | | - | |
| 613 | + | |
619 | 614 | | |
620 | | - | |
| 615 | + | |
621 | 616 | | |
622 | | - | |
| 617 | + | |
623 | 618 | | |
624 | | - | |
| 619 | + | |
625 | 620 | | |
626 | 621 | | |
627 | 622 | | |
| |||
0 commit comments