[Intel-xe] [PATCH 1/2] drm/xe/xe2: Update LNL platform to support device page faults
Matthew Brost
matthew.brost at intel.com
Wed Nov 29 11:12:16 UTC 2023
On Tue, Nov 28, 2023 at 01:36:33PM -0800, Brian Welty wrote:
> LNL is first integrated platform to support device pagefaults.
Nit rather than mention LNL here maybe just say support faults on
integrated platforms.
Other than that, LGTM:
Reviewed-by: Matthew Brost <matthew.brost at intel.com>
> As we have no VRAM, changes needed to support LNL are:
> - device pagefault handler should not attempt to migrate into VRAM
> - update xe_migrate_prepare_vm() to use the usm batch buffer even
> for servicing device page faults on integrated platforms
>
> Signed-off-by: Brian Welty <brian.welty at intel.com>
> ---
> drivers/gpu/drm/xe/xe_gt_pagefault.c | 2 +-
> drivers/gpu/drm/xe/xe_migrate.c | 7 +++++--
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c b/drivers/gpu/drm/xe/xe_gt_pagefault.c
> index 03c1ab0ab0ca..959ea50c04db 100644
> --- a/drivers/gpu/drm/xe/xe_gt_pagefault.c
> +++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c
> @@ -105,7 +105,7 @@ static int xe_pf_begin(struct drm_exec *exec, struct xe_vma *vma,
> if (err)
> return err;
>
> - if (atomic) {
> + if (atomic && IS_DGFX(vm->xe)) {
> if (xe_vma_is_userptr(vma)) {
> err = -EACCES;
> return err;
> diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
> index 80a130beca61..e8b567708ac0 100644
> --- a/drivers/gpu/drm/xe/xe_migrate.c
> +++ b/drivers/gpu/drm/xe/xe_migrate.c
> @@ -215,10 +215,13 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,
> }
>
> if (!IS_DGFX(xe)) {
> - xe_tile_assert(tile, !xe->info.supports_usm);
> -
> /* Write out batch too */
> m->batch_base_ofs = NUM_PT_SLOTS * XE_PAGE_SIZE;
> + if (xe->info.supports_usm) {
> + batch = tile->primary_gt->usm.bb_pool->bo;
> + m->usm_batch_base_ofs = m->batch_base_ofs;
> + }
> +
> for (i = 0; i < batch->size;
> i += vm->flags & XE_VM_FLAG_64K ? XE_64K_PAGE_SIZE :
> XE_PAGE_SIZE) {
> --
> 2.38.0
>
More information about the Intel-xe
mailing list