• Matthew Auld's avatar
    drm/xe/ppgtt: fix scratch page usage on DG2 · b1e52b65
    Matthew Auld authored
    On DG2 when running the xe_vm IGT, the kernel generates loads of CAT
    errors and GT resets (sometimes at least).  On small-bar systems seems
    to trigger a lot more easily (maybe due to difference in allocation
    strategy). Appears to be related to scratch, since we seem to use the
    64K TLB hint on scratch entries, even though the scratch page is a 4K
    vram page. Bumping the scratch page size and physical alignment seems
    to fix it. Or at least we no longer hit:
    
    [  148.872683] xe 0000:03:00.0: [drm] Engine memory cat error: guc_id=0
    [  148.872701] xe 0000:03:00.0: [drm] Engine memory cat error: guc_id=0
    [  148.875108] WARNING: CPU: 0 PID: 953 at drivers/gpu/drm/xe/xe_guc_submit.c:797
    
    However to keep things simple, so we don't have to deal with 64K TLB
    hints, just move the scratch page into system memory on platforms that
    require 64K VRAM pages.
    Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
    Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
    Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    b1e52b65
xe_pt.c 43.4 KB